]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* po/README: Add instructions for creating po/LINGUAS.
[grub2.git] / ChangeLog
1 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2
3 * po/README: Add instructions for creating po/LINGUAS.
4
5 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
6
7 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
8 #551428.
9
10 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
12 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
13 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
14 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
15 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
16 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
17 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
19 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
20 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
21 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
22 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
23 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
24 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
25 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
26 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
27 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
28 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
29 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
30 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
31 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
32
33 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
34
35 * grub-core/kern/emu/getroot.c
36 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
37 test that was incorrectly reintroduced in r3214.
38 Reported by: Ian Dall. Fixes Savannah bug #33133.
39
40 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
41
42 Fix stack pointer handling in 16-bit relocator.
43
44 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
45 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
46 Fixes Ubuntu bug #683904.
47
48 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * configure.ac: Bump version to 1.99~rc2.
51
52 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
55 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
56 * grub-core/lib/x86_64/setjmp.S: Likewise.
57 * grub-core/lib/mips/setjmp.S: Likewise.
58 * grub-core/lib/powerpc/setjmp.S: Likewise.
59 * grub-core/lib/sparc64/setjmp.S: Likewise.
60
61 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
64 * grub-core/lib/efi/datetime.c: Likewise.
65
66 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
69 New function.
70 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
71 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
72 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
73
74 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
77 bitmap.
78 (grub_gfxterm_term_init): Likewise.
79
80 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
81
82 Take into account the decorations the computing menu entry width.
83
84 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
85 (grub_gfxmenu_create_box): Register get_border_width.
86 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
87 if available.
88 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
89 get_border_width.
90
91 2011-04-18 Endres Puschner <code@e7p.de>
92
93 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
94 Don't skip first class.
95
96 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
99 chunks.
100 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
101
102 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
103
104 Complete 64-bit division support.
105
106 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
107 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
108 * include/grub/misc.h (grub_divmod64): Rename to ...
109 (grub_divmod64_full): ... this.
110 (grub_divmod64): New inline function.
111
112 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * util/grub-mkimage.c (generate_image): Add forgotten comma.
115
116 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
119 performing the necessary test.
120
121 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
124 (kfreebsd.elf): Likewise.
125 (pc-chainloader.elf): Likewise.
126 (ntldr.elf): Likewise.
127
128 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
129
130 Identify RAID by its UUID rather than (guessed) name.
131
132 * grub-core/disk/raid.c (ascii2hex): New function.
133 (grub_raid_open): Accept mduuid/%s specification.
134 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
135 (get_mdadm_uuid): ... this.
136 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
137
138 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
141 to negative size.
142
143 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
144
145 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
146 btrfs subvolume.
147 * util/grub.d/20_linux_xen.in: Likewise.
148
149 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
150
151 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
152 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
153
154 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
155 Build a list of relevant visible mounts using the mnt_id and
156 parent_mnt_id fields, and then scan that list at the end.
157
158 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
159
160 * docs/grub.texi (normal): New section.
161 (normal_exit): New section.
162 (Embedded configuration): Add reference to normal.
163 (GRUB only offers a rescue shell): Likewise.
164 * docs/grub-dev.texi (Error Handling): Fix typo.
165
166 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
167
168 * NEWS: Drop obsolete entry about probe-only btrfs support.
169
170 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
171
172 * util/import_gcry.py: Fix typo.
173
174 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * NEWS: Add btrfs support.
177
178 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
179 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
180
181 BtrFS support. Written by me (Vladimir) with important bugfixes and
182 even more important testing by Colin.
183
184 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
185 * grub-core/Makefile.core.def (btrfs): Add crc.c.
186 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
187 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
188 mem_input_off and mem_input. All users updated to accept in-RAM input.
189 (gzio_seek): New function.
190 (test_zlib_header): Likewise.
191 (grub_gzio_read): Likewise.
192 (grub_zlib_decompress): Likewise.
193 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
194 Accept partial and non-virtual mounts.
195 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
196 avoid receiving /dev/dm-X as device.
197 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
198 Handle bind and partial mounts.
199 * grub-core/lib/crc.c: New file.
200 * include/grub/deflate.h: Likewise.
201 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
202 proto.
203 * include/grub/lib/crc.h: New file.
204
205 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
206
207 Implement automatic module license checking according to new GNU
208 guidelines.
209
210 * grub-core/kern/dl.c (grub_dl_check_license): New function.
211 (grub_dl_load_core): Use grub_dl_check_license.
212 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
213 (GRUB_MOD_LICENSE): Likewise.
214 (GRUB_MOD_DUAL_LICENSE): Likewise.
215 All modules updated.
216
217 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
218
219 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
220 reserved_first_sector to 1. btrfs reserves plenty of space for boot
221 loaders.
222 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
223
224 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
227
228 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * util/grub-fstest.c (read_file): Report GRUB error if file opening
231 failed.
232
233 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * grub-core/kern/file.c (grub_file_open): Don't take into account the
236 parenthesis in the middle of the filename.
237
238 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
241 rather than trying to put initrd way too high.
242 Reported by: Ryan Lortie <desrt@desrt.ca>
243
244 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
247 improperly removed string.
248
249 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
252 is_disk.
253 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
254 (open_device) Likewise.
255 (grub_util_biosdisk_close): Likewise.
256 Reported by: Mark Korenberger.
257
258 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
259
260 * util/grub-mkconfig_lib.in: Add missing quotes.
261
262 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
263
264 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
265 is NULL.
266
267 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
268
269 Dynamically count the number of lines for the lower banner.
270
271 * grub-core/normal/menu_entry.c (per_term_screen): New member
272 num_entries.
273 (print_down): Use num_entries.
274 (update_screen): Likewise.
275 (grub_menu_entry_run): Set num_entries.
276 * grub-core/normal/menu_text.c (menu_viewer_data): New member
277 num_entries.
278 (grub_print_message_indented): Move real part to ...
279 (grub_print_message_indented_real): ... here. Additional argument
280 dry_run.
281 (draw_border): Additional argument num_entries.
282 (print_message): Additional argument dry_run.
283 (print_entries): Receive menu viewer data.
284 (grub_menu_init_page): New argment num_entries.
285 (menu_text_set_chosen_entry): Use num_entries.
286 (grub_menu_try_text): Likewise.
287 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
288 All users updated.
289 (grub_ucs4_count_lines): New function.
290 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
291 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
292 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
293 (grub_term_border_height): Likewise.
294 (grub_term_num_entries): Likewise.
295
296 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
299 Remove now unused string.
300
301 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
302
303 * docs/grub-dev.texi (Finding your way around): Update for 1.99
304 build system.
305 (Getting started): GRUB is developed in Bazaar now, not Subversion.
306
307 (Comment): Fix typo.
308 (Getting started): General copy-editing.
309 (Typical Development Experience): Likewise.
310 (Error Handling): Likewise.
311 (Video API): Likewise.
312
313 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
314
315 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
316 throughout.
317
318 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * util/grub-mkimage.c (main): Handle special naming of yeeloong
321 directory.
322
323 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
324
325 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
326 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
327 "development".
328
329 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
332 grub_strcpy since the lines aren't necessarily 0-terminated.
333
334 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
337 root on legacy.
338
339 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/commands/probe.c (options): Argument to set isn't optional.
342 (GRUB_MOD_INIT): DEVICE isn't optional.
343
344 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
347 word on new line if it's too long anyway. Fixes a hang.
348
349 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
350
351 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
352 const.
353 * util/grub-setup.c (main): Reuse md device name if available.
354 * util/raid.c (grub_util_raid_getmembers): Receive device name and
355 not GRUB name as argument.
356 Based on patch by: Florian Wagner <fwagner>.
357
358 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
361 Place mbi on low memory for better compatibility.
362
363 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
366
367 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
368 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
369
370 * autogen.sh: Ensure that collate and ctype locale is C.
371 * conf/Makefile.common: Likewise.
372
373 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * grub-core/normal/menu.c: Add missing include.
376
377 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
380
381 2011-04-08 Martin Zuther <mzuther@mzuther.de>
382
383 * util/grub-mkconfig.in: Ignore emacsen backup.
384
385 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
386
387 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
388 on open.
389 (grub_util_biosdisk_close): Likewise.
390
391 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
394 const attribute and use grub_isdigit.
395
396 2011-04-06 Andrey <dev_null@ukr.net>
397
398 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
399 gcc warning.
400
401 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
404 useful grub_dprintf's.
405
406 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
409
410 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
413
414 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
415
416 Output errors if theme loading failed.
417
418 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
419 grub_gfxterm_fullscreen on error paths to ...
420 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
421 theme loading error.
422
423 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
426 space for older compilers.
427 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
428
429 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
432 and report them as not RAID members since they are useless for GRUB.
433 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
434
435 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
436
437 Increase LVM implementation robustness in order not to crash on
438 configurations like pvmove. Previously code assumed that in some places
439 only lvs or only pvs are used whereas it seems that they are used
440 interchangeably.
441
442 * grub-core/disk/lvm.c (read_node): New function.
443 (read_lv): Use read_node.
444 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
445 Match volumes only at the end when all lvs are found. Take both
446 pvs (first) and lvs (second) into account.
447 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
448 mirror_* into node_*. All users updated.
449 (grub_lvm_stripe): Merge this ...
450 (grub_lvm_mirror): ... and this ...
451 (grub_lvm_node): ... into this. All users updated.
452
453 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
456 of function to allow further scanning for LVMs.
457
458 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
461 on failed seek as it breaks open fd reusage.
462
463 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * util/grub-install.in: Add a recommendation to use --recheck before
466 reporting bugs.
467
468 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
471 are obtained.
472
473 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
474
475 GRUB developper manual based on existing Internals section and
476 contributions by the various authors with active copyright assignment.
477
478 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
479 * docs/font_char_metrics.png: New file.
480 * docs/font_char_metrics.txt: Likewise.
481 * docs/grub-dev.texi: Likewise.
482 * docs/grub.texi (Internals): Move from here ...
483 * docs/grub-dev.texi: ... here.
484
485 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
486
487 Store the loopback device as data on loopback grub_disk structures,
488 rather than the file it points to. This fixes use of freed memory
489 if an existing loopback device is replaced.
490
491 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
492 disk->data, not dev->file.
493 (grub_loopback_read): Adjust file assignment to match.
494 Fixes Ubuntu bug #742967.
495
496 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
497
498 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
499 when replacing an existing device.
500
501 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
502
503 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
504 memory corruptions.
505
506 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
507 unsigned.
508 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
509 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
510 (grub_jfs_read_inode): Likewise.
511 (grub_jfs_opendir): Likewise. Remove now useless casts.
512 (grub_jfs_getent): Likewise.
513 Make ino a grub_uint32_t rather than int.
514 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
515 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
516 division and module with bit operations.
517 (grub_jfs_find_file): Make ino a grub_uint32_t.
518 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
519
520 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
521
522 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
523 warning. (This was in fact always initialised before use, but GCC
524 wasn't smart enough to prove that.)
525 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
526
527 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
530 stack alignment.
531 (efi_wrap_1): Likewise.
532 (efi_wrap_2): Likewise.
533 (efi_wrap_3): Likewise.
534 (efi_wrap_4): Likewise.
535 (efi_wrap_5): Likewise.
536 (efi_wrap_6): Likewise.
537 (efi_wrap_10): Likewise.
538 Based on information by: Red Hat/Peter Jones.
539
540 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
541
542 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
543 set-but-not-used variable.
544
545 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
546
547 * docs/grub.texi (Simple configuration): Be more explicit about
548 GRUB_DEFAULT, and add an example.
549 Reported by: Leslie Rhorer.
550
551 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
552
553 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
554 shell".
555
556 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
557
558 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
559 * util/grub.d/20_linux_xen.in: Likewise.
560
561 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * util/grub.d/10_linux.in: Try alternative config filenames where
564 we parse config file.
565 * util/grub.d/20_linux_xen.in: Likewise.
566
567 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
568
569 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
570 * util/grub.d/20_linux_xen.in: Likewise.
571
572 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * grub-core/disk/raid.c (insert_array): Add few potentially
575 useful grub_util_info.
576 (grub_raid_register): Likewise.
577
578 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
581 Preserve partition number in mdadm code path.
582
583 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
586 few potentially useful grub_util_info.
587
588 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
591
592 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
593
594 * docs/grub.texi (default): Use @example rather than nested
595 itemized lists to avoid breaking gendocs.
596
597 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
598
599 * docs/grub.texi (Future): Update.
600
601 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
602
603 * docs/grub.texi (Environment): New chapter.
604 (Changes from GRUB Legacy): Link to "Environment block" section for
605 details of limitations.
606 (Simple configuration): Likewise. Link to documentation of gfxmode
607 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
608 respectively.
609 (Shell-like scripting): Note that normal variables are stored in the
610 environment.
611 (gettext): Link to documentation of lang and locale_dir.
612 (list_env): New section.
613 (load_env): New section.
614 (save_env): New section.
615
616 (Reporting bugs): Fix typo.
617
618 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
621 the example.
622
623 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * grub-core/term/at_keyboard.c (set_scancodes)
626 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
627
628 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
629
630 * docs/grub.texi (Menu-specific commands): Remove some semantics
631 that were true in GRUB Legacy but not in GRUB 2.
632 (submenu): New section.
633 (false): New section.
634 (read): New section.
635 (true): New section.
636
637 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
638
639 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
640
641 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
642
643 * docs/grub.texi (Simple configuration): Explain some of the
644 current limitations of grub-mkconfig.
645 Reported by: Leslie Rhorer.
646
647 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
648
649 Old macs search for boot.efi rather than for bootia32.efi.
650
651 * util/grub-install.in: Copy bootia32.efi to boot.efi.
652 * util/grub-mkrescue.in: Likewise.
653 Suggested by: Peter Jones.
654
655 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
658
659 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
662 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
663 (grub_lvm_mirror): New struct.
664 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
665 (grub_lvm_iterate): Iterate only visible volumes.
666 (grub_lvm_read): Factor out to ..
667 (read_lv): ... this. Support mirrors.
668 (grub_lvm_read): New wrapper function.
669 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
670 stripped or mirrored.
671
672 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
675
676 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
677
678 * docs/grub.texi (loopback): New section.
679
680 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
681
682 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
683 removed -p option.
684
685 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
686
687 * docs/grub.texi (BIOS installation): New section, partly based on
688 previous text in other sections.
689 (Installing GRUB using grub-install): Replace BIOS discussion with a
690 cross-reference.
691 (Images): Likewise.
692
693 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * grub-core/kern/emu/hostdisk.c (find_partition_start)
696 [HAVE_DIOCGDINFO]: Add safety checks.
697
698 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
701 per default compiled in kernel and prior to 8.0 isn't shipped at all.
702
703 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
704
705 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
706 real_sb->size is zero (e.g. RAID-0), get the disk size from
707 real_sb->data_size instead.
708 Fixes Ubuntu bug #743136.
709
710 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
713 printf clauses for printing size and start.
714
715 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
718 Reported and tested by: Timothy Nikkel.
719
720 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
723 (dirty_region_add_real): ... this.
724 (dirty_region_add): Don't discard margin refresh when performing
725 scheduled repaint.
726
727 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * grub-core/lib/relocator.c (allocate_regstart)
730 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
731 terminals are capabple of malloc-free operation.
732 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
733 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
734
735 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
736
737 * util/grub-setup.c: Copy the partition table zone if floppy support
738 is disabled, even if no partition table is found.
739
740 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
741 during POST if an invalid partition table is contained in the PBR
742 of the active partition when GRUB is installed to a partition.
743
744 2011-03-28 Colin Watson <cjwatson@debian.org>
745
746 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
747 comment.
748
749 2011-03-28 Colin Watson <cjwatson@debian.org>
750
751 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
752 to be specific about what kind of RAID device we're scanning for.
753
754 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
755
756 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
757 return freed string.
758
759 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
762
763 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
764
765 Use libgeom on FreeBSD to detect partitions.
766
767 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
768 (grub-mkrelpath): Likewise.
769 (grub-script-check): Likewise.
770 (grub-editenv): Likewise.
771 (grub-mkpasswd-pbkdf2): Likewise.
772 (grub-fstest): Likewise.
773 (grub-mkfont): Likewise.
774 (grub-mkdevicemap): Likewise.
775 (grub-probe): Likewise.
776 (grub-setup): Likewise.
777 (grub-ofpathname): Likewise.
778 (grub-mklayout): Likewise.
779 (example_unit_test): Likewise.
780 (grub-menulst2cfg): Likewise.
781 * grub-core/Makefile.core.def (grub-emu): Likewise.
782 (grub-emu-lite): Likewise.
783 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
784 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
785 define HAVE_DIOCGDINFO.
786 (follow_geom_up) [FreeBSD]: New function.
787 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
788 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
789 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
790 unconditionally of HAVE_DIOCGDINFO.
791
792 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
793
794 Fix FreeBSD compilation problem.
795
796 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
797 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
798
799 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
800
801 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
802 Switch back to page zero before loading a kernel, since some kernel
803 drivers expect that.
804 Thanks to: Felix Kuehling.
805
806 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
809 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
810 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
811
812 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
815 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
816
817 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
820 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
821 malloc is disabled.
822
823 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
826 for modules headers when counting the needed allocation size.
827
828 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
831 if no ASCII character is found to prevent crash.
832
833 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
834
835 * grub-core/video/bitmap.c (match_extension): Ignore case.
836
837 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
840
841 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * grub-core/script/parser.y: Declare "time" as valid argument.
844
845 2011-03-23 Peter Jones <pjones@redhat.com>
846
847 Fix incorrect assert failure reporting.
848
849 * grub-core/tests/example_functional_test.c (example_test): Add
850 a failure comment.
851 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
852 (failure_start): ...this. Check that malloc succeeded.
853 Don't call xvasprintf. Return failure struct.
854 (failure_append_vtext): New function.
855 (failure_append_text): Likewise.
856 (add_failure): Likewise.
857 (grub_test_assert_helper): Likewise.
858 * include/grub/test.h (grub_test_assert_helper): New declaration.
859 (grub_test_assert): Macro rewritten.
860
861 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
864
865 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
868
869 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
872 into GRUB-style one.
873
874 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
875
876 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
877 error and not grub_errno.
878 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
879
880 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
883 GRUB_USB_SPEED_NONE in case of failure and not the error code.
884
885 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/efiemu/i386/pc/cfgtables.c
888 (grub_machine_efiemu_init_tables): Make declaration a prototype.
889 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
890 (grub_xnu_unlock): Likewise.
891 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
892
893 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
894
895 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
896 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
897 * grub-core/commands/hashsum.c (aliases): Likewise.
898 * grub-core/commands/setpci.c (pci_registers): Likewise.
899 * grub-core/disk/usbms.c (attach_hook): Likewise.
900 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
901 (zio_checksum_table): Likewise.
902 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
903 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
904 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
905 * grub-core/lib/relocator.c (leftovers): Likewise.
906 (extra_blocks): Likewise.
907 * grub-core/loader/i386/bsd.c (relocator): Likewise.
908 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
909 (modules_last): Likewise.
910 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
911 (devices): Likewise.
912 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
913 (modules_last): Likewise.
914 * grub-core/normal/auth.c (users): Likewise.
915 * grub-core/normal/context.c (initial_menu): Likewise.
916 (current_menu): Likewise.
917 * grub-core/normal/crypto.c (crypto_specs): Likewise.
918 * grub-core/term/serial.c (grub_serial_ports): Likewise.
919 (grub_serial_terminfo_input_template): Likewise.
920 (grub_serial_terminfo_output_template): Likewise.
921 (grub_serial_terminfo_input): Likewise.
922 (grub_serial_terminfo_output): Likewise.
923 (registered): Likewise.
924 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
925
926 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
927
928 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
929 grub_video_mode_type_t.
930 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
931 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
932 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
933
934 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
935
936 * util/grub-install.in: Correct the x86-64 name as x86_64.
937
938 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
939
940 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
941 initial chunk read from the kernel always includes GRUB's multiboot
942 header, which is now outside the first sector.
943
944 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
945
946 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
947 cached mmap_size, so that this works correctly when called multiple
948 times.
949 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
950
951 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
952
953 * docs/grub.texi (Simple configuration): Tidy up formatting.
954
955 2011-03-07 Szymon Janc <szymon@janc.net.pl>
956
957 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
958 Set-but-not-used variable removed.
959
960 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
961
962 Workaround yet another IEEE1275 bug.
963
964 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
965 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
966 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
967 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
968 is set.
969 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
970 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
971
972 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
975 error.
976
977 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
978
979 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
980 empty, since in that case we can only generate either nothing or a
981 syntactically invalid configuration file.
982 Reported by: Michal Suchanek. Fixes Debian bug #612898.
983
984 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
985
986 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
987 (Making a GRUB bootable CD-ROM): Likewise.
988 (Invoking grub-mkrescue): New section.
989 Reported by: Yann Dirson. Fixes Debian bug #612585.
990
991 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
992
993 * util/grub-install.in: Remove unnecessary brackets from tr
994 arguments.
995 * util/grub.d/10_hurd.in: Likewise.
996 * util/grub.d/10_kfreebsd.in: Likewise.
997 * util/grub.d/10_linux.in: Likewise.
998 * util/grub.d/20_linux_xen.in: Likewise.
999 Reported by: Jamie Heilman. Fixes Debian bug #612564.
1000
1001 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
1002
1003 * include/grub/file.h (not_easly_seekable): Rename to ...
1004 (not_easily_seekable): ... this. Update all users.
1005
1006 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
1007
1008 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
1009 grub-mkrescue.
1010
1011 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * util/grub-mkimage.c (generate_image): Refuse to create the images
1014 bigger than the actual flash (512K) in Loongson machines. 512K is also
1015 the biggest chip supported by them.
1016
1017 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
1020
1021 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
1022
1023 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
1024 super_offset field.
1025
1026 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * util/grub-install.in: Ignore install device on platforms
1029 where it doesn't make sense. Always use UUIDs except on pc, efi and
1030 sparc64.
1031 Reported by: Daniel Kahn Gillmor.
1032
1033 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
1036
1037 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
1040 (iterate_real): Don't rely on partition being non-NULL.
1041
1042 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
1045 supported platforms. Put a compile time assert for this rather than
1046 generate a warning with 32-bit shift.
1047
1048 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
1051 logical expression more readable.
1052
1053 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
1056 even if some elements have a name.
1057 Reported by: Alexander GQ Gerasiov.
1058
1059 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
1060
1061 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
1062 path unreadable if `grub-probe -t abstraction' fails, for example if
1063 memberlist fails on an LVM volume group.
1064 Reported by: Darius Jahandarie.
1065
1066 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
1067
1068 * docs/grub.texi (Simple configuration): Document
1069 GRUB_PRELOAD_MODULES.
1070
1071 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
1072
1073 * .bzrignore: Remove nonexistent grub-pbkdf2.
1074
1075 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * configure.ac: Bump version to 1.99~rc1.
1078
1079 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
1082 for safety.
1083
1084 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
1087 module.
1088
1089 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
1092
1093 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
1096 diskdevid.
1097
1098 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 Fix compilation on cygwin.
1101
1102 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
1103 -R .drectve on cygwin.
1104 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
1105 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
1106 (COND_CYGWIN): New condition.
1107 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
1108 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
1109 not @TARGET_OBJ2ELF@.
1110 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
1111 type to determine whether aux is to be used.
1112
1113 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
1116 realpath'ed device string.
1117 Handle floppy (somewhat).
1118 Issue error in unknown case rather than garbage.
1119 Reported by: Axel Beckert.
1120
1121 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * util/grub.d/00_header.in (load_video): Handle the case when no video
1124 drivers available.
1125 Thanks to: Axel Beckert.
1126
1127 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
1130 variable. Fixes problem on big endian platforms.
1131
1132 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
1135 It doesn't work well there.
1136
1137 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
1140 warning.
1141 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
1142 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
1143 counter.
1144
1145 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 Use alias->path rather than buggy "canon".
1148
1149 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
1150 (ofdisk_hash_add): New argument curcan. All users updated.
1151
1152 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
1153
1154 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
1155
1156 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
1159 loadmask before doing any calculations. Use correct type for offset.
1160 (grub_linux_load64): Likewise.
1161
1162 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
1163
1164 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
1165 with NULL.
1166 (console_grub_equivalences_unshift): Likewise.
1167 Reported by: Daniel Dehennin.
1168
1169 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
1172 (set_env_limn_ro): Likewise.
1173 (GRUB_MOD_INIT): Likewise.
1174 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
1175 ARRAY_SIZE while on it.
1176 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
1177 * grub-core/normal/context.c (grub_env_export): Move from here ...
1178 * grub-core/kern/env.c (grub_env_export): ... here.
1179 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
1180 prefix.
1181 * grub-core/kern/main.c (grub_main): Export root and prefix.
1182 * include/grub/env.h (grub_env_export): Export.
1183 Reported by: Seth Goldberg.
1184
1185 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1188 Take into account space used by ELF sections and multiboot palette.
1189 Reported by: Grégoire Sutre.
1190
1191 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * BUGS: New file.
1194
1195 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 Pass more appropriate video id to Linux.
1198
1199 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
1200 grub_video_get_driver_id and variable gfxpayloadforcelfb to
1201 fill have_vga.
1202 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
1203 shift params->lfb_size.
1204 * include/grub/i386/linux.h: Make an enume out of have_vga values.
1205
1206 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * util/grub-menulst2cfg.c: Add missing include of misc.h.
1209
1210 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
1213 separator and pass bootpath/devid even if only one of them is available.
1214 Reported by: Seth Goldberg.
1215
1216 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
1219 implementations bug on them.
1220
1221 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
1222 memory.
1223 (filter_memory_map): Likewise.
1224
1225 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
1228 Reported by: nebuchadnezzar.
1229
1230 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
1233 Reported by: nebuchadnezzar.
1234
1235 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 Submenu default support.
1238
1239 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
1240 auto_boot. All users updated.
1241 Declared static.
1242 Handle chosen and default with submenus.
1243 (grub_menu_execute_with_fallback): Declared static.
1244 Don't notify failure if autobooted. Upper level does it.
1245 (menuentry_eq): New function.
1246 (get_entry_number): Use menuentry_eq.
1247 (show_menu): New parameter "autobooted". All users updated.
1248 (grub_show_menu): Likewise.
1249 * include/grub/normal.h (grub_show_menu): Likewise.
1250 * include/grub/menu.h (grub_menu_execute_entry): Removed.
1251 (grub_menu_execute_with_fallback): Likewise.
1252
1253 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * util/grub-mklayout.c (usage): Update help text.
1256
1257 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
1260
1261 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * util/grub-menulst2cfg.c (main): Trim the line.
1264
1265 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
1268 (grub_machine_init): Don't check amount of low memory as reportedly
1269 INT 12h can be broken and if low memory is too low we wouldn't have
1270 gotten into grub_machine_init anyway.
1271
1272 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
1275 (grub_machine_mmap_iterate): Take low memory into account
1276
1277 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
1280 badfs.
1281 Reported by: TiCPU.
1282
1283 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
1286 members errors.
1287
1288 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1289
1290 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
1291 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
1292
1293 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1294
1295 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
1296 openbsd and netbsd types being in part_bsd module.
1297
1298 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
1301 (_FILE_OFFSET_BITS): Likewise.
1302 Reported by: Seth Goldberg.
1303
1304 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1305
1306 * configure.ac: Check for libdevmapper header.
1307
1308 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
1311 avoid aliasing.
1312 (fzap_lookup): Likewise.
1313 (dnode_get): Likewise.
1314 (make_mdn): Likewise.
1315 (zfs_mount): Likewise.
1316 (fzap_iterate): Use temporary pointer to avoid aliasing.
1317 (grub_zfs_read): Likewise.
1318 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
1319 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
1320 pointers to avoid aliasing.
1321 (grub_cmd_xnu_kernel64): Likewise.
1322 (grub_xnu_load_driver): Likewise.
1323
1324 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
1327 aliasing warning.
1328 (grub_cmd_terminal_output): Likewise.
1329 Reported and tested by: Grégoire Sutre.
1330
1331 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
1334 warning.
1335 Reported and tested by: Grégoire Sutre.
1336
1337 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * configure.ac: Do CPU substitution even if it's specified explicitly.
1340 Reported and tested by: Alain Greppin.
1341
1342 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
1345 Reported and tested by: Alain Greppin.
1346
1347 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 Satisfy some bison versions need for inttypes.h.
1350
1351 * grub-core/lib/posix_wrap/inttypes.h: New file.
1352 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
1353 (int16_t): Likewise.
1354 (int32_t): Likewise.
1355 (int64_t): Likewise.
1356 Reported and tested by: Alain Greppin.
1357
1358 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
1361 Silence spurious warning.
1362 Reported and tested by: Alain Greppin.
1363
1364 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1365
1366 * docs/grub.texi (Support automatic decompression): Update with xz
1367 decompression support.
1368
1369 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1370
1371 Improve loaders' kernel command line handling.
1372
1373 * grub-core/lib/cmdline.c: New file.
1374 * include/grub/lib/cmdline.h: Likewise.
1375 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
1376 grub_create_loader_cmdline to create kernel command line.
1377 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1378 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
1379 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
1380 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
1381 (linux): Add lib/cmdline.c on common.
1382
1383 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
1386 inopos might be unaligned.
1387
1388 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1391 endian transformations.
1392 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1393 Based on report by: Doug Nazar.
1394
1395 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
1396
1397 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
1398 array->members[i].start_sector.
1399 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1400
1401 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
1404 Reported and tested by: Grégoire Sutre.
1405
1406 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1407
1408 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
1409 avoid causing test failures by clearing the screen.
1410
1411 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1412
1413 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
1414 Fix prefix check to handle the case where dir ends with a slash
1415 (most significantly, "/" itself).
1416 Reported by: Michael Vogt.
1417
1418 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 Run terminfo_cls on initing terminfo output to clear the screen and
1421 move the cursor to (0,0).
1422
1423 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
1424 Call grub_terminfo_output_init.
1425 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
1426 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
1427 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
1428
1429 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
1432 only when needed.
1433
1434 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
1437 CTRL.
1438
1439 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 The E820 type 5 is BADRAM, not EXEC_CODE.
1442
1443 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1444 (GRUB_E820_BADRAM): New define.
1445 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
1446 into reserved. Propagate BADRAM.
1447 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1448 (GRUB_E820_BADRAM): New define.
1449
1450 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
1453 Ignore the memory post-4G.
1454 (grub_relocator_firmware_alloc_region): Additional debug statement.
1455
1456 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
1459 names.
1460 Reported by: David Pravec.
1461
1462 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
1465 BIOSes.
1466
1467 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
1470 Prevent overflow.
1471 (grub_reed_solomon_recover): Likewise.
1472
1473 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
1476
1477 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
1480 variable.
1481
1482 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
1483
1484 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
1485 descriptions of extract_legacy_entries_source and
1486 extract_legacy_entries_configfile.
1487 Reported by: Seung Soo, Ha.
1488
1489 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
1490
1491 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
1492 on devices that do not implement function 0.
1493
1494 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
1495
1496 * grub-core/fs/hfsplus.c: Make parent unsigned.
1497 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
1498 overflows.
1499 (grub_hfsplus_cmp_extkey): Likewise
1500
1501 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * util/grub-install.in: Correctly use bootloader_id and not
1504 GRUB_DISTRIBUTOR on efibootmgr line.
1505
1506 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
1509
1510 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
1511
1512 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
1513 Xen and reorder menu item wording to make it clearer that this entry
1514 will launch Xen. Print separate messages when loading Xen and
1515 Linux.
1516
1517 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
1520 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
1521 loop in case of incorrect amiga partmap.
1522
1523 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
1526 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
1527 Reported by:EHeM.
1528
1529 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
1532 spurious warning.
1533 Reported by: crocket
1534
1535 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
1538 Preload EFIemu.
1539 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
1540
1541 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
1544 is loaded
1545 (grub_cmd_xnu_kextdir): Likewise.
1546 (grub_cmd_xnu_splash): Likewise.
1547
1548 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 Avoid using Reed-Solomon with 0 redundancy.
1551
1552 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
1553 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
1554 or 0 redundancy.
1555 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
1556 (grub_reed_solomon_recover): Likewise.
1557
1558 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 Don't use disk subsystem in freebsd_boot.
1561
1562 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
1563 (freebsd_biosdev): Likewise.
1564 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
1565 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
1566
1567 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 Handling of files of unknown size is currently limited. They can't be
1570 used e.g. for initrd or modules. Moreover gzip handling of not
1571 easily seekable files is buggy. Disable unknown file size for now. May
1572 be inefficient but works.
1573
1574 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
1575 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1576
1577 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
1578
1579 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
1580 floppy probe.
1581
1582 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
1583
1584 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
1585
1586 2010-12-25 Shea Levy <shlevy>
1587
1588 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
1589
1590 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
1593 Windows Server 2008.
1594 Reported by: Devin Giddings.
1595
1596 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
1599 writing an error message because of async power management.
1600 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
1601 (grub_reboot): Likewise.
1602
1603 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
1604
1605 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
1606 keep unit tests from failing when they shouldn't.
1607
1608 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1609
1610 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
1611 previous patch increased the size of the RS code by 20 bytes (at
1612 least with gcc-4.4), so increase this by 20 bytes to match.
1613 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1614
1615 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1616
1617 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
1618 scratch area. Make sure to initialise chosen in standalone mode as
1619 well as non-standalone.
1620 Reported by: Robert Hooker and Andy Whitcroft.
1621 Tested by: Andy Whitcroft.
1622
1623 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1624
1625 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
1626 constructing a new unescaped string and passing it to grub_xputs in
1627 one go, rather than passing characters to grub_printf one at a time.
1628
1629 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1630
1631 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
1632 initialising utf16.
1633
1634 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1635
1636 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
1637 comment. Add an extra layer of quotation, requiring the output of
1638 this function to be used in a printf format string.
1639 (gettext_printf): New function.
1640 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
1641 Extract translatable strings from here-documents and use a temporary
1642 variable instead, so that xgettext can find them.
1643 * util/grub.d/10_kfreebsd.in: Likewise.
1644 * util/grub.d/10_linux.in: Likewise.
1645 * util/grub.d/20_linux_xen.in: Likewise.
1646
1647 * po/grub.d.sed: New file.
1648 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
1649 arguments. Set c-format flags on all strings extracted from
1650 util/grub.d/ (xgettext refuses to include these itself for strings
1651 it extracted from a shell file, but these really are c-format).
1652
1653 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
1656 Avoid next pointing to nowhere.
1657
1658 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
1661 rather than assuming than rootblock is exactly in the middle.
1662 (grub_affs_label): Likewise.
1663
1664 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
1667 reserved_first_sector to 0.
1668 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
1669 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
1670 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
1671
1672 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 Fix handling of UTF-16 UDF labels.
1675
1676 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
1677 (read_string): .. here.
1678 (grub_udf_label): Use read_string.
1679
1680 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
1681
1682 * grub-core/normal/menu_entry.c (run): Execute commands from menu
1683 editor under argument scope.
1684 Reported by: Jordan Uggla
1685
1686 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
1689
1690 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
1691
1692 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
1693 line, and other keys scroll an entire page (previous handling was
1694 for \r and \n to scroll a page and other keys to scroll two lines).
1695
1696 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1699 Set ptrdest to correct get_physical_target_address rather than
1700 incorrect get_virtual_current_address.
1701
1702 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
1703
1704 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
1705 correct cat to grub_uint8_t * rather than grub_uint32_t *.
1706
1707 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1708
1709 * .bzrignore: Ignore grub-core/rs_decoder.S.
1710
1711 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1712
1713 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
1714 .mo/.mo.gz opening sequence to ...
1715 (grub_mofile_open_lang): ... here.
1716 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
1717 * util/grub.d/00_header.in (grub_lang): Include country part of
1718 locale.
1719 Reported by: Mario Limonciello.
1720
1721 2010-12-09 Robert Millan <rmh@gnu.org>
1722
1723 * NEWS: Document addition of ZFS support.
1724
1725 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
1726
1727 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
1728 rather than `/ 2', as the latter requires -Wa,--divide which would
1729 require bumping our minimum binutils version.
1730
1731 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
1732
1733 * util/grub-script-check.c (main): Print script line number on
1734 error.
1735
1736 2010-12-01 Robert Millan <rmh@gnu.org>
1737
1738 * grub-core/fs/zfs/zfs.c: New file.
1739 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
1740 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
1741 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
1742 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1743
1744 * include/grub/zfs/dmu.h: Likewise.
1745 * include/grub/zfs/dmu_objset.h: Likewise.
1746 * include/grub/zfs/dnode.h: Likewise.
1747 * include/grub/zfs/dsl_dataset.h: Likewise.
1748 * include/grub/zfs/dsl_dir.h: Likewise.
1749 * include/grub/zfs/sa_impl.h: Likewise.
1750 * include/grub/zfs/spa.h: Likewise.
1751 * include/grub/zfs/uberblock_impl.h: Likewise.
1752 * include/grub/zfs/vdev_impl.h: Likewise.
1753 * include/grub/zfs/zap_impl.h: Likewise.
1754 * include/grub/zfs/zap_leaf.h: Likewise.
1755 * include/grub/zfs/zfs.h: Likewise.
1756 * include/grub/zfs/zfs_acl.h: Likewise.
1757 * include/grub/zfs/zfs_znode.h: Likewise.
1758 * include/grub/zfs/zil.h: Likewise.
1759 * include/grub/zfs/zio.h: Likewise.
1760 * include/grub/zfs/zio_checksum.h: Likewise.
1761
1762 * Makefile.util.def: Build ZFS into libgrubmods.
1763 * grub-core/Makefile.core.def: Build zfs.mod.
1764
1765 2010-11-30 Szymon Janc <szymon@janc.net.pl>
1766
1767 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
1768 variable.
1769 * grub-core/commands/wildcard.c (match_files): Likewise.
1770
1771 2010-11-30 Robert Millan <rmh@gnu.org>
1772
1773 * grub-core/loader/i386/bsd.c
1774 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
1775 whether kernel is loaded using grub_loader_is_loaded(), rather
1776 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
1777 certain error conditions.
1778
1779 2010-11-30 Robert Millan <rmh@gnu.org>
1780
1781 * grub-core/commands/echo.c: Include `<grub/term.h>'.
1782 (grub_cmd_echo): Call grub_refresh() after printing a message.
1783
1784 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 Avoid using tricks for initialising endian variables.
1787
1788 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
1789 Make const.
1790 (GRUB_MOD_INIT): Don't byte-swap.
1791 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1792 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
1793 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
1794 (grub_swap_bytes32_compile_time): Likewise.
1795 (grub_cpu_to_le32_compile_time): Likewise.
1796 (grub_cpu_to_le16_compile_time): Likewise.
1797
1798 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * util/grub-setup.c (setup): Stop recommending --force. People who
1801 understand the dangers of blocklists are able to find this option
1802 anyway and the ones who don't shouldn't use it anyway.
1803
1804 2010-11-26 Robert Millan <rmh@gnu.org>
1805
1806 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
1807 Update all users.
1808
1809 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
1810
1811 Fix LVM-on-RAID probing.
1812
1813 * util/grub-probe.c (probe): Remember which disk was detected as
1814 RAID (perhaps an LVM physical volume). Use that disk's raidname
1815 rather than that of the top-level disk.
1816
1817 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
1818
1819 Fix cmdline argument quotes for setparams command of menuentry
1820 definitions.
1821
1822 * grub-core/commands/menuentry.c (setparams_prefix): Use single
1823 quotes for arguments.
1824 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
1825 grub_strchrsub function instead.
1826
1827 * include/grub/misc.h (grub_strchrsub): New function.
1828
1829 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1830
1831 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
1832 effort by skipping "." and ".." entries up-front.
1833 Suggested by: Michael Lazarev.
1834
1835 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1836
1837 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
1838 ldflags to ldadd, to fix link line ordering.
1839 (none_decompress): Likewise.
1840
1841 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1842
1843 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
1844 platforms.
1845 (grub-emu-lite): Remove kern/emu/cache.S.
1846
1847 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1848
1849 * util/deviceiter.c (compare_devices): If the by-id link for a
1850 device couldn't be resolved, fall back to sorting by the by-id link
1851 rather than segfaulting.
1852 Reported and tested by: Daniel Mierswa.
1853
1854 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1855
1856 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
1857 ldflags, to fix link line ordering.
1858
1859 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1860
1861 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
1862 linkers are picky about this.
1863
1864 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1865
1866 * grub-core/Makefile.am (command.lst): Adjust sed expression
1867 ordering so that extended and priority commands aren't treated as
1868 ordinary commands.
1869
1870 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1871
1872 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1873 Remove byte-swapping function calls, which are not valid in
1874 structure initialisers.
1875 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
1876 non-const.
1877 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
1878 grub_gpt_partition_type_bios_boot.
1879
1880 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1881
1882 Fix test program build on GNU/kFreeBSD.
1883
1884 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
1885 $(LIBNVPAIR)' library dependencies.
1886
1887 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1888
1889 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
1890
1891 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1892
1893 * util/grub-install.in: Remove excessive quoting that broke
1894 installations to RAID devices.
1895
1896 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
1899 bootloader version instead of 0.
1900
1901 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
1904 warning.
1905
1906 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
1909 retrieve the metadat sector if size isn't known.
1910 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1911
1912 2010-11-18 Robert Millan <rmh@gnu.org>
1913
1914 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
1915 with grub_memcmp().
1916
1917 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
1920 arrow.
1921 Reported by: Jordan Uggla.
1922
1923 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 Make better UTF compliant.
1926
1927 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
1928 sequences as incorrect.
1929 (grub_is_valid_utf8): Likewise.
1930 (grub_utf8_to_ucs4): Likewise.
1931 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
1932 (grub_ucs4_to_utf8_alloc): Likewise.
1933 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
1934
1935 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 Make legacy_source behave like source.
1938
1939 * grub-core/commands/legacycfg.c (legacy_file): Don't call
1940 grub_show_menu.
1941 (grub_cmd_legacy_source): Call grub_show_menu if needed.
1942
1943 2010-11-16 Colin Watson <cjwatson@debian.org>
1944
1945 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
1946 (-Wunused implies -Wunused-parameter, but not vice versa).
1947
1948 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
1949
1950 * configure.ac: Make error messages less confusing by testing for
1951 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
1952 accepted, but produces a diagnostic if something else is wrong).
1953
1954 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
1957 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
1958 (now unused).
1959 (grub_keyboard_controller_init)
1960 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
1961 read the initial state since controller isn't inited yet.
1962
1963 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
1966 allocate_regbeg may need to create new chunk header.
1967
1968 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 Fix quoting in legacy parser.
1971
1972 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
1973 single quotes.
1974 (grub_legacy_parse): Likewise.
1975 Reported by: Jordan Uggla.
1976 Tested by: Jordan Uggla.
1977
1978 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 Don't add -lgcc on i386 and x86_64.
1981
1982 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
1983 * conf/Makefile.common (LDADD_KERNEL): Likewise.
1984 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
1985
1986 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * configure.ac: Add -Wno-trampolines when supported.
1989
1990 2010-11-14 Modestas Vainius <modax@debian.org>
1991
1992 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
1993 fakeraid.
1994
1995 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1996
1997 Add generic logical block size support for UDF.
1998
1999 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
2000 (GRUB_UDF_BLKSZ): Removed.
2001 (struct grub_udf_data): New field "lbshift" to hold the logical block
2002 size of the file system in log2 format. All users updated.
2003 (sblocklist): Change type to unsigned.
2004 (grub_udf_mount): Change type of "sblklist" to unsigned.
2005 Move AVDP search before VRS recognition, because the latter requires
2006 knowledge of the logical block size, which is detected during the
2007 former.
2008 Detect and validate logical block size during AVDP search, adding
2009 support for block sizes 512, 1024 and 4096.
2010 Make VRS recognition independent of block size.
2011
2012 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2013
2014 Properly handle deleted files on UDF.
2015
2016 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
2017 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
2018 set.
2019
2020 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2021
2022 Support reading files larger than 2 GiB.
2023
2024 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
2025 "offset" to grub_off_t.
2026 (grub_udf_read_file): Likewise for parameter "pos".
2027
2028 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
2031 unavailable.
2032 (Simple configuration): Refer to Changes from GRUB Legacy about
2033 save_env availability.
2034
2035 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * util/grub-install.in: Ignore empty partition table detection
2038 instead of trying to include part_ module.
2039
2040 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
2043 LVM on RAID support.
2044
2045 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 Properly define WORDS_BIGENDIAN in wrapped environments.
2048
2049 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
2050 definition.
2051 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
2052
2053 Reported by: Manoel Rebelo Abranches.
2054 Tested by: Manoel Rebelo Abranches.
2055
2056 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * util/grub-mkconfig.in: Fix quoting.
2059
2060 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 Support big ext2 files.
2063
2064 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
2065 (grub_ext2_read_block): Support triple indirect blocks.
2066 (grub_ext2_read_file): Use 64-bit types and read size_high.
2067 (grub_ext2_open): Read size_high.
2068 Reported by: Ximin Luo.
2069 Tested by: Manoel Rebelo Abranches.
2070
2071 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * util/grub-install.in: Handle filenames containing spaces.
2074 Reported by: Jordan Uggla.
2075 Tested by: Jordan Uggla.
2076
2077 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * util/grub-mkconfig.in (grub_script_check): New variable.
2080 Use grub_script_check instead of grub-script-check.
2081 Reported by: Barry Jackson.
2082
2083 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 * docs/grub.texi (menu): Correct the order.
2086 Reported by: D. Hugh Redelmeier.
2087
2088 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
2091 jump.
2092
2093 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2094
2095 * include/grub/elfload.h (grub_elf32_size): New parameter.
2096 All users updated.
2097 Return maximum segments alignment.
2098 (grub_elf64_size): Likewise.
2099 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
2100 Return maximum segments alignment.
2101 (grub_elf64_size): Likewise.
2102 * grub-core/loader/powerpc/ieee1275/linux.c:
2103 (grub_linux_claimmap_iterate): New function. Uses the
2104 "available" property in the "memory" node for memory allocation
2105 for kernel in the PowerPC loader.
2106 (grub_linux_load32): Correctly find linux entry point offset.
2107 (grub_linux_load64): Likewise.
2108
2109 2010-11-07 Robert Millan <rmh@gnu.org>
2110
2111 On mips-yeeloong, build with -march=loongson2f when this flag is
2112 available (GCC >= 4.4).
2113 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
2114 `-march=mips3'.
2115 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
2116 or otherwise add -march=mips3.
2117
2118 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
2119
2120 Suppress shell expansion on echo '*' and echo "*" like cases.
2121 Reported by: Jordan Uggla.
2122
2123 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2124 string arguments before shell expansion.
2125 * tests/grub_cmd_echo.in: New testcases.
2126
2127 2010-11-07 Robert Millan <rmh@gnu.org>
2128
2129 * conf/mips-qemu-mips.rmk: Remove stale file from previous
2130 transition.
2131
2132 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/kern/emu/hostdisk.c
2135 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
2136
2137 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
2140 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
2141 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
2142
2143 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
2146
2147 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * util/grub-install.in: Replace useless recomendation to pass
2150 --modules with a recomendation to report a bug.
2151
2152 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 Properly register serial terminfo.
2155 Reported by: Jordan Uggla
2156
2157 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
2158 const.
2159 (grub_serial_terminfo_output_template): Likewise.
2160 (grub_cmd_serial): Register "serial" with terminfo.
2161 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
2162 grub_serial_terminfo_output.
2163
2164 2010-11-05 Robert Millan <rmh@gnu.org>
2165
2166 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
2167 needed).
2168
2169 2010-11-05 Robert Millan <rmh@gnu.org>
2170
2171 On Yeeloong, pass machine type information to Linux.
2172
2173 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
2174 (LOONGSON_MACHTYPE): New macro, set to
2175 "machtype=lemote-yeeloong-2f-8.9inches".
2176 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
2177 additional argument to Linux.
2178
2179 2010-11-04 Robert Millan <rmh@gnu.org>
2180
2181 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
2182 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
2183 (its SATA disks are detected as slaveless IDE master drives on
2184 kFreeBSD).
2185 Reported by Carsten Aulbert.
2186
2187 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
2188
2189 * util/bin2h.c (main): Fix spelling error in generated output.
2190
2191 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
2192
2193 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
2194
2195 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
2198 vga= option is supplied.
2199
2200 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
2203 * util/grub.d/10_kfreebsd.in: Likewise.
2204 * util/grub.d/10_linux.in: Likewise.
2205 * util/grub.d/20_linux_xen.in: Likewise.
2206
2207 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
2210 argument as an argument to no-argument option.
2211
2212 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * util/grub.d/10_linux.in: Add missing load_video with explicit
2215 GRUB_GFXPAYLOAD_LINUX.
2216
2217 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
2220
2221 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
2224 elements with invlid index.
2225 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2226 * grub-core/disk/raid.c (insert_array): Automatically reallocate
2227 members.
2228 * include/grub/raid.h (grub_raid_member): New struct.
2229 (grub_raid_array): Transform devices and start_sector into usage of
2230 grub_raid_member. All users updated
2231 (allocated_devs): New member.
2232
2233 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
2236 is modified
2237
2238 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
2239
2240 NetBSD build fix for getline function conflict from gnulib.
2241
2242 * Makefile.util.def (libgrubkern.a): New library for grub kernel
2243 components that depend on gnulib headers.
2244 (libgrubmods.a): Renamed from earlier libgrub.a.
2245 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
2246
2247 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
2250 install rather than creating a broken install.
2251
2252 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * util/grub-setup.c (argp): Remove misleading example of installing to
2255 a partition.
2256
2257 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * util/grub-setup.c (setup): Clarify the error message.
2260
2261 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
2264
2265 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/kern/emu/misc.c
2268 (grub_make_system_path_relative_to_its_root)
2269 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
2270
2271 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/kern/emu/misc.c
2274 (grub_make_system_path_relative_to_its_root): Revert r2882.
2275
2276 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
2279 useless field head. All users updated.
2280 (free_subchunk): Correct handling of IN_REGION subchunk.
2281
2282 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
2283
2284 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
2285 (Supported kernels): Likewise.
2286
2287 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2288
2289 Make mktemp invocations portable.
2290
2291 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
2292 exit if mktemp fails.
2293 * tests/grub_script_blockarg.in: Likewise.
2294 * tests/partmap_test.in: Likewise.
2295 * tests/util/grub-shell-tester.in: Likewise.
2296 * tests/util/grub-shell.in: Likewise.
2297 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2298 * Makefile.am: Likewise, and chain shell commands with `&&'
2299 instead of ';'.
2300 * util/grub-mkrescue.in: Use the same explicit template as above, and
2301 exit if mktemp fails.
2302
2303 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
2304
2305 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
2306 Linux kernel, reported by Dennis Schridde.
2307
2308 2010-10-17 Szymon Janc <szymon@janc.net.pl>
2309
2310 * grub-core/normal/auth.c (grub_auth_check_authentication):
2311 Set-but-not-used variable removed.
2312
2313 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * docs/grub.texi (GNU/Linux): Document APM unavailability with
2316 32-bit linux protocol.
2317
2318 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
2321 cursor shape for sanity.
2322
2323 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * docs/grub.texi (Installation): Document buggy BIOS install.
2326
2327 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * docs/grub.texi (Installation): Indent.
2330
2331 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * util/grub-setup.c (setup): New parameter allow_floppy.
2334 (arguments): New member allow_floppy.
2335 (argp_parser): Handle --allow-floppy.
2336 (main): Pass allow_floppy.
2337 * util/grub-install.in: New option --allow-floppy passed though to
2338 grub-setup.
2339
2340 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * util/grub-install.in: Handle partitionless disks.
2343
2344 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * util/grub-setup.c (setup): Don't clean blocklists before readability
2347 verfification.
2348
2349 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * docs/grub.texi (Installation): Document embedding zone. Remove
2352 obsolete grub-install example.
2353
2354 2010-10-16 Szymon Janc <szymon@janc.net.pl>
2355
2356 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2357 Set-but-not-used variable ifdef'ed.
2358 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
2359 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
2360 variable removed.
2361 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
2362 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
2363 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2364 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
2365 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
2366 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2367 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
2368 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
2369 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2370 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
2371 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
2372 Likewise.
2373
2374 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
2377 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
2378 enum value.
2379
2380 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
2383 synonym to _S5_. Needed for some DSDTs.
2384
2385 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 Userspace ACPI parser debugging.
2388
2389 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
2390 headers and add relevant defines. Don't include standard headers.
2391 (main) [GRUB_DSDT_TEST]: New function.
2392 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
2393 Don't declare functions.
2394
2395 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 Remove dead grub_efi_mm_fini.
2398
2399 * grub-core/kern/efi/mm.c (allocated_page): Removed.
2400 (ALLOCATED_PAGES_SIZE): Likewise.
2401 (MAX_ALLOCATED_PAGES): Likewise.
2402 (allocated_pages): Likewise.
2403 (grub_efi_allocate_pages): Don't record allocated pages.
2404 (grub_efi_free_pages): Likewise.
2405 (grub_efi_mm_init): Likewise.
2406 (grub_efi_mm_fini): Removed.
2407
2408 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
2411 (grub_efi_mm_init): Take into account the memory map size increase.
2412
2413 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
2416 (serial_hw_put): Wait based on real time rather than port reads. Don't
2417 roken ports.
2418 * include/grub/serial.h (grub_serial_port): New field broken.
2419
2420 2010-10-16 Robert Millan <rmh@gnu.org>
2421
2422 * grub-core/kern/emu/misc.c
2423 (grub_make_system_path_relative_to_its_root): Fix premature return
2424 when processing non-root ZFS filesystems.
2425 Reported by Sergio Talens-Oliag.
2426
2427 2010-10-15 Robert Millan <rmh@gnu.org>
2428
2429 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
2430 guarantee compressed ones are processed first.
2431
2432 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
2435 grub_efiemu_autocore.
2436
2437 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
2440 rather than 0x1b.
2441 (grub_console_getkey): Use correct jae opcode rather than ja.
2442
2443 2010-10-12 Robert Millan <rmh@gnu.org>
2444
2445 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
2446 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
2447 variable. All references updated.
2448
2449 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
2450
2451 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 Correctly distinguish mdraid flavours.
2454
2455 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
2456 (insert_array): New argument raid.
2457 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
2458 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
2459 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
2460
2461 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
2464 handling of special keys.
2465
2466 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2467
2468 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
2469 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
2470
2471 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2472
2473 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
2474 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
2475 users updated.
2476 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
2477 Use right endpoint when querying descriptor.
2478
2479 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 Clear out 0x80 color bit on EFI.
2482 Tested by: decoder
2483 Reported by: decoder and meta tech.
2484
2485 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
2486 (grub_console_setcolorstate): Clear out 0x80 bit.
2487 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
2488 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
2489 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
2490
2491 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
2494 Set to "auto".
2495
2496 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
2499 mo_file after freeing.
2500
2501 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
2504
2505 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
2508 flags.
2509
2510 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
2513 usage.
2514
2515 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 Put terminfo into core on ieee1275 and yeeloong (needed for console).
2518
2519 * gentpl.py: New groups terminfoinkernel and terminfomodule.
2520 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
2521 and terminfo.h when needed.
2522 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
2523 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
2524 (terminfo): Enable only on terminfokernel.
2525 (extcmd): Likewise.
2526 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
2527 * include/grub/lib/arg.h: Likewise.
2528 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
2529 incorrect usage of ->.
2530
2531 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
2534 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
2535
2536 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 Fix coreboot compilation.
2539
2540 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2541 Take VBE info into account even if only text is supported.
2542 (fill_vbe_info): Take into account the case when only VGA text
2543 is supported.
2544 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
2545 on coreboot, multiboot and qemu.
2546
2547 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
2550 debug messages.
2551 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
2552
2553 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
2556 parameters.
2557
2558 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
2561 if they were BSD-style.
2562
2563 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/boot/i386/pc/lnxboot.S: Replace
2566 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
2567 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
2568
2569 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 Write embedding zone using Reed-Solomon.
2572
2573 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
2574 * grub-core/Makefile.am (rs_decoder.S): New target.
2575 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
2576 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
2577 (multiboot): Move to RS part.
2578 (post_reed_solomon): New label.
2579 (grub_boot_drive): Move to non-RS part since it's modified in memory
2580 on boot.
2581 Include rs_decoder.S.
2582 * grub-core/lib/reed_solomon.c: New file.
2583 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
2584 New definition.
2585 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
2586 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
2587 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
2588 * include/grub/partition.h (grub_partition_map): Change prototype of
2589 embed to allow returning additional sectors.
2590 * include/grub/reed_solomon.h: New file.
2591 * util/grub-setup.c (setup): Handle Reed-Solomon.
2592
2593 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
2594
2595 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2596 i386 and x86-64 definedness tests.
2597
2598 2010-09-27 Yves Blusseau <blusseau@zetam.org>
2599
2600 Fix generation of kernel_syms.lst
2601
2602 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
2603 ASM_PREFIX
2604
2605 2010-09-26 Robert Millan <rmh@gnu.org>
2606
2607 Support degraded ZFS arrays in "grub-probe -t device" resolution.
2608
2609 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
2610 the pool is an array of devices, iterate through it and return the
2611 first device that passes a stat() test (instead of blindly returning
2612 the first one).
2613
2614 2010-09-26 Robert Millan <rmh@gnu.org>
2615
2616 Build fixes for GNU/kFreeBSD.
2617
2618 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
2619 to programs that require ZFS conversion.
2620 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
2621 kernels that don't have FLOPPY_MAJOR.
2622
2623 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2624
2625 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
2626
2627 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2628
2629 Fix grub-emu build.
2630
2631 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
2632 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
2633 mdraid09 and mdraid1x.
2634
2635 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
2636
2637 Re-enable grub-extras.
2638
2639 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
2640 avoid confusing Automake. Run autogen only twice, once for the top
2641 level and once for grub-core. Add Makefile.util.def and
2642 Makefile.core.def from extra modules to the appropriate autogen
2643 invocations. If Makefile.common exists in an extra module, include
2644 it in both Makefile.util.am and grub-core/Makefile.core.am;
2645 similarly, include any Makefile.util.common file in Makefile.util.am
2646 and any Makefile.core.common file in grub-core/Makefile.core.am.
2647 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
2648 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
2649 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
2650 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
2651
2652 * gentpl.py (gvar_add): Turn GVARS into a set.
2653 (global_variable_initializers): Sort global variables on output.
2654 (vars_init): New function.
2655 (first_time): Likewise.
2656 (library): Ensure that non-global variable initialisations are
2657 emitted before the first time we emit code for a library block.
2658 Append to variables rather than setting them. Only emit
2659 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
2660 each conditional path.
2661 (program): installdir() emits an Autogen macro, so must be passed to
2662 var_add rather than gvar_add.
2663 (data): Likewise.
2664 (script): Likewise.
2665 (rules): New function, centralising handling for different target
2666 types. Set up Guile association lists for first_time and vars_init,
2667 and send most output to a diversion so that variable initialisations
2668 can be emitted first.
2669 (module_rules): Use new rules function.
2670 (kernel_rules): Likewise.
2671 (image_rules): Likewise.
2672 (library_rules): Likewise.
2673 (program_rules): Likewise.
2674 (script_rules): Likewise.
2675 (data_rules): Likewise.
2676
2677 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
2678
2679 * .bzrignore: Add contrib and grub-core/contrib. Remove
2680 grub-core/Makefile.gcry.am.
2681
2682 2010-09-24 Yves Blusseau <blusseau@zetam.org>
2683
2684 * grub-core/lib/LzFind.c: Add missing include.
2685 * grub-core/lib/LzmaEnc.c: Likewise.
2686 * grub-core/script/lexer.c: Likewise.
2687 * grub-core/script/yylex.l: Likewise.
2688 * util/grub-macho2img.c: Likewise.
2689 * util/grub-menulst2cfg.c: Likewise.
2690 * util/grub-mklayout.c: Likewise.
2691 * util/grub-mkpasswd-pbkdf2.c
2692 * util/grub-mkrelpath.c: Likewise.
2693 * util/resolve.c: Likewise.
2694
2695 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
2696
2697 * Makefile.util.def (example_unit_test): Add
2698 grub-core/gnulib/libgnu.a.
2699
2700 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
2701
2702 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
2703
2704 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 Support xz compression on yeeloong.
2707
2708 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
2709 * configure.ac: Check for LZMA.
2710 * grub-core/Makefile.core.def (xz_decompress): New target.
2711 (none_decompress): Likewise.
2712 * grub-core/boot/decompressor/minilib.c: New file.
2713 * grub-core/boot/decompressor/none.c: Likewise.
2714 * grub-core/boot/decompressor/xz.c: Likewise.
2715 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
2716 * grub-core/kern/mips/cache_flush.S: Likewise.
2717 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
2718 * grub-core/kern/mips/startup.S: Move first stage to ...
2719 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
2720 nomacro.
2721 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
2722 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
2723 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
2724 Allocate statically.
2725 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
2726 Allocate statically or use scratch. Don't check CRC32.
2727 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
2728 Allocate statically. Don't check CRC32.
2729 * include/grub/decompressor.h: New file.
2730 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
2731 Removed.
2732 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
2733 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
2734 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
2735 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
2736 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
2737 * util/grub-mkimage.c (grub_compression_t): New type.
2738 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
2739 (image_target_desc): New field default_compression.
2740 (image_targets): Adjust yeeloong targets.
2741 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
2742 (compress_kernel): New parameter comp.
2743 (generate_image): Likewise. Handle new compression case.
2744 (options): New option --compression
2745 (help): Likewise.
2746 (main): Handle new option.
2747
2748 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
2749
2750 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
2751
2752 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
2753
2754 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2755 typo in __i386__ conditional.
2756
2757 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
2760 include.
2761
2762 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 Implement EFI and ACPI multiboot2 extensions.
2765
2766 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
2767 new tags as supported.
2768 (acpiv2_size): New function.
2769 (grub_multiboot_get_mbi_size): Take new tags into account.
2770 (grub_multiboot_make_mbi): Add new tags.
2771 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
2772
2773 2010-09-21 Aleš Nesrsta <starous@volny.cz>
2774
2775 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
2776 Added missing configuration of USB device.
2777
2778 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2779
2780 * grub-core/normal/menu_entry.c (run): Make sure we always return
2781 a value.
2782
2783 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2784
2785 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
2786 NumberOfPages is UINT64 according to the UEFI specification, not
2787 UINTN. Fix printf format.
2788
2789 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2790
2791 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
2792 `err' to grub_usb_err_t.
2793 Reported and tested by: KESHAV P.R.
2794
2795 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2796
2797 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
2798 tpart non-const, so that we can assign to it. (Since this is a
2799 typedef, the constness refers to the pointer rather than what it
2800 points to.)
2801
2802 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2803
2804 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
2805 $(top_srcdir)/grub-core/gnulib as well as
2806 $(top_builddir)/grub-core/gnulib.
2807 Reported by: KESHAV P.R.
2808
2809 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2810
2811 * util/grub-install.in: Fix the bootloader ID option to be
2812 consistently --bootloader-id, not --bootloader_id.
2813 Reported by: KESHAV P.R.
2814
2815 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2816
2817 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
2818 check hash checksum." consistently translatable.
2819
2820 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2821
2822 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
2823 $(top_builddir).
2824
2825 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2826
2827 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
2828 (GRUB_MOD_INIT): Register sha1sum command.
2829 (GRUB_MOD_FINI): Unregister sha1sum command.
2830
2831 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2832
2833 Keep boot and grub directory names in sync with utils scripts
2834
2835 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
2836 * config.h.in: Add previous macros.
2837 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
2838 * util/grub-install.in: Use $bootdir and $grubdir variables.
2839
2840 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2841
2842 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
2843 convert partition names to disk names if the new `convert' parameter
2844 is set.
2845 (grub_util_biosdisk_get_grub_dev): If opening the disk device
2846 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
2847 disk in its own right. This can happen with Xen disk images.
2848
2849 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2850
2851 * util/grub-editenv.c: Update strings to avoid warnings when generating
2852 grub.pot file.
2853 * util/grub-setup.c: Likewise.
2854
2855 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * configure.ac: Change version to 1.99~beta0.
2858
2859 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2862 Add BADRAM.
2863 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
2864 Likewise.
2865 * include/multiboot.h: Resynced with specification.
2866 * include/multiboot2.h: Likewise.
2867
2868 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2869
2870 Fix po directory handling.
2871
2872 * configure.ac: Create po/Makefile.in rather than po/Makefile.
2873 * grub-core/gnulib/Makefile.am: Import gettext module.
2874 * m4/gnulib-cache.m4: Likewise.
2875 * m4/gnulib-comp.m4: Likewise.
2876 * m4/gettext.m4: New file, from gnulib.
2877 * m4/glibc2.m4: Likewise.
2878 * m4/iconv.m4: Likewise.
2879 * m4/intdiv0.m4: Likewise.
2880 * m4/intl.m4: Likewise.
2881 * m4/intldir.m4: Likewise.
2882 * m4/intlmacosx.m4: Likewise.
2883 * m4/intmax.m4: Likewise.
2884 * m4/inttypes-pri.m4: Likewise.
2885 * m4/lcmessage.m4: Likewise.
2886 * m4/lib-ld.m4: Likewise.
2887 * m4/lib-link.m4: Likewise.
2888 * m4/lib-prefix.m4: Likewise.
2889 * m4/lock.m4: Likewise.
2890 * m4/nls.m4: Likewise.
2891 * m4/po.m4: Likewise.
2892 * m4/printf-posix.m4: Likewise.
2893 * m4/progtest.m4: Likewise.
2894 * m4/threadlib.m4: Likewise.
2895 * m4/uintmax_t.m4: Likewise.
2896 * m4/visibility.m4: Likewise.
2897 * po/Makefile.am: Remove.
2898 * po/Makefile.in.in: New file, from gettext.
2899 ($(DOMAIN).pot-update): Support POTFILES-shell.
2900 * po/Makevars: New file.
2901 * po/POTFILES-shell: Rename to ...
2902 * po/POTFILES-shell.in: ... this. Update.
2903 * po/POTFILES: Rename to ...
2904 * po/POTFILES.in: ... this. Update.
2905 * po/Rules-quot: New file, from gettext.
2906 * po/boldquot.sed: Likewise.
2907 * po/en@boldquot.header: Likewise.
2908 * po/en@quot.header: Likewise.
2909 * po/insert-header.sin: Likewise.
2910 * po/quot.sed: Likewise.
2911 * po/remove-potcdate.sin: Likewise.
2912
2913 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
2916
2917 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * util/grub.d/20_linux_xen.in: Use submenus.
2920
2921 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 Support submenus.
2924
2925 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
2926 parameter submenu. All users updated.
2927 * grub-core/normal/main.c (free_menu): Rename to ...
2928 (grub_normal_free_menu): ... this. Made global.
2929 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
2930 if requested.
2931 * grub-core/normal/menu_entry.c (screen): New field submenu.
2932 (make_screen): Set submenu.
2933 (run): Open new context if requested.
2934 * include/grub/menu.h (grub_menu_entry): New field submenu.
2935 * include/grub/normal.h (grub_normal_free_menu): New proto.
2936
2937 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 Menu entries extractor.
2940
2941 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
2942 variants.
2943 (GRUB_MOD_INIT): Register new variants.
2944 (GRUB_MOD_FINI): Unregister new variants.
2945 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
2946 into grub_cmd_legacy_source.
2947 (grub_cmd_legacy_source): Implement extractor variants.
2948 (GRUB_MOD_INIT): Register new variants.
2949 (GRUB_MOD_FINI): Unregister new variants.
2950 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
2951 as an extractor.
2952 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
2953 search as an extractor.
2954 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
2955 test as an extractor.
2956 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
2957 as an extractor.
2958 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
2959 (grub_env_new_context): New function.
2960 (grub_env_context_open): Likewise.
2961 (grub_env_extractor_open): Likewise.
2962 (grub_env_extractor_close): Likewise.
2963 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2964 grub_extractor_level.
2965 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
2966 * include/grub/env.h (grub_env_extractor_open): New proto.
2967 (grub_env_extractor_close): Likewise.
2968 * include/grub/normal.h (grub_extractor_level): New external variable.
2969
2970 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 Make cutmem accept a region specification.
2973 Suggested by: Samuel Thibault
2974
2975 * grub-core/mmap/mmap.c (parsemem): New function.
2976 (grub_cmd_cutmem): Handle new arguments.
2977
2978 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 New command cutmem.
2981
2982 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
2983 (GRUB_MOD_INIT): Register new command.
2984 (GRUB_MOD_FINI): Unregister new command.
2985
2986 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 Support some annoying BSD and Minix subpartitions.
2989
2990 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
2991 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2992 Properly handle concatenation.
2993 * grub-core/kern/device.c (grub_device_iterate): Likewise.
2994 * grub-core/normal/completion.c (iterate_partition): Likewise.
2995 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
2996 contain partition. All users updated.
2997 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
2998 struct.
2999 (grub_openbsdlabel_partition_map): Likewise.
3000 (bsdlabel_partition_map_iterate): Rename to ..
3001 (iterate_real): ... this. New arguments sector, freebsd and pmap.
3002 (bsdlabel_partition_map_iterate): New function.
3003 (netopenbsdlabel_partition_map_iterate): Likewise.
3004 (netbsdlabel_partition_map_iterate): Likewise.
3005 (openbsdlabel_partition_map_iterate): Likewise.
3006 (GRUB_MOD_INIT): Register new partmaps.
3007 (GRUB_MOD_FINI): Unregister new partmaps.
3008 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
3009 (grub_partition_msdos_iterate): ... this. All users updated.
3010 Don't support embedding other than in a minix partition.
3011 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
3012 proto.
3013 * include/grub/partition.h (grub_partition): New field msdostype.
3014 * util/grub-install.in: Handle openbsd and netbsd types being in
3015 part_bsd module.
3016
3017 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
3020
3021 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
3022 * grub-core/Makefile.core.def (mdraid): Renamed to ...
3023 (mdraid09): ... this.
3024 (mdraid1x): New module.
3025 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
3026 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
3027
3028 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
3031 vsprintf.
3032
3033 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3034
3035 * grub-core/commands/efi/lsefimmap.c: Correct header.
3036 * NEWS: Update.
3037
3038 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3039
3040 * util/grub-editenv.c (argp_parser): Don't pass translated strings
3041 as printf format strings; the translations might contain '%' which
3042 could cause a crash.
3043 (main): Likewise.
3044 * util/grub-fstest.c (argp_parser): Likewise.
3045 * util/grub-setup.c (argp_parser): Likewise.
3046 (main): Likewise.
3047
3048 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 Use argp in grub-fstest.
3051
3052 * util/grub-fstest.c: Don't include getopt.h.
3053 Include argp.h.
3054 (root): New variable.
3055 (args_count): Likewise.
3056 (nparm): Likewise.
3057 (num_disks): Likewise.
3058 (images): Likewise.
3059 (cmd): Likewise.
3060 (debug_str): Likewise.
3061 (args): Likewise.
3062 (options): Transformed to argp.
3063 (usage): Removed.
3064 (main): Split argument parsing into ...
3065 (argp_parser): ... this. Changed to argp format.
3066 (argp): New variable.
3067 (main): Use argp_parse.
3068
3069 2010-09-20 Tristan Gingold <gingold@free.fr>
3070 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
3071 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/commands/efi/lsefimmap.c: New file.
3074 * grub-core/Makefile.core.def (lsefimmap): New module.
3075 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
3076
3077 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 Pause the execution (10s max) if any errors are displayed so the user
3080 has a chance to see them.
3081
3082 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
3083 (grub_print_error): Increment grub_err_printed_errors.
3084 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
3085 execution if any errors were displayed.
3086 (show_menu): Remove old code for pause.
3087 * grub-core/normal/menu_entry.c (run): Likewise.
3088 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
3089 users updated.
3090 (grub_normal_get_char_counter): Likewise.
3091 * include/grub/err.h (grub_err_printed_errors): New external variable.
3092 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
3093
3094 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 Support multiboot VBE info.
3097
3098 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3099 Take VBE info into account.
3100 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
3101 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3102 Call fill_vbe_info when appropriate.
3103 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
3104 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
3105 as supported.
3106 (grub_multiboot_get_mbi_size): Take new tags into account.
3107 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
3108 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3109 Call fill_vbe_tag when appropriate.
3110 (grub_multiboot_make_mbi): Properly align tags.
3111 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
3112 function.
3113 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
3114 proto.
3115 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
3116
3117 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 Suport manual terminal geometry specification.
3120
3121 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
3122 Save state in grub_ofconsole_terminfo_output.
3123 (grub_ofconsole_term): Use grub_terminfo_getwh.
3124 (grub_ofconsole_getwh): Removed.
3125 * grub-core/term/serial.c (grub_serial_getwh): Removed.
3126 (grub_serial_term): Use grub_terminfo_getwh.
3127 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
3128 (options): New struct.
3129 (OPTION_*): New enum.
3130 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
3131 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
3132 width and height.
3133 (grub_terminfo_getwh): New proto.
3134 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
3135
3136 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 Handle legacy "terminal" command.
3139
3140 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
3141 and FLAG_TERMINAL.
3142 (legacy_commands): Add terminal and title.
3143 (grub_legacy_parse): Handle terminal. Simplify title handling.
3144
3145 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
3148 parameters overflow.
3149
3150 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3151
3152 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
3153 widthspec.h.
3154
3155 * docs/grub.texi (Shell-like scripting): Document `!'.
3156 (Network): Simplify using new i386-pc-pxe format. Mention
3157 grub-mknetdir.
3158
3159 * NEWS: Update.
3160
3161 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3162
3163 * Makefile.am (SUBDIRS): Restore "."; it's important to force
3164 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
3165 when needed.
3166
3167 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3168
3169 * grub-core/commands/efi/lsefisystab.c: Correct header.
3170 * grub-core/commands/efi/lssal.c: Likewise.
3171 * grub-core/commands/testload.c: Likewise.
3172
3173 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3174
3175 * util/grub-mkrescue.in: Add explicit root argument to --set to
3176 prevent the UUID being interpreted as an argument to --set (matches
3177 previous change to prepare_grub_to_access_device).
3178
3179 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3180
3181 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
3182 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
3183 the verbosity of later #ifs.
3184 (find_partition_start): Define this function on FreeBSD too.
3185 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
3186 function.
3187 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
3188 on FreeBSD.
3189
3190 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3191
3192 * util/grub-editenv.c: Use argp instead of getopt.
3193
3194 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3195
3196 * util/grub-setup.c: Use argp instead of getopt.
3197
3198 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3199
3200 Use gnulib-tool to create gnulib source files.
3201
3202 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
3203 grub-core/gnulib directories
3204 * .bzignore: Add **/.deps and autogenerated gnulib files
3205 * configure.ac: Assign auxiliary directory to build-aux, add invocation
3206 of gnulib macros, add grub-core/gnulib/Makefile
3207 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
3208 include m4 directory to aclocal.
3209 * Makefile.util.def: Remove direct compilation of gnulib source files
3210 and use the new grub-core/gnulib/libgnu.a.
3211 * build-aux/config.rpath: move config.rpath from top directory to
3212 build-aux
3213 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
3214 in gnulib headers
3215 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
3216 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
3217 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
3218 header.
3219 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
3220 string.
3221
3222 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3223
3224 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
3225 grub-core/genmod.sh and grub-core/gensyminfo.sh
3226
3227 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
3228
3229 Add a test for echo command options.
3230
3231 * tests/grub_cmd_echo.in: New test.
3232 * Makefile.util.def: Rules for new test.
3233
3234 2010-09-20 Szymon Janc <szymon@janc.net.pl>
3235
3236 Remove crc.mod and move crc command to hashsum.mod.
3237 Remove lib/crc.c - users updated to use gcrypt implementation.
3238
3239 * grub-core/commands/crc.c: Removed.
3240 * grub-core/Makefile.core.def (crc): Module removed.
3241 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
3242 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
3243 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
3244 * grub-core/lib/crc.c: Removed.
3245 * include/grub/lib/crc.h: Removed.
3246 * Makefile.util.def (crc): Remove lib/crc.c
3247 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
3248 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
3249 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
3250 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
3251 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
3252 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
3253
3254 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
3257
3258 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 Split config.h for util and core.
3261
3262 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
3263 (ADDR32): Likewise.
3264 (DATA32): Likewise.
3265 (BSS_START_SYMBOL): Likewise.
3266 (END_SYMBOL): Likewise.
3267 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
3268 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
3269 * config.h.in: New file.
3270 * configure.ac: Use config-util.h as config define file.
3271 Rename MACHINE into GRUB_MACHINE. All users updated.
3272 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
3273 updated.
3274 (NESTED_FUNC_ATTR): Likewise.
3275 Substitue new variables.
3276 (COND_HAVE_ASM_USCORE): New conditional.
3277 * grub-core/Makefile.am (ASM_PREFIX): New variable.
3278 (kernel_syms.lst): Use ASM_PREFIX.
3279 * grub-core/kern/emu/console.c: Include config-util.h.
3280 * grub-core/kern/emu/misc.c: Likewise.
3281 * grub-core/kern/emu/mm.c: Likewise.
3282 * include/grub/emu/misc.h: Likewise.
3283 * include/grub/libgcc.h: Likewise.
3284
3285 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
3288 constants usage.
3289 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
3290 Fix GRUB_TERM_KEY_* constants usage.
3291 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
3292
3293 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
3296 print pointer.
3297 * grub-core/bus/usb/uhci.c: Remove empty define.
3298 (grub_uhci_check_transfer): Add missing cast.
3299 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
3300 print pointer.
3301 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
3302 PRIuGRUB_SIZE.
3303 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
3304
3305 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 * grub-core/Makefile.core.def (legacycfg): Add
3308 lib/i386/pc/vesa_modes_table.c on emu.
3309
3310 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3311
3312 Reduce number of temporary files generated by build system.
3313
3314 * grub-core/gencmdlist.sh: Removed.
3315 * grub-core/genfslist.sh: Removed.
3316 * grub-core/genhandlerlist.sh: Removed.
3317 * grub-core/genmodsrc.sh: Removed.
3318 * grub-core/genpartmaplist.sh: Removed.
3319 * grub-core/genparttoollist.sh: Removed.
3320 * grub-core/gentermiinallist.sh: Removed.
3321 * grub-core/genvideolist.sh: Removed.
3322
3323 * grub-core/genmod.sh.in: New file.
3324 * grub-core/gensyminfo.sh.in: New file.
3325
3326 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
3327 * conf/Makefile.extra-dist: Update with new files.
3328 * gentpl.py: Remove rules related to unnecessary temporary files.
3329 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
3330 and und-* files.
3331 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
3332 genmod.sh scripts.
3333 * grub-core/bus/usb/uhci.c: Remove empty #define.
3334 * grub-core/genmoddep.awk: Updated with new syminfo format.
3335 * util/bash-completion.d/Makefile.am: Add config.log to
3336 CLEANFILES.
3337
3338 2010-09-19 Yves Blusseau <blusseau@zetam.org>
3339
3340 * Makefile.util.def: Add forgotten $(LIBINTL) library.
3341
3342 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3343
3344 * util/grub-mkconfig.in: Check the config script for syntax errors
3345 before saving.
3346
3347 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
3348 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * Makefile.util.def (grub-install): Use util/grub-install.in on all
3351 platforms.
3352 * util/grub-install.in: Add EFI and IEEE1275 support.
3353 * util/i386/efi/grub-install.in: Removed.
3354 * util/ieee1275/grub-install.in: Likewise.
3355
3356 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
3359 (grub_cmd_cmosclean): Likewise.
3360 (GRUB_MOD_INIT): Register command cmosclean.
3361 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
3362 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
3363
3364 2010-09-18 Carles Pina i Estany <carles@pina.cat>
3365 2010-09-18 Aleš Nesrsta <starous@volny.cz>
3366 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 Add keyboard layouts support.
3369
3370 * Makefile.util.def (grub-mklayout): New file.
3371 (grub-kbdcomp): New script.
3372 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
3373 Add keyboard_layouts.h.
3374 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
3375 commands/boot.c on yeeloong.
3376 (keylayouts): New module.
3377 * grub-core/bus/usb/ohci.c
3378 * grub-core/bus/usb/uhci.c
3379 * grub-core/bus/usb/usbhub.c (rescan): New variable.
3380 (grub_usb_add_hub): Poll interrupt pipe for device handling.
3381 (attach_root_port): Likewise.
3382 (poll_nonroot_hub): Likewise.
3383 (grub_usb_poll_devices): Likewise.
3384 (detach_device): Close transfer.
3385 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
3386 function.
3387 (grub_usb_bulk_setup_readwrite): Likewise.
3388 (grub_usb_bulk_finish_readwrite): Likewise.
3389 * grub-core/commands/keylayouts.c: New file.
3390 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
3391 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
3392 aliases.
3393 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
3394 support scancode 2.
3395 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
3396 * include/grub/keyboard_layouts.h: New file.
3397 * util/grub-mklayout.c: New file.
3398 * util/grub-kbdcomp.in: Likewise.
3399
3400 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 Unify memory types.
3403
3404 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
3405 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
3406 types.
3407 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
3408 (grub_upper_mem): Likewise.
3409 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
3410 * include/grub/memory.h (grub_memory_type_t): New enum.
3411 All users updated.
3412
3413 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * grub-core/Makefile.core.def (lsapm): New module.
3416 * grub-core/commands/i386/pc/lsapm.c: New file.
3417 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
3418 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
3419 Likewise.
3420 * include/grub/i386/pc/apm.h: New file.
3421 * include/multiboot.h (multiboot_apm_info): New struct.
3422
3423 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 GRUB-legacy configuration file support.
3426
3427 * Makefile.util.def (grub-menulst2cfg): New util.
3428 * docs/man/grub-menulst2cfg.h2m: New file.
3429 * grub-core/Makefile.core.def (legacycfg): New module.
3430 * grub-core/commands/legacycfg.c: New file.
3431 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
3432 (grub_normal_add_menu_entry): ... this.
3433 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
3434 (grub_normal_set_password): ...this.
3435 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
3436 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
3437 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
3438 * grub-core/lib/legacy_parse.c: New file.
3439 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
3440 * include/grub/i386/pc/vesa_modes_table.h: New file.
3441 * include/grub/legacy_parse.h: Likewise.
3442 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
3443 * util/grub-menulst2cfg.c: New file.
3444
3445 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3446
3447 * grub-core/kern/emu/hostdisk.c
3448 (convert_system_partition_to_system_disk): Initialise node.
3449
3450 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3451
3452 * grub-core/kern/emu/hostdisk.c
3453 (convert_system_partition_to_system_disk): Fix devmapper memory pool
3454 leak.
3455 Reported and based on patch by: Modestas Vainius.
3456
3457 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3458
3459 Fix DM-RAID probing with recent versions of device-mapper udev
3460 rules.
3461
3462 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
3463 canonicalise device paths under /dev/mapper/.
3464 (convert_system_partition_to_system_disk): Compare the
3465 uncanonicalised path to /dev/mapper/ rather than the canonicalised
3466 path, since device nodes under /dev/mapper/ are often symlinks.
3467
3468 2010-09-17 Yves Blusseau <blusseau@zetam.org>
3469
3470 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
3471
3472 2010-09-16 Yves Blusseau <blusseau@zetam.org>
3473
3474 * configure.ac: Avoid some annoying error messages if freetype-config
3475 program is not found.
3476
3477 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3478
3479 Support RAID on virtio devices, and others.
3480
3481 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
3482 Rename to ...
3483 [__MINGW32__] (grub_find_device): ... this.
3484 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
3485 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
3486 reasonable default if dir is NULL.
3487 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
3488 ...
3489 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
3490 (grub_guess_root_device): Update callers.
3491 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
3492
3493 * util/raid.c (grub_util_getdiskname): Remove.
3494 (grub_util_raid_getmembers): Use grub_find_device rather than
3495 grub_util_getdiskname.
3496
3497 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3498
3499 * docs/grub.texi (serial): Remove obsolete comment about GRUB
3500 needing to be compiled with serial support.
3501 (ls): Indicate that multiple files are accepted.
3502 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
3503 indicate that multiple files are accepted.
3504
3505 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3506
3507 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
3508 libgrub_a_init.c, and util/bash-completion.d/grub.
3509
3510 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * util/grub-setup.c (setup): Fix incorrect container semantics.
3513
3514 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
3517 misusage.
3518 Reported by: J. Nick Terry
3519
3520 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 Move embedding routines to partmap sources files.
3523
3524 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
3525 [GRUB_UTIL]: New variable.
3526 (gpt_partition_map_iterate): Set part.parent.
3527 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
3528 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
3529 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
3530 New function.
3531 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
3532 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
3533 (grub_partition_map) [GRUB_UTIL]: New field embed.
3534 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
3535 (setup): Use ->embed.
3536
3537 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
3540 function.
3541 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
3542 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
3543
3544 2010-09-15 Yves Blusseau <blusseau@zetam.org>
3545
3546 Add function to get completions from usage.
3547
3548 * util/bash-completion.d/grub-completion.bash.in: Add function to get
3549 completions from usage. Use LC_ALL=C to get options properly.
3550
3551 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * grub-core/gnulib/basename-lgpl.c: Imported.
3554 * grub-core/gnulib/basename.c: Likewise.
3555 * grub-core/gnulib/dirname-lgpl.c: Likewise.
3556 * grub-core/gnulib/dirname.c: Likewise.
3557 * grub-core/gnulib/dirname.h: Likewise.
3558 * grub-core/gnulib/stripslash.c: Likewise.
3559
3560 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * grub-core/gnulib/error.c: Resynced.
3563 * grub-core/gnulib/getopt.c: Likewise.
3564 * grub-core/gnulib/getopt_int.h: Likewise.
3565 * grub-core/gnulib/regex.h: Likewise.
3566 * grub-core/gnulib/regex_internal.c: Likewise.
3567 * grub-core/gnulib/regex_internal.h: Likewise.
3568
3569 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3570
3571 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
3572 CRC calculations and validity checks.
3573 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
3574 calculations.
3575
3576 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3577
3578 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
3579
3580 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 Fix incorrect echo options handling.
3583 Reported by: Yves Blusseau.
3584
3585 * include/grub/command.h (grub_command_flags_t): New flags
3586 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
3587 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
3588 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
3589
3590 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
3593 users updated.
3594 (GRUB_COMMAND_FLAG_MENU): Likewise.
3595 (GRUB_COMMAND_FLAG_BOTH): Likewise.
3596 (GRUB_COMMAND_FLAG_TITLE): Removed.
3597 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
3598 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
3599 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
3600 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
3601 (grub_command_flags_t): New enum. All users updated.
3602
3603 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
3604
3605 Fix solaris compilation.
3606
3607 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
3608 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
3609 (grub-emu-list): Likewise.
3610
3611 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 Remove deprecated root command.
3614
3615 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
3616 updated.
3617
3618 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * util/i386/pc/grub-setup.c: Merge this ...
3621 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
3622 * util/grub-setup.c: ... into this.
3623 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
3624 New struct.
3625
3626 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
3629 possible.
3630
3631 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
3634 allocate p.
3635
3636 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3639 explicit root argument to set to prevent UUID to be interpreted as
3640 argument to set.
3641
3642 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
3645
3646 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 Don't export grub_gate_a20.
3649
3650 * grub-core/kern/i386/pc/init.c: Remove leftovers.
3651 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
3652 to ...
3653 (grub_gate_a20): ... this. All users updated.
3654 * include/grub/i386/pc/init.h: Removed. All users updated.
3655
3656 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 Create euro.pf2 which supports most European languages.
3659
3660 * Makefile.am (grubdata_DATA): Add euro.pf2.
3661 (euro.pf2): New target.
3662 (CLEANFILES): Add euro.pf2.
3663
3664 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * configure.ac: Disable emu-usb by default to prevent inadvertent
3667 device takeover.
3668
3669 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3670
3671 Disable usbserial on grub-emu since our libusb code isn't good enough
3672 yet.
3673
3674 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
3675 (usbserial_pl2303): Likewise.
3676 (usbserial_ftdi): Likewise.
3677
3678 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3679
3680 * include/grub/disk.h (grub_disk): Remove has_partitions.
3681 All users updated.
3682 * disk/loopback.c (grub_loopback): Remove has_partitions.
3683 All users updated.
3684 (options): Remove partitions. All users updated.
3685 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
3686 * util/i386/pc/grub-setup.c (setup): copy partition table only when
3687 actual partition table is found.
3688
3689 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 Remove readability checks (too many false negatives).
3692
3693 * util/grub-install.in: Remove readability checks.
3694 * util/grub-mkconfig.in: Likewise.
3695 * util/grub.d/10_hurd.in: Likewise.
3696 * util/grub.d/10_kfreebsd.in: Likewise.
3697 * util/grub.d/10_linux.in: Likewise.
3698 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
3699 way.
3700
3701 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 Enable acpi shutdown on all ACPI platforms.
3704
3705 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
3706 on coreboo, multiboot and EFI.
3707 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
3708 (grub_acpi_halt): Likewise.
3709 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
3710 (grub_cmd_halt): Don't call grub_acpi_halt directly.
3711 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
3712 * grub-core/lib/i386/halt.c (grub_halt)
3713 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
3714
3715 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
3718 context.
3719
3720 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * grub-core/video/efi_gop.c: Fix over-80-chars line.
3723 * grub-core/video/efi_uga.c: Likewise.
3724
3725 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 Filter devaliases and never open same device twice.
3728
3729 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
3730 (last_ihandle): Likewise.
3731 (ofdisk_hash_ent): New member shortest.
3732 (ofdisk_hash_add): Add canonical path too.
3733 (scan): New function.
3734 (grub_ofdisk_iterate): Iterate over hashed entries.
3735 (compute_dev_path): Don't add :0.
3736 (grub_ofdisk_open): Don't really open the disk.
3737 (grub_ofdisk_close): Avoid closing unrelated disk.
3738 (grub_ofdisk_read): Implement reopen logic.
3739 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
3740 New function.
3741 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
3742 New proto.
3743
3744 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 Fix sparc64.
3747
3748 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
3749 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
3750 right address. Add sparc64_ieee1275_ldflags.
3751 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
3752 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
3753 to grub_host_to_target_addr
3754 (load_image): Likewise.
3755
3756 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * grub-core/normal/completion.c (complete_file): Handle device
3759 containing slash.
3760 Fix based on patch by Doug Nazar.
3761
3762 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 grub-mknetdir script.
3765
3766 * Makefile.util.def (grub-mknetdir): New module.
3767 * tests/util/grub-shell.in: Support boot=net
3768 * util/grub-mknetdir.in: New file.
3769
3770 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 videoinfo on non-vbe.
3773
3774 * grub-core/Makefile.core.def (vbeinfo): Removed.
3775 (vbetest): Removed.
3776 (videoinfo): New module.
3777 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
3778 * grub-core/commands/i386/pc/vbetest.c: Removed.
3779 * grub-core/commands/videoinfo.c: New file.
3780 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
3781 specification.
3782 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
3783 as vbetest.
3784 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
3785 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
3786 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
3787 mode_number. New parameter mode. All users updated.
3788 (grub_video_gop_iterate): New function.
3789 (grub_video_efi_gop): New member iterate.
3790 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
3791 (grub_vbe_set_video_mode): Remove setting useless fields.
3792 (vbe2videoinfo): New function.
3793 (grub_video_vbe_iterate): Likewise.
3794 (grub_video_vbe_setup): Use vbe2videoinfo.
3795 (grub_video_vbe_print_adapter_specific_info): New function.
3796 (grub_video_vbe_adapter): New fields iterate and
3797 print_adapter_specific_info.
3798 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
3799 All users updated.
3800 (grub_video_mode_info): New field mode_number.
3801 (grub_video_adapter): New fields iterate and
3802 print_adapter_specific_info.
3803
3804 2010-09-13 Tristan Gingold <gingold@free.fr>
3805 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
3806 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 * grub-core/commands/efi/lsefisystab.c: New file.
3809 * grub-core/commands/efi/lssal.c: Likewise.
3810 * grub-core/Makefile.core.def (lsacpi): New module.
3811 (lsefisystab): Likewise.
3812 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
3813 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
3814 (grub_efi_sal_system_table): New struct.
3815 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
3816 (grub_efi_sal_system_table_memory_descriptor): Likewise.
3817 (grub_efi_sal_system_table_platform_features): Likewise.
3818 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
3819 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
3820 (grub_efi_sal_system_table_ap_wakeup): Likewise.
3821 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
3822
3823 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 Support explicit user claim that a device is BIOS-visible.
3826
3827 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
3828 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
3829 * grub-core/kern/emu/hostdisk.c
3830 (convert_system_partition_to_system_disk): Support mdX.
3831 (find_system_device): New parameter add. All users updated.
3832 (grub_util_biosdisk_is_present): New function.
3833 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
3834 proto.
3835
3836 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 Search hints support.
3839
3840 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
3841 All users updated.
3842
3843 2010-09-13 Yves Blusseau <blusseau@zetam.org>
3844
3845 Bash completion script for util commands
3846
3847 * Makefile.am: Add util/bash-completion.d directory
3848 * configure.ac: Likewise.
3849 * util/bash-completion.d/Makefile.am: New file.
3850 * util/bash-completion.d/grub-completion.bash.in: Likewise.
3851
3852 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
3855 (print_backlog): set backlog_ucs4 and backlog_glyphs.
3856 Reported by: Yves Blusseau.
3857
3858 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
3861 partition size and offset.
3862
3863 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
3866
3867 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3868
3869 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
3870
3871 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
3874 (grub_xvasprintf): Likewise.
3875
3876 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
3879
3880 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3881
3882 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
3883 args ending with NULL.
3884
3885 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
3888 pointer.
3889
3890 2010-09-11 Szymon Janc <szymon@janc.net.pl>
3891
3892 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
3893
3894 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 Shutdown using ACPI.
3897
3898 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
3899 * grub-core/commands/acpihalt.c: New file.
3900 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
3901 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
3902 (grub_acpi_halt): New proto.
3903 (GRUB_ACPI_SLP_EN): New const.
3904 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
3905 (GRUB_ACPI_OPCODE_*): New enum.
3906 (GRUB_ACPI_EXTOPCODE_*): Likewise.
3907
3908 2010-09-11 Tristan Gingold <gingold@free.fr>
3909 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
3910 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * commands/lsacpi.c: New file.
3913 * grub-core/Makefile.core.def (lsacpi): New module.
3914 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
3915 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
3916 (grub_acpi_madt_entry_header): New struct.
3917 (grub_acpi_madt): Likewise.
3918 (grub_acpi_madt_entry_interrupt_override): Likewise.
3919 (grub_acpi_madt_entry_sapic): Likewise.
3920 (grub_acpi_madt_entry_lsapic): Likewise.
3921 (grub_acpi_madt_entry_platform_int_source): Likewise.
3922 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
3923 (PRIuGRUB_UINT32_T): Likewise.
3924 (PRIxGRUB_UINT64_T): Likewise.
3925
3926 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 Implement loading palette on ieee1275_fb.
3929
3930 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
3931 (have_setcolors): Likewise.
3932 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
3933 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
3934 (grub_video_ieee1275_set_palette): Implement.
3935
3936 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3937 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
3938
3939 * util/grub-install.in (grub_partition): New variable.
3940 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
3941 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
3942 Fixes a bug reported by Yves Blusseau.
3943
3944 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 Fix emu on mipsel.
3947
3948 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
3949 =grub_cpu_flush_cache on all mips and not only yeeloong.
3950 * configure.ac (COND_mips): New conditional.
3951 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
3952 platforms.
3953 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
3954 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
3955 [GRUB_LINKER_HAVE_INIT]: New function.
3956 (grub_emu_post_init): Likewise.
3957 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
3958 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
3959 * include/grub/cache.h (_mips): Include mips/cache.h.
3960 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
3961 LVM and RAID prototypes.
3962 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
3963 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
3964 function.
3965
3966 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3967
3968 * util/grub-install.in: Don't try to verify core.img until after
3969 running grub-mkimage to create it.
3970
3971 2010-09-10 Robert Millan <rmh@gnu.org>
3972
3973 * util/grub.d/10_hurd.in: Add misc readability checks.
3974 * util/grub.d/10_kfreebsd.in: Likewise.
3975 * util/grub.d/10_linux.in: Likewise.
3976
3977 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3978
3979 * util/grub-install.in: ${imgext} won't be defined here until the
3980 install branch is merged. For the meantime, only verify core.img on
3981 i386-pc and sparc64-ieee1275 platforms.
3982
3983 2010-09-10 Robert Millan <rmh@gnu.org>
3984
3985 Solaris support in grub_find_zpool_from_dir(). Thanks
3986 Seth Goldberg for referring to getextmntent() facility.
3987
3988 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
3989 `sys/mkdev.h'.
3990 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
3991 `<sys/mnttab.h>'.
3992 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
3993 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
3994 method for finding zpool name.
3995
3996 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3997
3998 grub-fstest needs the host and hostfs modules while other utilities
3999 actively require those modules to be absent, so grub-fstest needs
4000 its own initialisation and finalisation code.
4001
4002 * Makefile.am (grub_fstest.pp): New target.
4003 (grub_fstest_init.lst): Likewise.
4004 (grub_fstest_init.c): Likewise.
4005 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
4006
4007 2010-09-10 Robert Millan <rmh@gnu.org>
4008
4009 * configure.ac: Check for `struct statfs.f_fstypename' and
4010 `struct statfs.f_mntfromname'.
4011
4012 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
4013 kFreeBSD-specific code.
4014
4015 2010-09-10 Robert Millan <rmh@gnu.org>
4016
4017 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
4018 on ZFS. Now non-main filesystems are supported as / too.
4019
4020 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
4021
4022 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
4023 and grub-core/disk/host.c to ...
4024 (grub-fstest): ... here. Having the host disk implementation
4025 present confuses grub-probe and other utility programs.
4026
4027 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
4028 when writing to a file, not when writing to stdout.
4029
4030 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
4031
4032 * tests/partmap_test.in: New test for partitions.
4033 * Makefile.util.def: Rules for new test.
4034
4035 2010-09-09 Robert Millan <rmh@gnu.org>
4036
4037 * util/grub-probe.c (probe): Fix a pair of unhandled error
4038 conditions.
4039
4040 2010-09-09 Robert Millan <rmh@gnu.org>
4041
4042 Basic Btrfs support (detection and UUID).
4043
4044 * grub-core/fs/btrfs.c: New file.
4045 * Makefile.util.def (library): Register btrfs.c.
4046 * grub-core/Makefile.core.def: Likewise.
4047
4048 2010-09-08 Robert Millan <rmh@gnu.org>
4049
4050 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
4051 with (optional) parameters to specify device and relative path.
4052 * util/grub-install.in: Use is_path_readable_by_grub() to
4053 verify readability of a few critical files.
4054 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
4055 verify readability of grub.cfg.new.
4056
4057 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4058
4059 Split minix.mod into minix.mod and minix2.mod.
4060
4061 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
4062 * grub-core/Makefile.core.def (minix2): New module.
4063 * grub-core/fs/minix.c: Use definitions instead of runtime version
4064 checking.
4065 * grub-core/fs/minix2.c: New file.
4066
4067 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4068
4069 Add new --boot-directory option to replace --root-directory
4070
4071 * util/grub-install.in: Add new --boot-directory option
4072 * util/grub-reboot.in: Likewise.
4073 * util/grub-set-default.in: Likewise.
4074
4075 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4076
4077 * util/grub-mkconfig.in: Use new variable.
4078
4079 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4080
4081 * configure.ac: Define some useful variables.
4082
4083 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4086 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
4087 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
4088 Use terminfo and don't use cursor-on/cursor-off unless it's known
4089 to work.
4090 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
4091 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
4092
4093 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
4094
4095 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
4096 starts with "(,", fill the drive containing the loaded image in
4097 between those two characters, but expect that a full partition
4098 specification including partition map names will follow.
4099
4100 2010-09-08 Robert Millan <rmh@gnu.org>
4101
4102 * configure.ac: Remove `--enable-grub-fstest' option.
4103 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
4104
4105 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
4106 `grub-fstest' instead of `grub-probe' for readability verification.
4107 * util/grub-probe.c (probe): Remove readability verification kludge.
4108
4109 2010-09-08 Robert Millan <rmh@gnu.org>
4110
4111 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
4112 initializing `GRUB_FS'.
4113
4114 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
4115
4116 Not command (!) support to GRUB script.
4117
4118 * tests/grub_script_not.in: New test.
4119 * Makefile.util.def: Rules for new test.
4120
4121 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
4122 ! command as a special case.
4123 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
4124
4125 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4126
4127 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
4128 grub_free.
4129
4130 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4131
4132 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
4133
4134 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4135
4136 * docs/grub.texi (Shell-like scripting): Documentation for break,
4137 continue, shift and return commands.
4138
4139 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 Rename CD-ROM to cd on BIOS.
4142
4143 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
4144 "cd".
4145 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
4146
4147 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
4150 * util/grub-probe.c (main): Likewise.
4151 * util/i386/pc/grub-setup.c (main): Likewise.
4152 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
4153 Reported and debugged by: alexxy
4154
4155 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
4158 diagnostic info.
4159
4160 2010-09-05 Jo Shields <directhex@apebox.org>
4161
4162 * util/grub.d/30_os-prober.in: Add missing classes.
4163
4164 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * docs/grub.texi (Theme file format): Document new position format.
4167
4168 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
4171 a table. Use @code instead of @verbatim.
4172
4173 2010-09-05 Colin D Bennett <colin@gibibit.com>
4174
4175 Gfxmenu documentation.
4176
4177 * docs/grub.texi (Theme file format): New chapter.
4178
4179 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4180
4181 * grub-core/Makefile.core.def (xzio): New module.
4182 * grub-core/io/xzio.c: New file.
4183 * grub-core/lib/xzembed/xz.h: New file (from xembed).
4184 * grub-core/lib/xzembed/xz_config.h: Likewise.
4185 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
4186 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
4187 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
4188 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
4189 * grub-core/lib/xzembed/xz_private.h: Likewise.
4190 * grub-core/lib/xzembed/xz_stream.h: Likewise.
4191 * include/grub/file.h (grub_file_filter_id): New compression filter
4192 GRUB_FILE_FILTER_XZIO.
4193
4194 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
4197 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
4198 size.
4199
4200 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
4203 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
4204
4205 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 Uncompressed checksum support.
4208
4209 * grub-core/commands/hashsum.c (options): Add option --uncompress.
4210 (check_list): New parameter uncompress.
4211 (grub_cmd_hashsum): Handle --uncompress.
4212
4213 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 Reintroduce testload.
4216
4217 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
4218 from here ...
4219 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
4220 (GRUB_MOD_INIT): New function.
4221 (GRUB_MOD_FINI): Likewise.
4222 * grub-core/Makefile.core.def (testload): New module.
4223
4224 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4225
4226 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
4227 (uint8_t): New type.
4228 (uint16_t): Likewise.
4229 (uint32_t): Likewise.
4230 (uint64_t): Likewise.
4231
4232 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4233
4234 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
4235
4236 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
4239 Made static.
4240 (grub_gzfile_open): Removed. All users updated.
4241 (GRUB_MOD_INIT): New function.
4242 (GRUB_MOD_FINI): Likewise.
4243 * grub-core/kern/file.c (grub_file_filters_all): New variable.
4244 (grub_file_filters_enabled): Likewise.
4245 (grub_file_open): Handle filters.
4246 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
4247 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
4248 * include/grub/file.h (grub_file_filter_id_t): New type.
4249 (grub_file_filter_t): Likewise.
4250 (grub_file_filters_all): New extern variable.
4251 (grub_file_filters_enabled): Likewise.
4252 (grub_file_filter_register): New inline function.
4253 (grub_file_filter_unregister): Likewise.
4254 (grub_file_filter_disable): Likewise.
4255 (grub_file_filter_disable_compression): Likewise.
4256 * include/grub/gzio.h: Removed.
4257
4258 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4259
4260 Filename expansion support for wildcards in GRUB script.
4261
4262 * tests/grub_script_expansion.in: New test.
4263 * Makefile.util.def: Rule for new test.
4264
4265 * grub-core/commands/wildcard.c: New file, implements filename
4266 expansion support for GRUB script.
4267 * grub-core/Makefile.core.def: Rule update for regexp.mod.
4268 * grub-core/script/argv.c: Cosmetic changes.
4269 * grub-core/script/execute.c (grub_script_arglist_to_argv):
4270 Refactored to perform wildcard expansion on arguments.
4271 * include/grub/script_sh.h (grub_script_wildcard_translator): New
4272 struct.
4273
4274 * tests/util/grub-shell.in: Fix quoting for read input.
4275
4276 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4277
4278 Support for updating environment variables with matched substrings
4279 of regexp.
4280
4281 * tests/grub_cmd_regexp.in: New test.
4282 * Makefile.util.def: Rule for new test.
4283
4284 * grub-core/commands/regexp.c: New option -s to update environment
4285 variables with regexp matches.
4286
4287 2010-09-04 Szymon Janc <szymon@janc.net.pl>
4288
4289 * include/grub/file.h (grub_file): New member not_easly_seekable.
4290 (grub_file_seekable): New inline function.
4291 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
4292 easily seekable.
4293 (grub_gzio_open): Set not_easly_seekable.
4294 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
4295 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
4296
4297 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4298
4299 Support for options to appear multiple times on cmdline.
4300
4301 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
4302 * grub-core/commands/extcmd.c: Support for repeatable option.
4303 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
4304 repeatable option support.
4305
4306 Refactor menuentry into a regular command.
4307
4308 * grub-core/commands/menuentry.c: New file, menuentry command
4309 implementation.
4310 * grub-core/Makefile.core.def: Rule update for normal.mod.
4311 * grub-core/normal/main.c: Moved menuentry creation to
4312 grub-core/commands/menuentry.c.
4313 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
4314 (grub_menu_execute_entry_real): Removed.
4315 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
4316 function.
4317 (grub_script_execute_menuentry): Removed.
4318 * grub-core/script/parser.y (menuentry): Removed.
4319 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
4320 * grub-core/script/yylex.l (menuentry): Removed.
4321 * include/grub/menu.h (grub_menu_init): New prototype.
4322 (grub_menu_fini): New prototype.
4323 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
4324 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
4325 (grub_script_execute_sourcecode): New prototype.
4326
4327 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4328
4329 "return" command for GRUB script functions.
4330
4331 * tests/grub_script_return.in: New test.
4332 * Makefile.util.def: Rules for new test.
4333
4334 * grub-core/script/execute.c (grub_script_return): New function.
4335 * grub-core/script/main.c: Register/unregister return commaond.
4336 * include/grub/script_sh.h (grub_script_return): New prototype.
4337
4338 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4339
4340 "setparams" command to update positional parameters.
4341
4342 * tests/grub_script_setparams.in: New test.
4343 * Makefile.util.def: Rules for new test.
4344
4345 * grub-core/script/argv.c (grub_script_argv_make): New function.
4346 * grub-core/script/execute.c (replace_scope): New function.
4347 (grub_script_setparams): New function.
4348 * grub-core/script/lexer.c: Remove unused variables.
4349 * grub-core/script/main.c: Register/unregister setparams command.
4350 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
4351 (grub_script_setparams): New prototype.
4352
4353 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4354
4355 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
4356 grub_free order.
4357
4358 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4359
4360 Support for passing block of commands as an argument to extcmds.
4361
4362 * Makefile.util.def: Rules for new test.
4363 * tests/grub_script_blockarg.in: New test.
4364 * grub-core/tests/test_blockarg.c: New file, block argument
4365 command used in the test.
4366
4367 * include/grub/extcmd.h (grub_extcmd_context): New struct.
4368 (grub_register_extcmd_prio): New function prototype.
4369 (grub_extcmd_dispatcher): New function prototype.
4370 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
4371 type.
4372 * include/grub/script_sh.h (struct grub_script): New members
4373 `children', `next_siblings' and `refcnt' for block arguments and
4374 reference counting.
4375 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
4376 (grub_script_arg): New member `script' for block argument.
4377 (grub_script_argv): New member `script' for block argument.
4378 (grub_parser_param): New member `scripts' for block argument.
4379 (grub_script_mem_free): New extern function prototype.
4380 (grub_script_ref): New function prototype.
4381 (grub_script_unref): New function prototype.
4382
4383 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
4384 extcmd form to support block arguments.
4385 * grub-core/script/argv.c: Block arguments support.
4386 * grub-core/script/execute.c: Likewise.
4387 * grub-core/script/lexer.c: Likewise.
4388 * grub-core/script/main.c: Likewise.
4389 * grub-core/script/script.c: Likewise.
4390 * grub-core/script/parser.y: Likewise. New `block' and `block0'
4391 non-terminals.
4392
4393 * grub-core/commands/acpi.c: Update extcmd implementations with
4394 grub_extcmd_context_t.
4395 * grub-core/commands/cat.c: Likewise.
4396 * grub-core/commands/echo.c: Likewise.
4397 * grub-core/commands/extcmd.c: Likewise.
4398 * grub-core/commands/hashsum.c: Likewise.
4399 * grub-core/commands/hdparm.c: Likewise.
4400 * grub-core/commands/help.c: Likewise.
4401 * grub-core/commands/hexdump.c: Likewise.
4402 * grub-core/commands/i386/cpuid.c: Likewise.
4403 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4404 * grub-core/commands/i386/pc/halt.c: Likewise.
4405 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4406 * grub-core/commands/iorw.c: Likewise.
4407 * grub-core/commands/keystatus.c: Likewise.
4408 * grub-core/commands/loadenv.c: Likewise.
4409 * grub-core/commands/ls.c: Likewise.
4410 * grub-core/commands/lspci.c: Likewise.
4411 * grub-core/commands/memrw.c: Likewise.
4412 * grub-core/commands/probe.c: Likewise.
4413 * grub-core/commands/search_wrap.c: Likewise.
4414 * grub-core/commands/setpci.c: Likewise.
4415 * grub-core/commands/sleep.c: Likewise.
4416 * grub-core/disk/loopback.c: Likewise.
4417 * grub-core/hello/hello.c: Likewise.
4418 * grub-core/loader/i386/bsd.c: Likewise.
4419 * grub-core/loader/xnu.c: Likewise.
4420 * grub-core/term/gfxterm.c: Likewise.
4421 * grub-core/term/serial.c: Likewise.
4422 * grub-core/tests/lib/functional_test.c: Likewise.
4423
4424 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4425
4426 Multi-line quoted strings support.
4427
4428 * grub-core/script/lexer.c (append_newline): Removed.
4429 (grub_script_lexer_yywrap): Refactored.
4430 (grub_script_lexer_init): Refactored.
4431 * grub-core/script/yylex.l (yywrap): New function.
4432 (grub_lexer_resplit): New function.
4433 (grub_lexer_unput): New function.
4434 * include/grub/script_sh.h (grub_lexer_param): New members, unput
4435 and resplit.
4436 * tests/grub_script_echo1.in: Added few more testcases.
4437
4438 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/kern/misc.c: Don't add abort alias in utils.
4441 Reported by: echoline.
4442
4443 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
4444
4445 Add missing files into "make dist" tarball for other platforms.
4446
4447 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
4448 * conf/Makefile.common (dist_noinst_DATA): New variable.
4449 * conf/Makefile.extra-dist: Added missing make dist files.
4450 * grub-core/Makefile.core.def: Likewise.
4451
4452 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 Compress grub_prefix.
4455
4456 * grub-core/boot/i386/pc/lnxboot.S: Use
4457 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
4458 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
4459 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
4460 GRUB_MACHINE_PREFIX_END. All users updated.
4461 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
4462 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
4463 + 0x40.
4464 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4465 * util/grub-mkimage.c (image_target_desc): Change data_end to
4466 prefix_end. All users updated.
4467
4468 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
4471 value.
4472 (grub_openbsd_boot): Likewise.
4473 (grub_netbsd_boot): Likewise.
4474 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
4475 (grub_xnu_boot): Likewise.
4476
4477 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * configure.ac: Clean LIBS variable after tests.
4480
4481 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4482
4483 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
4484
4485 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
4488 echo if libdevmapper will be used.
4489
4490 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
4491
4492 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
4493 constant for the same file.
4494
4495 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
4498
4499 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4500
4501 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
4502 grub-core/*.pp.
4503
4504 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4505
4506 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
4507 required by the boot protocol.
4508
4509 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
4510 ebp and edi members.
4511 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
4512 state.ebp and state.edi.
4513 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
4514 %ebp and %edi according to grub_relocator32_ebp and
4515 grub_relocator32_edi respectively.
4516 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
4517 and state.edi.
4518
4519 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 Add i386-pc-pxe image target.
4522
4523 * util/grub-mkimage.c (image_target_desc): New enum value
4524 IMAGE_I386_PC_PXE.
4525 (image_targets): New target i386-pc-pxe.
4526 (generate_image): Handle i386-pc-pxe image.
4527
4528 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 Fix grub_pxe_scan.
4531
4532 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
4533 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
4534 All users updated.
4535 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
4536 (grub_pxe_pxenv): Correct type.
4537
4538 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4539
4540 * NEWS: Document most of the important changes since 1.98.
4541
4542 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4543
4544 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
4545 generated manual page) a little.
4546
4547 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4548
4549 * docs/grub.texi: Add myself as an author.
4550
4551 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * Makefile.util.def (libgrub.a): Add missing sunpc.
4554 Reported by: Seth Goldberg.
4555
4556 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 Interrupt wrapping and code simplifications.
4559
4560 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
4561 x86_noieee1275 which are functionaly equivalent in this case.
4562 (grub-install): Make source on each platform explicit. Enable on
4563 all noemu.
4564 * gentpl.py (x86_efi_pc): Removed group.
4565 (x86_noefi): Likewise.
4566 (i386_noefi): Likewise.
4567 (x86_noieee1275): Likewise.
4568 (i386_noieee1275): Likewise.
4569 (i386_noefi_noieee1275): Likewise.
4570 (i386_pc_qemu_coreboot): Likewise.
4571 (i386_coreboot_multiboot): Likewise.
4572 (i386_pc_coreboot_multiboot_qemu): Likewise.
4573 (x86_noefi_mips): Likewise.
4574 (noieee1275): Likewise.
4575 (ieee1275_mips): Likewise.
4576 (noemu_noieee1275): Likewise.
4577 (cmos): New group.
4578 (usb): Likewise.
4579 (videoinkernel): Likewise.
4580 (videomodules): Likewise.
4581 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
4582 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
4583 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
4584 include/grub/loader.h, include/grub/msdos_partition.h,
4585 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
4586 include/grub/machine/console.h, include/grub/machine/vga.h,
4587 include/grub/machine/vbe.h, include/grub/machine/init.h,
4588 include/grub/machine/kernel.h, include/grub/cpu/time.h,
4589 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
4590 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
4591 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
4592 * grub-core/Makefile.core.def (kernel): Explicit the source for
4593 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
4594 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
4595 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
4596 Use videoinkernel tag.
4597 (usb): Enable on all usb.
4598 (usbserial_common): Likewise.
4599 (usbserial_pl2303): Likewise.
4600 (usbserial_ftdi): Likewise.
4601 (uhci): Enable on all x86.
4602 (ohci): Enable on all pci.
4603 (cmostest): Enable on all CMOS.
4604 (acpi): Include commands/acpi.c on all platforms.
4605 (halt): Add relevant lib/*/halt.c.
4606 (hdparm): Enable on all pci.
4607 (lspci): Likewise.
4608 (usbtest): Enable on all usb.
4609 (ata): Enable on all pci.
4610 (ata_pthru): Likewise.
4611 (usbms): Enable on all usb.
4612 (usb_keyboard): Likewise.
4613 (font): Use tag videomodules.
4614 (bufio): Likewise.
4615 (datetime): Use tag cmos. Enable on all noemu.
4616 (mmap): Use tags common and x86.
4617 (gfxterm): Use tag videomodules.
4618 (bitmap): Likewise.
4619 (bitmap_scale): Likewise.
4620 (video_fb): Likewise.
4621 (video): Likewise.
4622 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
4623 adjust padding accordingly. All users updated.
4624 (grub_ohci_transaction): Fix bad format specification.
4625 (GRUB_MOD_INIT): Add asserts for struct size.
4626 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
4627 (grub_alloc_td): Likewise.
4628 (grub_free_queue): Likewise.
4629 (grub_uhci_transfer): Likewise.
4630 (grub_uhci_transaction): Fix bad format specification.
4631 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4632 (grub_usb_bulk_readwrite): Likewise.
4633 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
4634 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
4635 Made static.
4636 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
4637 Made static.
4638 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
4639 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
4640 Transformed into C.
4641 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
4642 Moved from here ...
4643 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
4644 ... here. Transformed into C. Made static.
4645 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
4646 Moved from here ...
4647 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
4648 ... here. Transformed into C. Made static.
4649 * grub-core/kern/i386/pc/startup.S
4650 (grub_biosdisk_check_int13_extensions): Moved from here ...
4651 * grub-core/disk/i386/pc/biosdisk.c
4652 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
4653 Made static.
4654 * grub-core/kern/i386/pc/startup.S
4655 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
4656 * grub-core/disk/i386/pc/biosdisk.c
4657 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
4658 Transformed into C. Made static.
4659 * grub-core/kern/i386/pc/startup.S
4660 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
4661 * grub-core/disk/i386/pc/biosdisk.c
4662 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
4663 Transformed into C. Made static.
4664 * grub-core/kern/i386/pc/startup.S
4665 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
4666 * grub-core/disk/i386/pc/biosdisk.c
4667 (grub_biosdisk_get_diskinfo_standard): ... here.
4668 Transformed into C. Made static.
4669 * grub-core/kern/i386/pc/startup.S
4670 (grub_biosdisk_get_num_floppies): Moved from here ...
4671 * grub-core/disk/i386/pc/biosdisk.c
4672 (grub_biosdisk_get_num_floppies): ... here.
4673 Transformed into C. Made static.
4674 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
4675 New function.
4676 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
4677 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
4678 Transformed into C. Made static.
4679 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
4680 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
4681 Transformed into C. Made static.
4682 * grub-core/kern/i386/ieee1275/init.c: Removed.
4683 * grub-core/kern/i386/misc.S: Likewise.
4684 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
4685 Splitted from here ...
4686 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
4687 Transformed into C. Made static. All users updated.
4688 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
4689 Transformed into C. Made static. All users updated.
4690 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
4691 Moved from here...
4692 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
4693 Transformed into C. Made static. All users updated.
4694 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
4695 Moved from here...
4696 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
4697 Transformed into C. Made static. All users updated.
4698 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
4699 Removed (replaced by C version).
4700 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
4701 Moved from here...
4702 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
4703 Transformed into C. Made static.
4704 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
4705 Moved from here...
4706 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
4707 ... here. Transformed into C.
4708 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
4709 Moved from here...
4710 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
4711 ... here. Transformed into C.
4712 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
4713 Moved from here...
4714 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
4715 ... here. Transformed into C. Made static.
4716 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
4717 Moved from here...
4718 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
4719 ... here. Transformed into C.
4720 * grub-core/kern/i386/pc/startup.S
4721 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
4722 * grub-core/video/i386/pc/vbe.c
4723 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
4724 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
4725 Moved from here...
4726 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
4727 ... here. Transformed into C.
4728 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
4729 Moved from here...
4730 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
4731 ... here. Transformed into C.
4732 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
4733 Moved from here...
4734 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
4735 ... here. Transformed into C.
4736 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
4737 Moved from here...
4738 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
4739 ... here. Transformed into C.
4740 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
4741 Moved from here...
4742 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
4743 ... here. Transformed into C. Made static.
4744 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
4745 Moved from here...
4746 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
4747 ... here. Transformed into C. Made static.
4748 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
4749 Moved from here...
4750 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
4751 ... here. Transformed into C. Made static.
4752 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
4753 pxe_rm_entry as third argument.
4754 (grub_bios_interrupt): New function.
4755 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
4756 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
4757 of calling grub_stop.
4758 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
4759 * grub-core/lib/efi/halt.c (grub_halt): ...here.
4760 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
4761 * grub-core/lib/emu/halt.c (grub_halt): ... here.
4762 * grub-core/lib/i386/halt.c: Moved from here ...
4763 * grub-core/lib/i386/halt.c: ... here.
4764 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
4765 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
4766 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
4767 grub_stop_floppy.
4768 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
4769 * include/grub/i386/coreboot/init.h: Removed.
4770 * include/grub/i386/multiboot/init.h: Likewise.
4771 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
4772 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
4773 * include/grub/i386/pc/int.h: New file.
4774 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
4775 (grub_pxe_scan): Removed.
4776 (grub_pxe_call): Update prototype.
4777 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
4778 prototypes.
4779 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
4780 * include/grub/i386/qemu/init.h: Removed.
4781 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
4782 noreturn.
4783 (grub_halt): Likewise.
4784 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
4785 (grub_reboot): Likewise.
4786 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
4787 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
4788 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
4789
4790 2010-08-30 Robert Millan <rmh@gnu.org>
4791
4792 * NEWS: Document addition of ZFS support in `grub-install' and
4793 `grub-mkconfig'.
4794
4795 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
4796
4797 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
4798 dprintf output.
4799
4800 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 Remove leftover embedding of font objects.
4803
4804 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4805 * util/grub-install.in (font): Removed.
4806 * util/grub-mkimage.c (generate_image): Remove font support. All users
4807 updated.
4808
4809 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 Remove leftover embedding of font objects.
4812
4813 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4814 * util/grub-install.in (font): Removed.
4815 * util/grub-mkimage.c (generate_image): Remove font support. All users
4816 updated.
4817
4818 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 * docs/grub.texi (Network): Fix reference to pxe_blksize.
4821 Reported by: Ian Turner
4822
4823 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
4826 timeout to avoid indefinite boot stalling.
4827
4828 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
4831 (grub_env_write_color_highlight): Likewise.
4832
4833 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * grub-core/normal/term.c (print_more): Return to normal and not
4836 to standard state after printing "---MORE---".
4837
4838 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
4841 Mask out the bit 0x80 since it has other meaning that specifiing color.
4842
4843 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 New relocator. Allows for more kernel support and more straightforward
4846 loader writing.
4847
4848 * Makefile.am (BOOTTARGET): New variable.
4849 (QEMU32): Likewise.
4850 (linux.init.x86_64): New target.
4851 (linux.init.i386): Likewise.
4852 (multiboot.elf): Likewise.
4853 (kfreebsd.elf): Likewise.
4854 (kfreebsd.aout): Likewise.
4855 (pc-chainloader.elf): Likewise.
4856 (pc-chainloader.bin): Likewise.
4857 (ntldr.elf): Likewise.
4858 (ntldr.bin): Likewise.
4859 (multiboot2.elf): Likewise.
4860 (kfreebsd.init.x86_64): Likewise.
4861 (kfreebsd.init.i386): Likewise.
4862 (knetbsd.init.i386): Likewise.
4863 (kopenbsd.init.i386): Likewise.
4864 (knetbsd.init.x86_64): Likewise.
4865 (kopenbsd.init.x86_64): Likewise.
4866 (linux-initramfs.i386): Likewise.
4867 (linux-initramfs.x86_64): Likewise.
4868 (kfreebsd-mfsroot.i386.img): Likewise.
4869 (knetbsd.image.i386): Likewise.
4870 (kopenbsd.image.i386): Likewise.
4871 (kopenbsd.image.x86_64): Likewise.
4872 (knetbsd.miniroot-image.i386.img): Likewise.
4873 (kfreebsd-mfsroot.x86_64.img): Likewise.
4874 (knetbsd.image.x86_64): Likewise.
4875 (knetbsd.miniroot-image.x86_64.img): Likewise.
4876 (kfreebsd-mfsroot.i386.gz): Likewise.
4877 (bootcheck-kfreebsd-i386): Likewise.
4878 (kfreebsd-mfsroot.x86_64.gz): Likewise.
4879 (bootcheck-kfreebsd-x86_64): Likewise.
4880 (knetbsd.miniroot-image.i386.gz): Likewise.
4881 (bootcheck-knetbsd-i386): Likewise.
4882 (bootcheck-kopenbsd-i386): Likewise.
4883 (bootcheck-kopenbsd-x86_64): Likewise.
4884 (knetbsd.miniroot-image.x86_64.gz): Likewise.
4885 (bootcheck-knetbsd-x86_64): Likewise.
4886 (bootcheck-linux-i386): Likewise.
4887 (bootcheck-linux-x86_64): Likewise.
4888 (bootcheck-linux16-i386): Likewise.
4889 (bootcheck-linux16-x86_64): Likewise.
4890 (bootcheck-multiboot): Likewise.
4891 (bootcheck-multiboot2): Likewise.
4892 (bootcheck-kfreebsd-aout): Likewise.
4893 (bootcheck-pc-chainloader): Likewise.
4894 (bootcheck-ntldr): Likewise.
4895 (CLEANFILES): Add new targets.
4896 (BOOTCHECKS): New variable.
4897 (.PHONY): Add bootchecks.
4898 (SUCCESSFUL_BOOT_STRING): New variable.
4899 (BOOTCHECK_TIMEOUT): Likewise.
4900 (bootcheck): New target
4901 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
4902 * configure.ac: Correct efiemu excuse.
4903 * docs/grub.texi (Supported kernels): New chapter.
4904 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
4905 include/grub/mm_private.h. Simplify inclusion of
4906 include/grub/boot.h, include/grub/loader.h
4907 and include/grub/msdos_partition.h
4908 (KERNEL_HEADER_FILES) [i386_coreboot]:
4909 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
4910 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
4911 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
4912 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
4913 include/grub/machine/loader.h.
4914 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
4915 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
4916 extra_dist.
4917 (pci.mod): Enable on i386-multiboot.
4918 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
4919 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
4920 i386-qemu.
4921 (relocator.mod): Rewritten.
4922 (aout.mod): Enable on all x86.
4923 (bsd.mod): Likewise.
4924 (ntldr.mod): New module.
4925 (linux.mod): Use loader/i386/linux.c on all x86.
4926 (xnu.mod): Enable on all x86.
4927 (vga_text.mod): disable on EFI and QEMU.
4928 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
4929 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
4930 * grub-core/efiemu/loadcore.c: Likewise.
4931 * grub-core/efiemu/main.c: Likewise.
4932 (grub_efiemu_exit_boot_services): Removed.
4933 (grub_efiemu_finish_boot_services): Likewise.
4934 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
4935 function.
4936 * grub-core/efiemu/i386/nocfgtables.c: New file.
4937 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
4938 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
4939 (grub_efi_finish_boot_services): Moved from here ...
4940 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
4941 Fille finish memory map and related data.
4942 (finish_mmap_buf): New variable.
4943 (grub_efi_uintn_t finish_mmap_size): Likewise.
4944 (grub_efi_uintn_t finish_key): Likewise.
4945 (grub_efi_uintn_t finish_desc_size): Likewise.
4946 (grub_efi_uint32_t finish_desc_version): Likewise.
4947 (grub_efi_is_finished): Likewise.
4948 (grub_efi_get_memory_map): Use saved memory map if EFI is already
4949 finished.
4950 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
4951 (grub_elf64_phdr_iterate): Likewise.
4952 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
4953 (grub_os_area_size): Likewise.
4954 (grub_machine_init): Don't reserve os area.
4955 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
4956 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4957 * grub-core/kern/i386/loader.S: Removed.
4958 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
4959 (grub_os_area_size): Likewise.
4960 (grub_machine_init): Don't reserve os area.
4961 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4962 Don't call grub_dl_unload_all.
4963 Don't include loader.S.
4964 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4965 Declare the memory after _end as available.
4966 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
4967 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
4968 (GRUB_MM_ALLOC_MAGIC): Moved from here...
4969 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
4970 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
4971 * include/grub/mm_private.h (grub_mm_header): ... here.
4972 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
4973 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
4974 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
4975 (grub_mm_region): ..here. Removed addr. Added pre_size.
4976 All users updated.
4977 * grub-core/kern/mm.c (base): Renamed to ...
4978 (grub_mm_base): ... this. Made global.
4979 (grub_real_malloc): Alloc from end of region.
4980 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
4981 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
4982 * grub-core/kern/powerpc/cache_flush.S: ... here.
4983 * grub-core/lib/efi/relocator.c: New file.
4984 * grub-core/lib/i386/relocator.c: Rewritten.
4985 * grub-core/lib/i386/relocator16.S: New file.
4986 * grub-core/lib/i386/relocator32.S: Likewise.
4987 * grub-core/lib/i386/relocator64.S: Likewise.
4988 * grub-core/lib/i386/relocator_asm.S: Rewritten.
4989 * grub-core/lib/i386/relocator_common.S: New file.
4990 * grub-core/lib/ieee1275/relocator.c: Likewise.
4991 * grub-core/lib/mips/relocator.c: Rewritten.
4992 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
4993 stylistic adjustments.
4994 * grub-core/lib/powerpc/relocator.c: New file.
4995 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
4996 * grub-core/lib/relocator.c: Rewritten.
4997 * grub-core/lib/x86_64/relocator_asm.S: New file.
4998 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
4999 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
5000 (bsd_tag): New struct.
5001 (tags): New variable.
5002 (tags_last): Likewise.
5003 (netbsd_module): New struct.
5004 (netbsd_mods): New variable.
5005 (netbsd_mods_last): Likewise.
5006 (openbsd_opts): New parameter "serial".
5007 (OPENBSD_SERIAL_ARG): New definition.
5008 (netbsd_opts): New parameter "serial".
5009 (NETBSD_SERIAL_ARG): New definition.
5010 (grub_freebsd_add_meta): Reorganised into ...
5011 (grub_bsd_add_meta): ...this. All users updated.
5012 (grub_freebsd_add_mmap): Reorganised into ...
5013 (generate_e820_mmap): ...this...
5014 (grub_bsd_add_mmap): ...and this. All users updated.
5015 (grub_freebsd_list_modules): Use tags.
5016 (grub_netbsd_add_meta_module): New function.
5017 (grub_netbsd_list_modules): Likewise.
5018 (grub_freebsd_boot): Use relocator and finish EFI.
5019 (grub_openbsd_boot): Likewise.
5020 (grub_netbsd_setup_video): New function.
5021 (grub_netbsd_add_modules): Likewise.
5022 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
5023 and finish EFI.
5024 (grub_bsd_unload): Unload tags.
5025 (grub_bsd_load_aout): Use relocator.
5026 (grub_bsd_elf32_size_hook): New function.
5027 (grub_bsd_elf32_hook): Use relocator.
5028 (grub_bsd_elf64_size_hook): New function.
5029 (grub_bsd_elf64_hook): Use relocator.
5030 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
5031 (grub_bsd_load): Zero-out openbsd_ramdisk.
5032 (grub_bsd_load): Use relocator.
5033 (grub_cmd_openbsd): Support serial.
5034 (grub_cmd_netbsd): Support modules.
5035 (grub_cmd_freebsd_module): Use relocator.
5036 (grub_netbsd_module_load): New function.
5037 (grub_cmd_netbsd_module): Likewise.
5038 (grub_cmd_openbsd_ramdisk): Likewise.
5039 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
5040 kopenbsd_ramdisk.
5041 (GRUB_MOD_FINI): Unregister new commands.
5042 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
5043 (grub_freebsd_load_elfmodule_obj): Use relocator.
5044 (grub_freebsd_load_elfmodule): Likewise.
5045 (grub_freebsd_load_elf_meta): Likewise.
5046 (grub_netbsd_load_elf_meta): New function.
5047 (grub_openbsd_find_ramdisk): Likewise.
5048 * grub-core/loader/i386/bsd_helper.S: Removed.
5049 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
5050 * grub-core/loader/i386/bsd_trampoline.S: Removed.
5051 * grub-core/loader/i386/efi/linux.c: Likewise.
5052 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
5053 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
5054 (DEFAULT_VIDEO_MODE): Likewise.
5055 (real_mode_target): New variable.
5056 (prot_mode_target): Likewise.
5057 (initrd_mem_target): Likewise.
5058 (relocator): Likewise.
5059 (efi_mmap_buf): Likewise.
5060 (efi_mmap_size): Likewise.
5061 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
5062 (free_pages): Use relocator.
5063 (allocate_pages): Account for efi_mmap and use relocator. Return error.
5064 (grub_linux_setup_video): Return error.
5065 (grub_linux_trampoline_start): Removed.
5066 (grub_linux_trampoline_end): Likewise.
5067 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
5068 andd video parameters depending on firmware.
5069 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
5070 [GRUB_MACHINE_EFI]: Pass EFI parameters.
5071 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
5072 (grub_cmd_initrd): Use relocator.
5073 * grub-core/loader/i386/linux_trampoline.S: Removed.
5074 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
5075 (elf_sec_entsize): Likewise.
5076 (elf_sec_shstrndx): Likewise.
5077 (elf_sections): Likewise.
5078 (grub_multiboot_load): Use relocator.
5079 (grub_multiboot_get_mbi_size): Account for sections.
5080 (grub_multiboot_make_mbi): Use relocator and support sections.
5081 (grub_multiboot_add_elfsyms): New function.
5082 (grub_multiboot_free_mbi): Free sections.
5083 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
5084 (grub_linux_real_target): Likewise.
5085 (grub_linux_real_chunk): Likewise.
5086 (grub_linux16_prot_size): Likewise.
5087 (grub_linux16_boot): Use relocator.
5088 (grub_linux_unload): Unload relocator.
5089 (grub_cmd_linux): Use relocator.
5090 (grub_cmd_initrd): Likewise.
5091 * grub-core/loader/i386/pc/ntldr.c: New file.
5092 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
5093 Don't try to guess CPU frequency.
5094 (grub_xnu_set_video): Stretch bitmap.
5095 (grub_xnu_boot): Use relocator.
5096 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
5097 (grub_linux_unload): Free relocator.
5098 (grub_linux_load32): Use relocator.
5099 (grub_linux_load64): Likewise.
5100 (grub_cmd_initrd): Likewise.
5101 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
5102 (grub_multiboot_unload): Unload relocator.
5103 (grub_cmd_multiboot): Use relocator.
5104 (grub_cmd_module): Likewise.
5105 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
5106 Use relocator and support sections.
5107 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
5108 (elf_sec_entsize): Likewise.
5109 (elf_sec_shstrndx): Likewise.
5110 (elf_sections): Likewise.
5111 (grub_multiboot_load): Use relocator.
5112 (grub_multiboot_get_mbi_size): Account for sections.
5113 (grub_multiboot_make_mbi): Use relocator and support sections.
5114 (grub_multiboot_add_elfsyms): New function.
5115 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
5116 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
5117 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
5118 Prototype changed. All users updated.
5119 (grub_xnu_align_heap): Simplified.
5120 (grub_xnu_writetree_toheap): Likewise.
5121 (grub_xnu_unload): Unload relocator.
5122 (grub_cmd_xnu_kernel): Use relocator.
5123 (grub_cmd_xnu_kernel64): Likewise.
5124 (grub_xnu_register_memory): Simplified.
5125 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
5126 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
5127 EFI is finished.
5128 (grub_console_checkkey): Likewise.
5129 (grub_console_getkey): Likewise.
5130 (grub_console_getwh): Likewise.
5131 (grub_console_getxy): Likewise.
5132 (grub_console_gotoxy): Likewise.
5133 (grub_console_cls): Likewise.
5134 (grub_console_setcolorstate): Likewise.
5135 (grub_console_setcursor): Likewise.
5136 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
5137 * grub-core/tests/boot/kbsd.init-i386.S: New file.
5138 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
5139 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
5140 * grub-core/tests/boot/kernel-8086.S: Likewise.
5141 * grub-core/tests/boot/kernel-i386.S: Likewise.
5142 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
5143 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
5144 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
5145 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
5146 * grub-core/tests/boot/knetbsd.cfg: Likewise.
5147 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
5148 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
5149 * grub-core/tests/boot/linux.cfg: Likewise.
5150 * grub-core/tests/boot/linux.init-i386.S: Likewise.
5151 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
5152 * grub-core/tests/boot/linux16.cfg: Likewise.
5153 * grub-core/tests/boot/multiboot.cfg: Likewise.
5154 * grub-core/tests/boot/multiboot2.cfg: Likewise.
5155 * grub-core/tests/boot/ntldr.cfg: Likewise.
5156 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
5157 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
5158 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
5159 New definition.
5160 * include/grub/dl.h (grub_dl_unload_all): Removed.
5161 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
5162 (grub_efi_finish_boot_services): Change prototype.
5163 (grub_efi_is_finished): New variable.
5164 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
5165 Changed prototype.
5166 (grub_efiemu_finish_boot_services): Removed.
5167 (grub_machine_efiemu_init_tables): New prototype.
5168 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
5169 (grub_elf64_phdr_iterate): Likewise.
5170 * include/grub/i386/bsd.h: Include relocator.h.
5171 (freebsd_tag_header): New struct.
5172 (grub_openbsd_bios_mmap): Removed.
5173 (grub_unix_real_boot): Removed.
5174 (grub_freebsd_load_elfmodule32): Changed prototype.
5175 (grub_freebsd_load_elfmodule_obj64): Likewise.
5176 (grub_freebsd_load_elf_meta32): Likewise.
5177 (grub_freebsd_load_elf_meta64): Likewise.
5178 (grub_freebsd_add_meta): Removed.
5179 (grub_netbsd_load_elf_meta32): New prototype.
5180 (grub_netbsd_load_elf_meta64): Likewise.
5181 (grub_bsd_add_meta): Likewise.
5182 (grub_openbsd_ramdisk_descriptor): New struct.
5183 (grub_openbsd_find_ramdisk32): New prototype.
5184 (grub_openbsd_find_ramdisk64): Likewise.
5185 * include/grub/i386/coreboot/loader.h: Removed.
5186 * include/grub/i386/efi/loader.h: Likewise.
5187 * include/grub/i386/ieee1275/loader.h: Likewise.
5188 * include/grub/i386/linux.h (linux_kernel_header): Change void *
5189 to grub_uint32_t.
5190 * include/grub/i386/loader.h: Removed.
5191 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
5192 value.
5193 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
5194 (grub_phys_addr_t): New type.
5195 (grub_vtop): New inline function.
5196 (grub_map_memory): Likewise.
5197 (grub_unmap_memory): Likewise.
5198 * include/grub/i386/multiboot/loader.h: Removed.
5199 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
5200 (NETBSD_BTINFO_CONSOLE): New definition.
5201 (NETBSD_BTINFO_SYMTAB): Likewise.
5202 (NETBSD_BTINFO_MODULES): Likewise.
5203 (NETBSD_BTINFO_FRAMEBUF): Likewise.
5204 (grub_netbsd_bootinfo): New struct.
5205 (grub_netbsd_btinfo_common): Use explicit bitsize.
5206 (grub_netbsd_btinfo_mmap_entry): Removed.
5207 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
5208 (grub_netbsd_btinfo_bootdisk): New struct.
5209 (grub_netbsd_btinfo_symtab): Likewise.
5210 (grub_netbsd_btinfo_serial): Likewise.
5211 (grub_netbsd_btinfo_modules): Likewise.
5212 (grub_netbsd_btinfo_framebuf): Likewise.
5213 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
5214 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
5215 Likewise.
5216 (grub_openbsd_bootargs): Use explicit bitsize.
5217 (grub_openbsd_bootarg_console): New struct.
5218 (GRUB_OPENBSD_COM_MAJOR): New definition.
5219 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
5220 * include/grub/i386/pc/efiemu.h: Removed.
5221 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
5222 * include/grub/i386/qemu/loader.h: Removed.
5223 * include/grub/i386/relocator.h: Rewritten.
5224 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
5225 * include/grub/mips/memory.h: New file.
5226 * include/grub/mips/multiboot.h: Rewritten.
5227 * include/grub/mips/relocator.h: Rewritten.
5228 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
5229 (grub_vtop): New function.
5230 (grub_map_memory): Likewise.
5231 (grub_unmap_memory): Likewise.
5232 * include/grub/misc.h (ALIGN_DOWN): New definition.
5233 * include/grub/mm.h (grub_mm_check_real): New proto.
5234 (GRUB_MM_CHECK): New definition.
5235 * include/grub/mm_private.h: New file.
5236 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
5237 (grub_multiboot_get_mbi_size): Removed.
5238 (grub_multiboot_make_mbi): Change prottype.
5239 (grub_multiboot_set_accepts_video): New proto.
5240 (grub_multiboot_add_elfsyms): Likewise.
5241 (grub_multiboot_payload_eip): New variable.
5242 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
5243 New prototype.
5244 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
5245 New definition.
5246 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
5247 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
5248 * include/grub/powerpc/ieee1275/loader.h: Removed.
5249 * include/grub/powerpc/memory.h: New file.
5250 * include/grub/powerpc/relocator.h: Likewise.
5251 * include/grub/relocator.h: Likewise.
5252 * include/grub/relocator_private.h: Likewise.
5253 * include/grub/sparc64/ieee1275/loader.h: Removed.
5254 * include/grub/x86_64/memory.h: New file.
5255 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
5256 (grub_xnu_heap_malloc): Likewise.
5257 (grub_xnu_heap_real_start): Removed.
5258 (grub_xnu_heap_start): Likewise.
5259 (grub_xnu_relocator): New variable.
5260 (grub_xnu_heap_target_start): Likewise.
5261 * tests/util/grub-shell.in: Support non-pc.
5262 * util/grub-mkimage.c (image_targets): Fix multiboot target.
5263
5264 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
5267 on malloc error.
5268 (grub_bidi_logical_to_visual): Check that malloc succeded.
5269 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
5270 puts.
5271 (grub_xputs_normal): Likewise.
5272
5273 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
5276 extra_dist.
5277
5278 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 * grub-core/efiemu/runtime/efiemu.sh: Removed.
5281
5282 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
5285
5286 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
5289 dprintf.
5290
5291 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
5292
5293 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
5294
5295 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * grub-core/normal/term.c (print_more): Fix a memory leak.
5298 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
5299 (grub_xputs_normal): Likewise.
5300
5301 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
5304 the begining of the string
5305
5306 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/script/script.c (grub_script_parse): Free parsed on
5309 failure.
5310
5311 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
5314 on failure.
5315
5316 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
5319 return.
5320
5321 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
5324 (scroll_up): Fix a memory leak.
5325
5326 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
5329 errors.
5330
5331 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 Handle USB pendrives exposed as floppies.
5334
5335 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
5336 floppy.
5337 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5338 Check for partitions on all devices.
5339
5340 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
5343 (readkey): Likewise.
5344
5345 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5346
5347 Multiple variable names support to "export" command.
5348
5349 * normal/context.c (grub_cmd_export): "export" command supports
5350 multiple variable names.
5351
5352 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
5353
5354 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
5355 --target=drive output to Mach device name.
5356
5357 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5358
5359 New Automake based build system for GRUB.
5360
5361 * ABOUT-NLS: New file.
5362 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
5363 in Makefile.util.def file.
5364 * Makefile.util.def: New file. Autogen build definitions file for
5365 GRUB host utils.
5366 * conf/Makefile.common: New file. Common variables for GRUB host
5367 utils and target modules.
5368 * conf/Makefile.extra-dist: New file. Extra files for make dist.
5369 * docs/Makefile.am: New file. Automake file for docs.
5370 * gentpl.py: New file. Python script to generate Autogen
5371 template.
5372 * grub-core/Makefile.am: New file. GRUB target modules' rules
5373 that doesn't fit in Makefile.core.def file.
5374 * grub-core/Makefile.core.def: New file. Autogen build
5375 definitions file for GRUB target modules.
5376 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
5377 specific setjmp.S file.
5378 * po/Makefile.am: New file.
5379
5380 * .bzrignore: New ignores.
5381 * INSTALL: New requirements, without Ruby.
5382 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
5383 * autogen.sh: Updated to invoke autogen as necessary.
5384 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
5385 and defines for Automake conditionals.
5386 * geninit.sh: Refactoring.
5387
5388 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
5389 necessary.
5390 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
5391 New prototype.
5392
5393 * include/grub/test.h: Fix functional test modules' naming.
5394 * grub-core/tests/example_functional_test.c: Fix test module name.
5395
5396 * util/misc.c: Hosted versions' of grub functions for libgrub.a
5397 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
5398 * util/grub-editenv.c: Likewise.
5399 * util/grub-fstest.c: Likewise.
5400 * util/grub-mkdevicemap.c: Likewise.
5401 * util/grub-mkfont.c: Likewise.
5402 * util/grub-mkimage.c: Likewise.
5403 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5404 * util/grub-probe.c: Likewise.
5405 * util/grub-script-check.c: Likewise.
5406 * util/i386/pc/grub-setup.c: Likewise.
5407 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5408
5409 * tests/util/grub-shell.in: Fix override directory path.
5410 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
5411 * util/import_gcry.py: Create Makefile.gcry.def file instead.
5412
5413 * util/lvm.c: Update #includes.
5414 * util/raid.c: Likewise.
5415 * util/resolve.c: Likewise.
5416 * grub-core/bus/emu/pci.c: Likewise.
5417 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
5418 * grub-core/lib/posix_wrap/string.h: Likewise.
5419 * grub-core/kern/emu/main.c: Likewise.
5420
5421 * grub-core/gensymlist.sh: New file. Script for generating kernel
5422 symbols file.
5423 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
5424
5425 * grub-core/gentrigtables.c: Fix unused variable warnings.
5426
5427 * Makefile.in: Removed.
5428 * conf/any-emu.rmk: Removed.
5429 * conf/common.rmk: Removed.
5430 * conf/i386-coreboot.rmk: Removed.
5431 * conf/i386-efi.rmk: Removed.
5432 * conf/i386-ieee1275.rmk: Removed.
5433 * conf/i386-multiboot.rmk: Removed.
5434 * conf/i386-pc.rmk: Removed.
5435 * conf/i386-qemu.rmk: Removed.
5436 * conf/i386.rmk: Removed.
5437 * conf/mips-yeeloong.rmk: Removed.
5438 * conf/mips.rmk: Removed.
5439 * conf/powerpc-ieee1275.rmk: Removed.
5440 * conf/sparc64-ieee1275.rmk: Removed.
5441 * conf/tests.rmk: Removed.
5442 * conf/x86-efi.rmk: Removed.
5443 * conf/x86_64-efi.rmk: Removed.
5444 * gendistlist.sh: Removed.
5445 * geninitheader.sh: Removed.
5446 * genkernsyms.sh.in: Removed.
5447 * genmk.rb: Removed.
5448 * gensymlist.sh.in: Removed.
5449 * mkinstalldirs: Removed.
5450 * boot: Moved ...
5451 * grub-core/boot: ... to here.
5452 * bus: Moved ...
5453 * grub-core/bus: ... to here.
5454 * commands: Moved ...
5455 * grub-core/commands: ... to here.
5456 * disk: Moved ...
5457 * grub-core/disk: ... to here.
5458 * efiemu: Moved ...
5459 * grub-core/efiemu: ... to here.
5460 * font: Moved ...
5461 * grub-core/font: ... to here.
5462 * fs: Moved ...
5463 * grub-core/fs: ... to here.
5464 * gencmdlist.sh: Moved ...
5465 * grub-core/gencmdlist.sh: ... to here.
5466 * genemuinit.sh: Moved ...
5467 * grub-core/genemuinit.sh: ... to here.
5468 * genemuinitheader.sh: Moved ...
5469 * grub-core/genemuinitheader.sh: ... to here.
5470 * genfslist.sh: Moved ...
5471 * grub-core/genfslist.sh: ... to here.
5472 * genhandlerlist.sh: Moved ...
5473 * grub-core/genhandlerlist.sh: ... to here.
5474 * genmoddep.awk: Moved ...
5475 * grub-core/genmoddep.awk: ... to here.
5476 * genmodsrc.sh: Moved ...
5477 * grub-core/genmodsrc.sh: ... to here.
5478 * genpartmaplist.sh: Moved ...
5479 * grub-core/genpartmaplist.sh: ... to here.
5480 * genparttoollist.sh: Moved ...
5481 * grub-core/genparttoollist.sh: ... to here.
5482 * genterminallist.sh: Moved ...
5483 * grub-core/genterminallist.sh: ... to here.
5484 * gentrigtables.c: Moved ...
5485 * grub-core/gentrigtables.c: ... to here.
5486 * genvideolist.sh: Moved ...
5487 * grub-core/genvideolist.sh: ... to here.
5488 * gettext: Moved ...
5489 * grub-core/gettext: ... to here.
5490 * gfxmenu: Moved ...
5491 * grub-core/gfxmenu: ... to here.
5492 * gnulib: Moved ...
5493 * grub-core/gnulib: ... to here.
5494 * hello: Moved ...
5495 * grub-core/hello: ... to here.
5496 * hook: Moved ...
5497 * grub-core/hook: ... to here.
5498 * io: Moved ...
5499 * grub-core/io: ... to here.
5500 * kern: Moved ...
5501 * grub-core/kern: ... to here.
5502 * lib: Moved ...
5503 * grub-core/lib: ... to here.
5504 * loader: Moved ...
5505 * grub-core/loader: ... to here.
5506 * mmap: Moved ...
5507 * grub-core/mmap: ... to here.
5508 * normal: Moved ...
5509 * grub-core/normal: ... to here.
5510 * partmap: Moved ...
5511 * grub-core/partmap: ... to here.
5512 * parttool: Moved ...
5513 * grub-core/parttool: ... to here.
5514 * script: Moved ...
5515 * grub-core/script: ... to here.
5516 * term: Moved ...
5517 * grub-core/term: ... to here
5518 * tests/example_functional_test.c: Moved ...
5519 * grub-core/tests/example_functional_test.c: ... to here.
5520 * tests/lib/functional_test.c: Moved ...
5521 * grub-core/tests/lib/functional_test.c: ... to here.
5522 * tests/lib/test.c: Moved ...
5523 * grub-core/tests/lib/test.c: ... to here.
5524 * video: Moved ...
5525 * grub-core/video: ... to here.
5526
5527 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5528
5529 Replace --enable-grub-emu-modules with grub-emu-lite.
5530
5531 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
5532 cache.S.
5533
5534 * include/grub/emu/misc.h (grub_emu_init): New prototype.
5535 * kern/emu/full.c: New file. For grub-emu specific initialization.
5536 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
5537 * kern/emu/main.c: Call initialization function grub_emu_init.
5538
5539 * Makefile.in: Include grub-emu-lite in install.
5540 * commands/parttool.c: Use grub_no_autoload to differentiate
5541 between grub-emu and grub-emu-lite.
5542 * include/grub/misc.h: New variable grub_no_autoload.
5543
5544 * conf/any-emu.rmk: New rules for grub-emu-lite.
5545 * configure.ac: Remove --enable-grub-emu-modules.
5546 * genmk.rb: Cleanup unnecessary rules.
5547 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
5548
5549 * normal/main.c: Don't load list files on grub-emu-lite.
5550 * util/misc.c (grub_arch_sync_caches): Removed.
5551
5552 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
5553
5554 * kern/mips/startup.S (grub_prefix): Update comment to refer to
5555 grub-mkimage rather than grub-mkelfimage.
5556 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5557
5558 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
5561 a key after CapsLock or NumLock. It's just a qemu bug.
5562
5563 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
5566 needed by libusb wrapper.
5567
5568 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5569
5570 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
5571
5572 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
5575 --nounzip is passed.
5576
5577 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 USB hotunplugging and USB serial support.
5580
5581 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
5582 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
5583 (grub_uhci_transfer): Respect timeout and set *actual.
5584 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
5585 non-standard length.
5586 (grub_usb_device_attach): Autoload modules.
5587 (GRUB_MOD_INIT): Set grub_term_poll_usb.
5588 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
5589 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
5590 users updated.
5591 (grub_usb_add_hub): Fill nports and children.
5592 (attach_root_port): Receive hub instead of controller.
5593 All users updated. Fill hub->devices.
5594 (grub_usb_root_hub): Allocate hub->devices.
5595 (detach_device): New function.
5596 (poll_nonroot_hub): Fill children and detach devices.
5597 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
5598 actual arguments. All users updated.
5599 (grub_usb_bulk_read_extended): New function.
5600 * bus/usb/serial/common.c: New file.
5601 * bus/usb/serial/ftdi.c: Likewise.
5602 * bus/usb/serial/pl2303.c: Likewise.
5603 * commands/terminal.c (handle_command): Support wildcard.
5604 * commands/usbtest.c: Output "Unknown" instead of empty string.
5605 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
5606 (usbserial_common_mod_SOURCES): New variable.
5607 (usbserial_common_mod_CFLAGS): Likewise.
5608 (usbserial_common_mod_LDFLAGS): Likewise.
5609 (pkglib_MODULES): Add usbserial_pl2303.mod.
5610 (usbserial_pl2303_mod_SOURCES): New variable.
5611 (usbserial_pl2303_mod_CFLAGS): Likewise.
5612 (usbserial_pl2303_mod_LDFLAGS): Likewise.
5613 (pkglib_MODULES): Add usbserial_ftdi.mod.
5614 (usbserial_ftdi_mod_SOURCES): New variable.
5615 (usbserial_ftdi_mod_CFLAGS): Likewise.
5616 (usbserial_ftdi_mod_LDFLAGS): Likewise.
5617 (pkglib_MODULES): Add serial.mod.
5618 (serial_mod_SOURCES): New variable.
5619 (serial_mod_CFLAGS): Likewise.
5620 (serial_mod_LDFLAGS): Likewise.
5621 * conf/i386-pc.rmk: Likewise.
5622 * conf/mips-yeeloong.rmk: Likewise.
5623 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
5624 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5625 * disk/usbms.c (first_available_slot): New variable.
5626 (grub_usbms_attach): Don't reuse free slots due to potential cache
5627 problems.
5628 * include/grub/serial.h: Moved to ..
5629 * include/grub/ns8250.h: ...this.
5630 * include/grub/serial.h: New file.
5631 * include/grub/term.h (grub_term_poll_usb): New variable.
5632 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
5633 readkey. All users updated.
5634 (grub_terminfo_output_state): Pass term to put.
5635 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
5636 (grub_usb_controller_dev): Add timeout and actual arguments to
5637 transfer. All users updated.
5638 (grub_usb_interface): New field detach_data.
5639 (grub_usb_device): New fields children and nports.
5640 (grub_usb_ep_type_t): New type.
5641 (grub_usb_get_ep_type): New function.
5642 (grub_usb_bulk_read_extended): Likewise.
5643 * include/grub/usbdesc.h (grub_usb_desc): New type.
5644 * include/grub/usbserial.h: New file.
5645 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
5646 * kern/term.c (grub_term_poll_usb): New variable.
5647 (grub_getkey): Call grub_term_poll_usb if set.
5648 (grub_checkkey): Likewise.
5649 (grub_getkeystatus): Likewise.
5650 * term/serial.c: Moved controller-specific parts to ...
5651 * term/ns8250.c: ... here.
5652 * term/serial.c: Mostly rewritten.
5653 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
5654 according to spec.
5655
5656 2010-08-20 Robert Millan <rmh@gnu.org>
5657
5658 Make kFreeBSD code more generic to support ext2fs as root, ufs as
5659 a separate module and maybe other interesting combinations.
5660
5661 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
5662 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
5663 (kfreebsd_entry): Add generic filesystem module load routine.
5664 Map GRUB `ext2' to kFreeBSD `ext2fs'.
5665
5666 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5667
5668 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
5669 "numcenter" (I misunderstood the purpose of this entry).
5670 * docs/grub.texi (sendkey): Likewise.
5671
5672 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5673
5674 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
5675 status flag options; simply omitting the option is equivalent and
5676 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
5677 (keysym_table): Rename "num5numlock" to "numlock".
5678 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
5679 can uniformly say that only the last of multiple `sendkey'
5680 invocations has any effect.
5681 * docs/grub.texi (sendkey): New section.
5682
5683 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
5684
5685 * commands/i386/pc/sendkey.c (options): Fix three typos.
5686
5687 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 Implement sendkey support.
5690
5691 * commands/i386/pc/sendkey.c: New file.
5692 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
5693 (sendkey_mod_SOURCES): New variable.
5694 (sendkey_mod_CFLAGS): Likewise.
5695 (sendkey_mod_LDFLAGS): Likewise.
5696
5697 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5698
5699 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
5700 fix warnings from Autoconf.
5701
5702 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5703
5704 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
5705 to avoid false positives with some assemblers that output things
5706 like "someprefix_func" as part of their output.
5707
5708 2010-08-15 Robert Millan <rmh@gnu.org>
5709
5710 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
5711 errors.
5712 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
5713 grub_get_libzfs_handle() errors.
5714
5715 2010-08-14 Robert Millan <rmh@gnu.org>
5716
5717 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
5718 filesystem is not ZFS.
5719
5720 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5721
5722 Fix for misspelled color names defaulting to black/black (bug
5723 reported by Doug Nazar)
5724
5725 * include/grub/normal.h (grub_parse_color_name_pair): Add return
5726 status to prototype.
5727 * normal/color.c (grub_parse_color_name_pair): Return failure
5728 status.
5729 (grub_env_write_color_normal): Ignore bad color names.
5730 (grub_env_write_color_highlight): Likewise.
5731 * normal/main.c (GRUB_MOD_INIT): Set default color names.
5732
5733 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5734
5735 "shift" command support to GRUB script.
5736
5737 * include/grub/script_sh.h (grub_script_shift): New prototype.
5738 * script/execute.c (grub_script_shift): New function.
5739 * script/main.c (grub_script_init): Register shift command.
5740 (grub_script_fini): Unregister shift command.
5741 * util/grub-script-check.c (grub_script_cmd_shift): New function.
5742
5743 * tests/grub_script_shift.in: New testcase.
5744 * conf/tests.rmk: Rules for new testcase.
5745
5746 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5747
5748 "continue" command support to GRUB script.
5749
5750 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
5751 (grub_script_break): Continue support.
5752 * script/main.c (grub_script_init): Register continue command.
5753 (grub_script_fini): Unregister continue command.
5754
5755 * tests/grub_script_continue.in: New testcase.
5756 * conf/tests.rmk: Rules for new testcase.
5757
5758 2010-08-12 BVK Chaitanya <bvk@dbook>
5759
5760 "break" command support to GRUB script.
5761
5762 * conf/common.rmk: Rule updates to grub-script-check.
5763 * include/grub/misc.h (grub_min): New function.
5764 * include/grub/script_sh.h (grub_script_init): New prototype.
5765 (grub_script_fini): New prototype.
5766 (grub_script_break): New prototype.
5767 * script/main.c (grub_script_init): New function.
5768 (grub_script_fini): New function.
5769 * script/execute.c (grub_script_break): New function.
5770 * normal/main.c: Calls to grub_script_{init,fini}.
5771 * util/grub-script-check.c (grub_script_break): New function.
5772
5773 * tests/grub_script_break.in: New testcase.
5774 * conf/tests.rmk: Rules for new test case.
5775
5776 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5777
5778 Function parameters support to GRUB script.
5779
5780 * script/yylex.l (VARIABLE): Regular expression update.
5781 * script/function.c (grub_script_function_call): Moved ...
5782 * script/execute.c (grub_script_function_call): ... to here.
5783 (grub_script_execute_arglist_to_argv): Removed.
5784 (grub_script_arglist_to_argv): New function.
5785 * script/argv.c: New file.
5786 (grub_script_argv_free): New function.
5787 (grub_script_argv_next): Likewise.
5788 (grub_script_argv_append): Likewise.
5789 (grub_script_argv_split_append): Likewise.
5790 * include/grub/script_sh.h (grub_script_argv): New struct.
5791 (grub_script_argv_free): New function.
5792 (grub_script_argv_next): Likewise.
5793 (grub_script_argv_append): Likewise.
5794 (grub_script_argv_split_append): Likewise.
5795
5796 * conf/common.rmk (normal.mod): New source script/argv.c.
5797
5798 * tests/grub_script_echo1.in: More tests.
5799 * tests/grub_script_vars1.in: Likewise.
5800 * tests/grub_script_functions.in: New test case.
5801 * conf/tests.rmk: Rules for new testcase.
5802
5803 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5804
5805 Remove grub_script_cmdblock struct.
5806
5807 * include/grub/script_sh.h: Remove grub_script_cmdblock.
5808 * script/parser.y: Likewise.
5809 * script/execute.c: Rename cmdblock suffix to cmdlist.
5810 * script/script.c: Likewise.
5811 * util/grub-script-check.c: Likewise.
5812
5813 2010-08-11 Yves Blusseau <blusseau@zetam.org>
5814
5815 * .bzrignore: add grub-macho2img
5816
5817 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
5820
5821 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 Remove the dump of sm712 initialisation sequence.
5824
5825 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
5826 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
5827 (GRUB_VGA_IO_MISC_WRITE): Likewise.
5828 (GRUB_VGA_CR_*): Added many registers.
5829 (GRUB_VGA_SR_*): Likewise.
5830 (GRUB_VGA_GR_*): Likewise.
5831 (grub_vga_write_arx): New function.
5832 (grub_video_hw_config): New struct.
5833 (grub_vga_set_geometry): New function.
5834 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
5835 GRUB_PCI_CLASS_SUBCLASS_VGA.
5836 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
5837 * video/sm712.c (grub_sm712_write_reg): New function
5838 (grub_sm712_read_reg): Likewise.
5839 (grub_sm712_sr_write): Likewise.
5840 (grub_sm712_gr_write): Likewise.
5841 (grub_sm712_cr_write): Likewise.
5842 (grub_sm712_write_arx): Likewise.
5843 (grub_sm712_cr_shadow_write): Likewise.
5844 (grub_sm712_write_dda_lookup): Likewise.
5845 (grub_video_sm712_setup): Initialise the video rather then
5846 blindly replay the dump.
5847 (main) [TEST]: Add a routine to be able to compile as standalone for
5848 tests.
5849 * video/sm712_init.c (sm712_init): Removed.
5850 (sm712_sr_seq1): New array.
5851 (sm712_sr_seq2): Likewise.
5852
5853 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * include/grub/vga.h: Add missing grub/pci.h include.
5856
5857 2010-08-10 Yves Blusseau <blusseau@zetam.org>
5858
5859 * util/grub-macho2img.c (main): fix typo
5860
5861 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
5864 (grub_vga_gr_read): Likewise.
5865 (grub_vga_cr_write): Likewise.
5866 (grub_vga_cr_read): Likewise.
5867 (grub_vga_sr_write): Likewise.
5868 (grub_vga_sr_read): Likewise.
5869 (grub_vga_palette_read): Likewise.
5870 (grub_vga_palette_write): Likewise.
5871 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
5872 (grub_sm712_sr_read): New function.
5873 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
5874 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
5875
5876 2010-08-09 Robert Millan <rmh@gnu.org>
5877
5878 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
5879 out unused variables on non-ZFS build.
5880
5881 2010-08-08 Robert Millan <rmh@gnu.org>
5882
5883 Fix path generation for sub-filesystems in ZFS.
5884
5885 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
5886 missing slash.
5887
5888 2010-08-08 Robert Millan <rmh@gnu.org>
5889
5890 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
5891
5892 2010-08-08 Robert Millan <rmh@gnu.org>
5893
5894 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
5895 exist, issue a proper error message (rely on `ls' for translated
5896 strings).
5897
5898 2010-08-08 Robert Millan <rmh@gnu.org>
5899
5900 Fix grub-probe invocation.
5901
5902 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
5903
5904 2010-08-04 Robert Millan <rmh@gnu.org>
5905
5906 * configure.ac: Remove checks for getfsstat() and getmntany().
5907 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
5908 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
5909 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
5910 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
5911 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
5912 function.
5913 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
5914 via find_mount_point_from_dir() and getfsstat() / getmntany().
5915
5916 2010-08-04 Robert Millan <rmh@gnu.org>
5917
5918 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5919 (grub_find_zpool_from_mount_point): Merge into ...
5920 (grub_find_zpool_from_dir): ... this.
5921 * kern/emu/misc.c: Likewise.
5922
5923 * kern/emu/misc.c
5924 (grub_make_system_path_relative_to_its_root): Replace
5925 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
5926 with grub_find_zpool_from_dir().
5927 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
5928
5929 2010-08-04 Robert Millan <rmh@gnu.org>
5930
5931 Support OpenSolaris in ZFS device resolution.
5932
5933 * configure.ac: Check for getmntany().
5934 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
5935 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
5936 support.
5937
5938 2010-08-03 Robert Millan <rmh@gnu.org>
5939
5940 Fix grub-emu build.
5941
5942 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
5943 * include/grub/emu/misc.h: ... here.
5944
5945 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
5946 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
5947
5948 * util/misc.c: Remove `<grub/util/libzfs.h>'.
5949 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
5950 (grub_get_libzfs_handle): Move to ...
5951 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
5952 (grub_get_libzfs_handle): ... here.
5953
5954 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
5955
5956 * script/execute.c (grub_script_execute_cmdline): Check for NULL
5957 as command name case.
5958
5959 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
5960
5961 * disk/raid.c (insert_array): Select unique numbers for named arrays
5962 as well, for use as keys in the disk cache.
5963
5964 2010-08-01 Robert Millan <rmh@gnu.org>
5965
5966 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
5967 kFreeBSD device name, except on ZFS where the filesystem label is
5968 used.
5969 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
5970 `/boot/zfs/zpool.cache'.
5971 Set mountfrom kernel variable using ${kfreebsd_device}.
5972
5973 2010-08-01 Robert Millan <rmh@gnu.org>
5974
5975 Make it even harder to use uninitialized `libzfs_handle' (and
5976 make the interface a bit simpler).
5977
5978 * include/grub/util/misc.h (grub_util_init_libzfs)
5979 (libzfs_handle): Remove.
5980 (grub_get_libzfs_handle): New prototype.
5981
5982 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
5983 attribute.
5984 (grub_util_init_libzfs): Remove.
5985 (grub_get_libzfs_handle): New function.
5986
5987 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
5988 grub_get_libzfs_handle() to obtain a libzfs handle instead of
5989 accessing `libzfs_handle' directly.
5990
5991 2010-08-01 Robert Millan <rmh@gnu.org>
5992
5993 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5994 (grub_find_zpool_from_mount_point): New function prototypes.
5995
5996 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5997 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5998
5999 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6000 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6001 `static' attribute.
6002
6003 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6004 finding zpool from mount point into ...
6005 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6006
6007 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6008 requested path is part of a ZFS pool, use
6009 grub_find_zpool_from_mount_point() to detect its filesystem name,
6010 and generate a path with `/fsname@path' syntax.
6011
6012 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6013
6014 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
6015 (void) rather than () so that this is a proper prototype.
6016
6017 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
6020
6021 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
6024 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
6025
6026 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6027
6028 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
6029
6030 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6031
6032 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
6033
6034 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6035
6036 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
6037 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
6038 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
6039 disable gfxpayload.
6040 (Shell-like scripting): Add real content.
6041 (Serial terminal): Suggest `terminal_input serial; terminal_output
6042 serial' rather than putting the two commands on separate lines,
6043 since console input will be inoperative after the first command.
6044 (menuentry): Document --class, --users, and --hotkey options.
6045 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
6046 Vladimir Serbinenko).
6047
6048 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6049 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6050
6051 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
6052
6053 2010-08-01 Robert Millan <rmh@gnu.org>
6054
6055 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6056 (grub_find_zpool_from_mount_point): New function prototypes.
6057
6058 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6059 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6060
6061 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6062 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6063 `static' attribute.
6064
6065 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6066 finding zpool from mount point into ...
6067 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6068
6069 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6070 requested path is part of a ZFS pool, use
6071 grub_find_zpool_from_mount_point() to detect its filesystem name,
6072 and generate a path with `/fsname@path' syntax.
6073
6074 2010-08-01 Robert Millan <rmh@gnu.org>
6075
6076 Prevent accidental use of uninitialized libzfs_handle.
6077
6078 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
6079 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
6080 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
6081
6082 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6083
6084 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
6085 util/grub.d/10_linux.in). Fixes Debian bug #591093.
6086
6087 2010-08-01 Robert Millan <rmh@gnu.org>
6088
6089 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
6090
6091 2010-07-31 Robert Millan <rmh@gnu.org>
6092
6093 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
6094
6095 2010-07-31 Robert Millan <rmh@gnu.org>
6096
6097 * kern/emu/misc.c: Add missing license header.
6098
6099 2010-07-31 Robert Millan <rmh@gnu.org>
6100
6101 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
6102
6103 * include/grub/util/libnvpair.h: Include `<config.h>'.
6104 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
6105 declaring libnvpair prototypes ourselves.
6106 * include/grub/util/libzfs.h: Include `<config.h>'.
6107 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
6108 declaring libzfs prototypes ourselves.
6109
6110 (libzfs_handle): Moved to ...
6111 * include/grub/util/misc.h (libzfs_handle): ... here.
6112 Include `<grub/util/libzfs.h>'.
6113
6114 2010-07-30 Robert Millan <rmh@gnu.org>
6115
6116 * include/grub/emu/misc.h: Add missing license header.
6117
6118 2010-07-30 Robert Millan <rmh@gnu.org>
6119
6120 Enable `grub-probe -t device' resolution on ZFS.
6121
6122 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
6123 * include/grub/util/libnvpair.h: New file.
6124 * include/grub/util/libzfs.h: New file.
6125
6126 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
6127 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
6128 `<grub/util/libnvpair.h>'.
6129 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
6130
6131 (find_mount_point_from_dir): New static function.
6132 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
6133 function.
6134 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
6135 find_root_device_from_libzfs() before ressorting to find_root_device().
6136
6137 * include/grub/util/misc.h (grub_util_init_libzfs): New function
6138 prototype.
6139 * util/misc.c: Include `<grub/util/libzfs.h>'.
6140 (grub_util_init_libzfs): New function.
6141 [HAVE_LIBZFS] (libzfs_handle): New global variable.
6142 [HAVE_LIBZFS] (fini_libzfs): New static function.
6143 (grub_util_init_libzfs): New function.
6144 * util/grub-probe.c (main): Call grub_util_init_libzfs().
6145
6146 2010-07-30 Robert Millan <rmh@gnu.org>
6147
6148 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
6149 (xmalloc, xrealloc, xstrdup, xasprintf): Add
6150 `warn_unused_result' attribute.
6151 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
6152 (grub_xasprintf, grub_xvasprintf): Likewise.
6153 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
6154
6155 2010-07-29 Robert Millan <rmh@gnu.org>
6156
6157 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
6158 (probe): Handle `PRINT_FS_LABEL'.
6159 (main): Handle `-t fs_label'.
6160
6161 2010-07-29 Robert Millan <rmh@gnu.org>
6162
6163 * configure.ac: Remove grub-mkisofs checks.
6164
6165 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 * util/ieee1275/grub-install.in: Don't use empty grub_device.
6168 Reported by: Lennart Sorensen.
6169
6170 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
6173 prior to terminal_input/terminal_output separation. It's been over 1.5
6174 years and those versions weren't widely deployed.
6175
6176 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
6177
6178 * disk/raid.c (insert_array): Don't count named arrays when looking
6179 for unused array numbers.
6180 Reported and tested by: Michael Guntsche.
6181
6182 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6183
6184 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
6185 implementation of this so that grub-emu links again, with a note
6186 that this should support hotplugging in the future.
6187
6188 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6189
6190 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6191
6192 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6193
6194 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
6195 handle on failure.
6196 (grub_loopback_close): Remove empty function.
6197 (grub_loopback_dev): Remove close method.
6198
6199 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6200
6201 Disable EFI cursor when the EFI console becomes inactive.
6202
6203 * term/efi/console.c (grub_efi_console_init): New function.
6204 (grub_efi_console_fini): New function.
6205 (grub_console_term_output): Register init and fini methods.
6206
6207 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * tests/util/grub-shell-tester.in: Remove bashism and declare as
6210 sh script.
6211
6212 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6213
6214 * disk/loopback.c (grub_loopback): Replace filename with file.
6215 (delete_loopback): Handle new semantics.
6216 (grub_cmd_loopback): Likewise.
6217 (grub_loopback_iterate): Likewise.
6218 (grub_loopback_close): Likewise.
6219
6220 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
6223 with -p "".
6224 Reported by: Tito Keitel.
6225
6226 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * docs/grub.texi (Naming convention): Document new naming convention.
6229
6230 2010-07-20 Vadim Solomin <vadic052@gmail.com>
6231 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6232
6233 Generate device.map in something closer to the old ordering.
6234
6235 * util/deviceiter.c (struct device): New declaration.
6236 (compare_file_names): Rename to ...
6237 (compare_devices): ... this. Sort by kernel name in preference to
6238 the stable by-id name, but keep the latter as a fallback comparison.
6239 Update header comment.
6240 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
6241 of `struct device' rather than of plain file names.
6242
6243 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
6244
6245 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
6246 on i386.
6247
6248 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * commands/acpi.c (setup_common_tables): Use sizeof instead of
6251 hardcoding size.
6252 (setv1table): Likewise.
6253
6254 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6255
6256 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
6257 removing the homehost if present.
6258 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
6259 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
6260 removing the homehost if present.
6261 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
6262 if possible.
6263 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
6264
6265 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
6266 parameter. Set its pointer target to 0.
6267 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
6268 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
6269 `data_offset' value from the superblock for 1.x metadata.
6270 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
6271 data on the device.
6272 (insert_array): Record the start sector of data on the device.
6273 (grub_raid_register): Pass start_sector parameters to
6274 grub_raid_list->detect and insert_array.
6275 * include/grub/raid.h (struct grub_raid_array): Add start_sector
6276 member.
6277 (struct grub_raid): Add start_sector parameter to `detect'.
6278
6279 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
6280 __attribute__ ((packed)), leaving a comment.
6281 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
6282 (grub_mdraid_detect_09): ... here and ...
6283 (grub_mdraid_detect_1x): ... here.
6284
6285 2010-07-20 Peter Henn <peter.henn@web.de>
6286
6287 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
6288 chunk size and disk size, which are already given as sector counts
6289 as distinct from the 0.90 units. Fetch the correct device number
6290 from the role table instead of using the table index.
6291
6292 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
6293
6294 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
6295 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
6296 (WriteMostly1): New macro.
6297 Set array->name to NULL for metadata format 0.90. Add support for
6298 metadata 1.x. Fix some comments.
6299 * disk/raid.c (): Add support for name based RAID arrays. Fix a
6300 few comments.
6301 * util/getroot.c (grub_util_get_grub_dev): Add support for
6302 /dev/md/name style devices.
6303
6304 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6305
6306 * .bzrignore: Ignore 20_linux_xen.
6307
6308 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
6309
6310 * util/import_unicode.py: Remove unnecessary imports.
6311
6312 2010-07-17 Aleš Nesrsta <starous@volny.cz>
6313
6314 Hotplugging and USB hub support.
6315
6316 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
6317 (grub_ohci): Likewise.
6318 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
6319 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
6320 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
6321 (GRUB_OHCI_CTRL_EDS): Likewise.
6322 (GRUB_OHCI_BULK_EDS): Likewise.
6323 (GRUB_OHCI_TDS): Likewise.
6324 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
6325 (grub_ohci_ed_phys2virt): New function.
6326 (grub_ohci_virt_to_phys): Likewise.
6327 (grub_ohci_td_phys2virt): Likewise.
6328 (grub_ohci_td_virt2phys): Likewise.
6329 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
6330 attachment.
6331 (grub_ohci_find_ed): New function.
6332 (grub_ohci_alloc_td): Likewise.
6333 (grub_ohci_free_td): Likewise.
6334 (grub_ohci_free_tds): Likewise.
6335 (grub_ohci_transfer): Use previously allocated memory.
6336 (grub_ohci_portstatus): Reset status changed bit.
6337 (grub_ohci_detect_dev): Supply status changed.
6338 (grub_ohci_fini_hw): Free memory.
6339 (grub_ohci_restore_hw): Reallocate memory.
6340 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
6341 Reset status change.
6342 (grub_uhci_detect_dev): Supply status_change.
6343 * bus/usb/usb.c (attach_hooks): New var.
6344 (grub_usb_device_attach): New function.
6345 (grub_usb_register_attach_hook_class): Likewise.
6346 (grub_usb_unregister_attach_hook_class): Likewise.
6347 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
6348 (grub_usb_add_hub): Reset connection changed bit.
6349 (attach_root_port): New function.
6350 (grub_usb_root_hub): Likewise.
6351 (poll_nonroot_hub): Likewise.
6352 (grub_usb_poll_devices): Likewise.
6353 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
6354 * disk/usbms.c (grub_usbms_open): Use device hooks.
6355 (grub_usbms_iterate) :Poll devices.
6356 (grub_usbms_finddevs): Split into ...
6357 (grub_usbms_attach): ... this ...
6358 (grub_usbms_attach): ... and this.
6359 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
6360 in detect_dev.
6361 (grub_usb_interface): New fields attached and detach_hook.
6362 (grub_usb_attach_hook_class): New type.
6363 (grub_usb_attach_desc): New struct.
6364 (grub_usb_register_attach_hook_class): New function.
6365 (grub_usb_unregister_attach_hook_class): Likewise.
6366 (grub_usb_poll_devices): Likewise.
6367 (grub_usb_device_attach): Likewise.
6368 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
6369 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
6370
6371 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
6374 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
6375 delta determination style. Works with most NetBSD partitions too.
6376
6377 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
6380 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
6381
6382 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
6385
6386 2010-07-14 Anton Blanchard <anton@samba.org>
6387
6388 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
6389 ET_DYN files.
6390
6391 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6392
6393 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
6394
6395 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6396
6397 * kern/partition.c (grub_partition_check_containment): New function to
6398 check that a partition is physically contained in a parent. Since
6399 offsets are relative (and non-negative), this reduces to checking that
6400 the partition ends before its parent.
6401 (grub_partition_map_probe): Discard out-of-range sub-partitions.
6402 (grub_partition_iterate): Likewise.
6403 * include/grub/partition.h (grub_partition_map): Slightly more detailed
6404 comments.
6405 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
6406 partitions that start before their parent, and add debug printfs.
6407
6408 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6409
6410 * Makefile.in (.SUFFIX): Spell correctly, as ...
6411 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
6412 bare module name without `.mod', e.g. `test') tried to invoke a
6413 Modula-2 compiler.
6414
6415 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6416
6417 * README: Point to the Info manual.
6418
6419 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
6420
6421 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
6422 2nd superblock position from partition size.
6423
6424 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
6425
6426 * Makefile.in (MAINTAINER_CLEANFILES): Remove
6427 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
6428 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
6429 outputs.
6430
6431 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 Restructure SCSI .id handling.
6434 Reported and tested by: Aleš Nesrsta.
6435
6436 * disk/ata.c (grub_atapi_close): Removed. All users updated.
6437 (grub_atapi_dev): Changed .name to "ata". New field .id.
6438 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
6439 (grub_usbms_dev): New field .id.
6440 * disk/scsi.c (grub_scsi_iterate): Generate name.
6441 (grub_scsi_open): Parse name.
6442 * include/grub/scsi.h (grub_make_scsi_id): New function.
6443 (grub_scsi_dev): Change iterate and open to number instead of naming
6444 busses. All users updated.
6445 (grub_scsi): Remove name. Add .bus.
6446
6447 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * commands/help.c (grub_cmd_help): Fix a typo.
6450
6451 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
6454 Reported and tested by: Colin Watson.
6455
6456 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
6459 in this context.
6460
6461 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
6464
6465 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
6466
6467 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
6468 indentation.
6469
6470 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6471
6472 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
6473 and disk/raid6_recover.c.
6474 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6475 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
6476
6477 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6478
6479 * term/gfxterm.c (repaint_schedulded): Rename to ...
6480 (repaint_scheduled): ... this. Update all callers.
6481 (repaint_was_schedulded): Rename to ...
6482 (repaint_was_scheduled): ... this. Update all callers.
6483
6484 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6485
6486 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
6487 which we expect to be handled by upper layers.
6488
6489 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
6490
6491 * bus/usb/usbhub.c: #include time.h header.
6492
6493 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6494
6495 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
6496 entry_name also for entries without stat blocks (e.g. ".."); fixes
6497 corruption of the first entry in a directory.
6498
6499 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6500
6501 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
6502 after setting gfxterm as the active terminal. GRUB_BACKGROUND
6503 doesn't work otherwise.
6504
6505 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6506
6507 * docs/grub.texi (Features): Update list of supported file systems.
6508 (GNU/Linux): Update for GRUB 2.
6509 (Serial terminal): Remove mention of --disable-serial, which was a
6510 GRUB Legacy configure option. Update instructions to use
6511 `terminal_input' and `terminal_output' rather than `terminal'.
6512 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
6513 configuration' and `Installing GRUB using grub-install'.
6514 (Menu entry editor): Update for GRUB 2.
6515 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
6516 Document new -a, -u, and -v options.
6517 (initrd): New section.
6518 (initrd16): New section.
6519 (linux): New section.
6520 (linux16): New section.
6521 (search): The `var' argument to `--set' is optional.
6522 (GRUB only offers a rescue shell): Go into a little more detail on
6523 drive ordering.
6524
6525 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6526
6527 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
6528
6529 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6530
6531 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
6532 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
6533
6534 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6535
6536 * util/i386/pc/grub-setup.c (setup): Rename prefix to
6537 install_prefix, in line with install_dos_part and install_bsd_part.
6538 Add new prefix variable, which is copied to install_prefix after
6539 comparing core.img in memory with the one read from disk in the
6540 no-embedding case, and use that rather than overwriting
6541 install_prefix immediately when installing to a partition.
6542 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
6543 Bicakci.
6544
6545 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6546
6547 * configure.ac: Avoid == in test command, it's not portable.
6548 * util/grub.d/30_os-prober.in: Likewise.
6549
6550 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
6551
6552 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
6553
6554 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6555
6556 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
6557 multiple (top-level) partmaps.
6558
6559 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * util/i386/efi/grub-install.in: Don't use empty grub_device.
6562 Reported by: Tino Keitel.
6563
6564 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 Bidi and diacritics support.
6567
6568 * Makefile.in (widthspec.bin): New target.
6569 (widthspec.h): Likewise.
6570 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
6571 * autogen.sh: Generate unidata.c.
6572 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
6573 * commands/ls.c (grub_ls_list_devices): Likewise.
6574 (grub_ls_list_files): Likewise.
6575 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
6576 (grub_mini_cmd_lsmod): Likewise.
6577 * commands/read.c: Likewise.
6578 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
6579 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
6580 * lib/arg.c (grub_arg_show_help): Likewise.
6581 * lib/crypto.c (grub_password_get): Likewise.
6582 * normal/auth.c (grub_username_get): Likewise.
6583 * normal/misc.c (grub_normal_print_device_info): Likewise.
6584 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
6585 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
6586 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
6587 (normal/charset.c_DEPENDENCIES): New variable.
6588 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
6589 (pkglib_MODULES): Remove charset.mod.
6590 (charset_mod_SOURCES): Removed.
6591 (charset_mod_CFLAGS): Likewise.
6592 (charset_mod_LDFLAGS): Likewise.
6593 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
6594 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
6595 and term/tparm.c.
6596 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6597 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6598 (kernel_img_HEADERS): Add terminfo.h.
6599 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
6600 Fill ->font. Reverse ascii bitmaps.
6601 (grub_font_get_xheight): New function.
6602 * font/font.c (grub_font_get_string_width): Moved from here ...
6603 * gfxmenu/font.c (grub_font_get_string_width): ... here.
6604 * font/font.c (grub_font_draw_string): Moved from here ...
6605 * gfxmenu/font.c (grub_font_draw_string): ... here.
6606 * font/font.c (grub_font_dup_glyph): New function.
6607 (grub_font_blit_glyph): Likewise.
6608 (grub_font_blit_glyph_mirror): Likewise.
6609 (blit_comb): Likewise.
6610 (grub_font_construct_dry_run): Likewise.
6611 (grub_font_get_constructed_device_width): Likewise.
6612 (grub_font_construct_glyph): Likewise.
6613 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
6614 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
6615 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
6616 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
6617 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
6618 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
6619 (grub_font_get_xheight): New proto.
6620 (grub_font_get_constructed_device_width): Likewise.
6621 (grub_font_construct_glyph): Likewise.
6622 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
6623 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
6624 * include/grub/font.h (grub_font_draw_string): Moved from here ...
6625 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
6626 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
6627 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
6628 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
6629 (grub_console_getcharwidth): Likewise.
6630 * include/grub/misc.h (grub_xputs): New proto.
6631 (grub_puts): Inlined.
6632 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
6633 (grub_normal_get_line_counter): Removed.
6634 (grub_install_newline_hook): Likewise.
6635 (grub_normal_get_char_counter): New proto.
6636 (grub_normal_reset_more): Likewise.
6637 (grub_xputs_normal): Likewise.
6638 * include/grub/powerpc/ieee1275/console.h: Removed.
6639 * include/grub/sparc64/ieee1275/console.h: Likewise.
6640 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
6641 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
6642 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
6643 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
6644 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
6645 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
6646 (grub_term_input): Pass reference to self. All users updated.
6647 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
6648 Pass reference to self. New fields normal_color, highlight_color and
6649 data. All users updated.
6650 (grub_putchar): Removed.
6651 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
6652 (grub_unicode_estimate_width): New function.
6653 (grub_term_getcharwidth): Add defaults.
6654 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
6655 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
6656 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
6657 (grub_cls): Remove EXPORT_FUNC.
6658 (grub_setcolorstate): Inline.
6659 (grub_newline_hook): Removed.
6660 * include/grub/terminfo.h: Rewritten. All users updated.
6661 * include/grub/unicode.h: New file.
6662 * include/grub/video.h (grub_video_signed_rect): New type.
6663 * kern/emu/console.c (grub_console_highlight_color): Removed.
6664 (grub_console_normal_color): Likewise.
6665 (grub_console_standard_color): Made static.
6666 (grub_ncurses_putchar): Remove mapping.
6667 (grub_ncurses_getcharwidth): Removed.
6668 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6669 (grub_ncurses_setcolor): Removed.
6670 (grub_ncurses_getcolor): Likewise.
6671 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
6672 (grub_console_putchar): ... this.
6673 (grub_console_putchar): Handle argument difference.
6674 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
6675 console_init_early and console_init_lately.
6676 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
6677 * kern/misc.c (grub_puts): Removed.
6678 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
6679 (grub_vsnprintf_real): Remove str = NULL support.
6680 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
6681 * normal/charset.c (grub_utf8_to_ucs4): ... here.
6682 * kern/term.c (grub_putcode): Renamed to ...
6683 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
6684 (grub_putchar): Removed.
6685 (grub_xputs_dumb): New function.
6686 (grub_xputs): New variable.
6687 * lib/charset.c: Move from here ...
6688 * normal/charset.c: ... to here.
6689 (grub_ucs4_to_utf8): New function.
6690 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
6691 (join_types): New variable.
6692 (unpack_join): New function.
6693 (bidi_types): New variable.
6694 (unpack_bidi): New function.
6695 (get_bidi_type): Likewise.
6696 (get_join_type): Likewise.
6697 (is_mirrored): Likewise.
6698 (grub_unicode_get_comb_type): Likewise.
6699 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
6700 (is_type_after): Likewise.
6701 (grub_unicode_aglomerate_comb): Likewise.
6702 (bidi_line_wrap): Likewise.
6703 (grub_bidi_line_logical_to_visual): Likewise.
6704 (grub_bidi_logical_to_visual): Likewise.
6705 (grub_unicode_mirror_code): Likewise.
6706 (grub_unicode_shape_code): Likewise.
6707 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
6708 Don't use grub_putchar.
6709 * normal/main.c (grub_normal_init_page): Use grub_putcode.
6710 (grub_normal_reader_init): Likewise.
6711 (grub_xputs_saved): New variable.
6712 (GRUB_MOD_INIT): Set grub_xputs.
6713 (GRUB_MOD_FINI): Restore grub_xputs.
6714 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
6715 (menu_init): Avoid printing gfxmenu error.
6716 (show_menu): Use grub_normal_get_char_counter.
6717 * normal/menu_entry.c (update_screen): Fix out-of-array.
6718 (complete): Avoid NULL dereferencing.
6719 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
6720 * normal/menu_text.c (print_spaces): Removed.
6721 (grub_print_ucs4): Likewise.
6722 (grub_print_message_indented): Use grub_print_ucs4.
6723 (print_message): Use grub_putcode.
6724 (print_entry): Hanlde diacritics.
6725 * normal/term.c (term_state): New type.
6726 (grub_more_lines): Removed.
6727 (term_states): New variable.
6728 (grub_normal_line_counter): Renamed to ..
6729 (grub_normal_char_counter): ...this. All users updated.
6730 (grub_normal_get_line_counter): Renamed to ...
6731 (grub_normal_get_char_counter): ... this.
6732 (grub_normal_reset_more): New function.
6733 (process_newline): Removed.
6734 (print_more): New function.
6735 (grub_install_newline_hook): Removed.
6736 (map_code): New function.
6737 (grub_puts_terminal): Use grub_print_ucs4.
6738 (putglyph): New function.
6739 (putcode_real): Likewise.
6740 (grub_putcode): Use putcode_real.
6741 (get_maxwidth): New function.
6742 (get_startwidth): Likewise.
6743 (print_ucs4_terminal): Likewise.
6744 (find_term_state): Likewise.
6745 (put_glyphs_terminal): Likewise.
6746 (print_backlog): Likewise.
6747 (print_ucs4_real): Likewise.
6748 (grub_print_ucs4): Likewise.
6749 (grub_xputs_normal): Likewise.
6750 * term/efi/console.c (grub_console_putchar): Output diacritics.
6751 (grub_console_getcharwidth): Removed.
6752 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6753 * term/gfxterm.c (clear_char): Free chars.
6754 (scroll_up): Avoid leaking memory.
6755 (grub_gfxterm_putchar): Support diacritics.
6756 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6757 * term/i386/pc/console.c (grub_console_term_output): Declare as
6758 GRUB_TERM_CODE_TYPE_VGA.
6759 * term/i386/pc/vga.c (grub_vga_term): Declare as
6760 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
6761 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
6762 GRUB_TERM_CODE_TYPE_VGA.
6763 * term/i386/vga_common.c (map_char): Removed.
6764 (grub_console_putchar): Likewise.
6765 (grub_console_getcharwidth): Likewise.
6766 * term/ieee1275/ofconsole.c: Simplify using terminfo.
6767 (colors): Reordered to match terminfo.
6768 (grub_ofconsole_normal_color): Removed.
6769 (grub_ofconsole_writeesc): Likewise.
6770 (grub_ofconsole_highlight_color): Likewise.
6771 (grub_ofconsole_getcharwidth): Likewise.
6772 (grub_ofconsole_setcolorstate): Likewise.
6773 (grub_ofconsole_setcolor): Likewise.
6774 (grub_ofconsole_getcolor): Likewise.
6775 (grub_ofconsole_readkey): Renamed to ...
6776 (readkey): ... this. Remove escape sequence handling. Return -1 on no
6777 key.
6778 (grub_ofconsole_checkkey): Removed.
6779 (grub_ofconsole_getkey): Likewise.
6780 (grub_ofconsole_getxy): Likewise.
6781 (grub_ofconsole_gotoxy): Likewise.
6782 (grub_ofconsole_cls): Likewise.
6783 (grub_ofconsole_refresh): Likewise.
6784 (grub_ofconsole_terminfo_input): New struct.
6785 (grub_ofconsole_terminfo_output): Likewise.
6786 (grub_ofconsole_term_input): Use terminfo.
6787 (grub_ofconsole_term_output): Likewise.
6788 (grub_console_init): Split into ...
6789 (grub_console_init_early): ...this and ...
6790 (grub_console_init_lately): ...this. Use terminfo.
6791 (grub_ofconsole_putchar): Renamed to ...
6792 (put): ... this. Remove mapping.
6793 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6794 * term/serial.c: Simplify using terminfo.
6795 (xpos): Removed.
6796 (ypos): Likewise.
6797 (keep_track): Likewise.
6798 (registered): Likewise.
6799 (input_buf): Likewise.
6800 (npending): Likewise.
6801 (serial_translate_key_sequence): Likewise.
6802 (fill_input_buf): Likewise.
6803 (grub_serial_checkkey): Likewise.
6804 (grub_serial_getkey): Likewise.
6805 (grub_serial_getxy): Likewise.
6806 (grub_serial_gotoxy): Likewise.
6807 (grub_serial_putchar): Likewise.
6808 (grub_serial_cls): Likewise.
6809 (grub_serial_setcolorstate): Likewise.
6810 (grub_serial_setcursor): Likewise.
6811 (serial_hw_init): Use serial_hw_fetch.
6812 (grub_serial_terminfo_input): New variable.
6813 (grub_serial_terminfo_output): Likewise.
6814 (grub_serial_term_input): Use terminfo.
6815 (grub_serial_term_output): Likewise.
6816 * term/terminfo.c (putstr): Use put.
6817 (grub_terminfo_all_free): New function
6818 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
6819 (grub_terminfo_output_register): New function.
6820 (grub_terminfo_output_unregister): Likewise.
6821 (grub_terminfo_getxy): Likewise.
6822 (grub_terminfo_readkey): Likewise.
6823 (grub_terminfo_checkkey): Likewise.
6824 (grub_terminfo_getkey): Likewise.
6825 (grub_terminfo_input_init): Likewise.
6826 (print_terminfo): Likewise.
6827 (grub_cmd_terminfo): Handle encoding.
6828 (grub_terminfo_gotoxy): Track position.
6829 (grub_terminfo_cls): Likewise.
6830 (grub_terminfo_putchar): Likewise.
6831 (grub_terminfo_setcolorstate): Handle colors
6832 (grub_terminfo_cursor_on): This ...
6833 (grub_terminfo_cursor_off): ... and this merged into ...
6834 (grub_terminfo_setcursor): ... this.
6835 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
6836 * unicode/ArabicShaping.txt: New file (imported from Unicode).
6837 * unicode/BidiMirroring.txt: Likewise.
6838 * unicode/UnicodeData.txt: Likewise.
6839 * unicode/COPYING: Likewise.
6840 * util/grub-editenv.c (grub_putchar): Removed.
6841 (grub_xputs_real): New function.
6842 (grub_xputs): New variable.
6843 * util/grub-fstest.c (grub_putchar): Removed.
6844 (grub_xputs_real): New function.
6845 (grub_xputs): New variable.
6846 * util/grub-mkdevicemap.c (grub_putchar): Removed.
6847 (grub_xputs_real): New function.
6848 (grub_xputs): New variable.
6849 * util/grub-probe.c (grub_putchar): Removed.
6850 (grub_xputs_real): New function.
6851 (grub_xputs): New variable.
6852 * util/grub-script-check.c (grub_putchar): Removed.
6853 (grub_xputs_real): New function.
6854 (grub_xputs): New variable.
6855 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
6856 (grub_xputs_real): New function.
6857 (grub_xputs): New variable.
6858 * util/import_unicode.py: New file.
6859 * util/grub-mkfont.c (ft_errmsgs): New array.
6860 (grub_glyph_info): Make bitmap a pointer.
6861 (file_formats): New type WIDTH_SPEC.
6862 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
6863 (options): Add width-spec.
6864 (help): Likewise.
6865 (add_char): Renamed to ...
6866 (add_glyph): ... this.
6867 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
6868 (glyph_replace): New type.
6869 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
6870 (add_char): New function.
6871 (add_subst): Likewise.
6872 (process_cursive): Likewise.
6873 (add_font): Handle GSUB.
6874 (write_font_width_spec): New function.
6875 (main): Sort glyphs.
6876 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
6877 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
6878 * kern/term.c (grub_cls): Moved from here...
6879 * normal/term.c (grub_cls): ... here.
6880
6881 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6882
6883 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
6884 suitable for using within the format argument of printf when
6885 converting grub_size_t.
6886 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
6887 "x" to convert grub_size_t arguments.
6888
6889 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
6892 too long captions.
6893 (list_get_minimal_size): Take selection box into account.
6894
6895 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
6898 NULL font.
6899
6900 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6901
6902 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
6903 devices when iterating over /dev/disk/by-id; they will be handled
6904 later if appropriate, which they aren't always (e.g. LVM).
6905
6906 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6907
6908 * include/grub/misc.h (grub_reboot): Declare as noreturn.
6909 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
6910 fails.
6911 (grub_halt): Likewise.
6912 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
6913 reset-all fails.
6914 (grub_halt): Don't return, even if all of shut-down, power-off, and
6915 poweroff fail.
6916
6917 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6918
6919 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
6920 arguments, not three.
6921
6922 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6923
6924 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
6925 * util/grub.d/10_linux.in: Use it to check for LVM, so that
6926 LVM-on-RAID is handled correctly.
6927
6928 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6929
6930 * docs/grub.texi (Changes from GRUB Legacy): New section.
6931 (Future): Fix typo.
6932
6933 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6934
6935 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
6936 grub.d/README accidentally ends up executable for one reason or
6937 another. Ignore it.
6938
6939 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
6942 (gpt_partition_map_iterate): Support non-512B sectors.
6943
6944 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 * kern/efi/init.c (grub_efi_init): Disable watchdog.
6947 Tested by: Seth Goldberg.
6948
6949 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6950
6951 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
6952 Properly align mbi.
6953 Reported by: Seth Goldberg.
6954
6955 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 * util/grub-mkrescue.in: Avoid module duplication.
6958
6959 2010-07-01 Sean Finney <seanius@seanius.net>
6960
6961 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
6962
6963 2010-07-01 Sean Finney <seanius@seanius.net>
6964
6965 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
6966
6967 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 * disk/lvm.c (grub_lvm_checkvalue): New function.
6970 (grub_lvm_check_flag): Likewise.
6971
6972 2010-07-01 Robert Millan <rmh@gnu.org>
6973
6974 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
6975 Support 'p' as partition separator on kernel of FreeBSD (used
6976 with GPT labels).
6977 (grub_util_biosdisk_get_grub_dev): Likewise.
6978
6979 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 Yeeloong firmware port.
6982
6983 * boot/mips/yeeloong/fwstart.S: New file.
6984 * bus/cs5536.c (gpiodump): New const.
6985 (set_io_space): New function.
6986 (set_iod): Likewise.
6987 (set_p2d): Likewise.
6988 (grub_cs5536_init_geode): Likewise.
6989 * commands/mips/yeeloong/lsspd.c: New file.
6990 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
6991 (serial_mod_SOURCES): New variable.
6992 (serial_mod_CFLAGS): Likewise.
6993 (serial_mod_LDFLAGS): Likewise.
6994 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
6995 term/terminfo.c and term/tparm.c.
6996 (pkglib_IMAGES): Add fwstart.img.
6997 (fwstart_img_SOURCES): New variable.
6998 (fwstart_img_CFLAGS): Likewise.
6999 (fwstart_img_ASFLAGS): Likewise.
7000 (fwstart_img_LDFLAGS): Likewise.
7001 (fwstart_img_FORMAT): Likewise.
7002 (pkglib_MODULES): Add lsspd.mod.
7003 (lsspd_mod_SOURCES): New variable.
7004 (lsspd_mod_CFLAGS): Likewise.
7005 (lsspd_mod_LDFLAGS): Likewise.
7006 (pkglib_MODULES): Add halt.mod.
7007 (halt_mod_SOURCES): New variable.
7008 (halt_mod_CFLAGS): Likewise.
7009 (halt_mod_LDFLAGS): Likewise.
7010 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
7011 (serial_mod_SOURCES): Removed.
7012 (serial_mod_CFLAGS): Likewise.
7013 (serial_mod_LDFLAGS): Likewise.
7014 * disk/ata.c (check_device): New function.
7015 (grub_ata_device_initialize): Use check_device.
7016 (grub_ata_iterate): Recheck devices.
7017 (grub_ata_open): Likewise.
7018 (grub_atapi_iterate): Likewise.
7019 (grub_atapi_open): Likewise.
7020 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
7021 (GRUB_ATA_CH1_PORT1): Likewise.
7022 (GRUB_ATA_CH0_PORT2): Likewise.
7023 (GRUB_ATA_CH1_PORT2): Likewise.
7024 * include/grub/mips/loongson.h: New file.
7025 * include/grub/mips/yeeloong/ec.h: Likewise.
7026 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
7027 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
7028 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
7029 * include/grub/misc.h (grub_halt): Declare as noreturn.
7030 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
7031 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
7032 (UART_ENABLE_FIFO_TRIGGER1): New definition.
7033 (UART_ENABLE_DTRRTS): Likewise.
7034 (UART_ENABLE_MODEM): Removed.
7035 (UART_ENABLE_OUT2): New const.
7036 * include/grub/term.h (grub_term_register_input_active): New function.
7037 (grub_term_register_output_active): Likewise.
7038 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
7039 argument.
7040 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
7041 (init_pci): New function.
7042 (grub_machine_init): Execute platform init when firmware. Init serial.
7043 (grub_halt): Implement.
7044 (grub_exit): Likewise.
7045 (grub_reboot): Likewise.
7046 * term/serial.c (serial_hw_init): Update macros.
7047 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
7048 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
7049 (image_targets): New target mipsel-yeeloong-flash.
7050 (generate_image): Support IMAGE_YEELOONG_FLASH.
7051 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
7052 (grub_video_sm712_setup): Init card.
7053 (grub_video_sm712_set_palette): Removed.
7054 * video/sm712_init.c: New file.
7055
7056 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
7057
7058 * Makefile.in (install-local): Temporarily prepend $(builddir) to
7059 PATH when running help2man and then run it on the unadorned
7060 executable names, rather than passing $(builddir)/* paths to
7061 help2man. This avoids the build directory ending up in generated
7062 manual pages.
7063
7064 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
7065
7066 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
7067 to avoid accidents when debugging with 'sh -x'.
7068 * util/grub-mkrescue.in: Likewise.
7069 * util/grub.d/00_header.in: Likewise.
7070 * util/grub.d/10_hurd.in: Likewise.
7071 * util/grub.d/10_kfreebsd.in: Likewise.
7072 * util/grub.d/10_linux.in: Likewise.
7073 * util/grub.d/10_netbsd.in: Likewise.
7074 * util/grub.d/10_windows.in: Likewise.
7075 * util/grub.d/20_linux_xen.in: Likewise.
7076 * util/grub.d/30_os-prober.in: Likewise.
7077 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7078
7079 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
7080
7081 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
7082 last character in the buffer.
7083 Reported by: Vladimir Serbinenko.
7084
7085 2010-06-29 Robert Millan <rmh@gnu.org>
7086
7087 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
7088 (Command-line and menu entry commands): Document `badram' command.
7089
7090 2010-06-28 Robert Millan <rmh@gnu.org>
7091
7092 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
7093 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
7094 command using ${GRUB_BADRAM} as parameter.
7095
7096 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7097
7098 * docs/grub.texi (Device map): New section.
7099 (Themes): New section (stub).
7100 * Makefile.in (docs/grub.info): The info documentation now builds
7101 without errors. Make sure it stays that way.
7102
7103 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7104
7105 Use normal parser for menu entries.
7106 Reported by: Thomas Frauendorfer
7107
7108 * include/grub/parser.h (grub_parser_execute): Don't export.
7109 * normal/menu.c (grub_menu_execute_entry_real): New function.
7110 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
7111
7112 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7113
7114 * docs/grub.texi (Embedded configuration): New section (replacing
7115 old "Preset Menu" stub).
7116 (Images): New section.
7117 (configfile): Note that any menu entries defined in `file' are shown
7118 immediately.
7119
7120 2010-06-28 Josh Triplett <josh@joshtriplett.org>
7121
7122 * mmap/i386/pc/mmap_helper.S: Set CF on return.
7123
7124 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7125
7126 * util/grub-install.in: Add --debug-image= option.
7127
7128 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7129
7130 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
7131 possible on Linux.
7132
7133 * util/deviceiter.c (check_device): Rename to ...
7134 (check_device_readable_unique): ... this. Update all callers.
7135 Maintain and check a list of which devices (by canonicalized name)
7136 have already been seen.
7137 (clear_seen_devices): New function.
7138 (compare_file_names) [__linux__]: New function.
7139 (grub_util_iterate_devices): Clear the list of seen devices on exit
7140 and (just in case) on entry.
7141 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
7142 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
7143 seen-devices list, superseded by general code in check_device.
7144
7145 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7146
7147 * commands/cat.c (options): New variable.
7148 (grub_cmd_cat): Parse options. If the --dos option is given, print
7149 DOS-style "\r\n" line endings as simple newlines (Debian bug
7150 #586358).
7151 (GRUB_MOD_INIT): Use extcmd.
7152 (GRUB_MOD_FINI): Likewise.
7153 * docs/grub.texi (cat): Document --dos.
7154
7155 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 XEN with Linux grub-mkconfig support.
7158
7159 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
7160 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
7161 GRUB_CMDLINE_XEN_DEFAULT.
7162 * util/grub.d/20_linux_xen.in: New file.
7163
7164 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 Initialise VGA video on qemu ourselves.
7167
7168 * boot/i386/qemu/boot.S: Don't call 0xc000.
7169 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
7170 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
7171 (kernel_img_HEADERS): Add pci.h.
7172 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
7173 * configure.ac: Force unifont on qemu and yeeloong.
7174 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
7175 (grub_vga_palette_write): Use correct register.
7176 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
7177 Call grub_qemu_init_cirrus.
7178 * kern/i386/qemu/init.c: New file.
7179 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
7180
7181 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
7182
7183 2010-06-26 Pavel Roskin <proski@gnu.org>
7184
7185 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
7186 13.
7187
7188 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
7189
7190 * docs/grub.texi (Simple configuration): Explain that
7191 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
7192 set to `true' to disable their respective recovery entries, not
7193 merely set.
7194
7195 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
7196
7197 Make the `source' command slightly faster.
7198
7199 * normal/main.c (grub_normal_execute): Don't re-read list files when
7200 nested.
7201
7202 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
7203
7204 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
7205 field position and mask size to red fields from mode_info, not
7206 green.
7207 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
7208 Remove redundant tag->common.framebuffer_type assignment.
7209 Reported by: Seth Goldberg.
7210
7211 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
7212
7213 Sync up other versions of the Linux loader with Robert Millan's
7214 change of 2010-01-09, "Make loader output a bit more user-friendly".
7215
7216 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
7217 grub_dprintf().
7218 (grub_cmd_linux): Likewise.
7219 (grub_cmd_initrd): Likewise.
7220 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
7221 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7222
7223 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
7224
7225 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
7226 larger than MEMORY_MAP_SIZE.
7227
7228 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
7229
7230 Fix parallel build.
7231
7232 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
7233 dependency.
7234 * script/parser.y: #include grub_script.tab.h header.
7235
7236 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 Support >3GiB and <16MiB RAM in i386-qemu.
7239
7240 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
7241 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
7242 (grub_lower_mem): Removed.
7243 (grub_upper_mem): Likewise.
7244 (mem_size): Made static.
7245 (above_4g): New variable.
7246 (grub_machine_mmap_init): Detect small mem_size and above_4g.
7247 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
7248 support.
7249
7250 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 Cirrus 5446 and Bochs video cards support.
7253
7254 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
7255 video_bochs.mod
7256 (video_cirrus_mod_SOURCES): New variable.
7257 (video_cirrus_mod_CFLAGS): Likewise.
7258 (video_cirrus_mod_LDFLAGS): Likewise.
7259 (video_bochs_mod_SOURCES): Likewise.
7260 (video_bochs_mod_CFLAGS): Likewise.
7261 (video_bochs_mod_LDFLAGS): Likewise.
7262 * include/grub/vga.h: New file.
7263 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
7264 (grub_video_fb_set_page_t): New type.
7265 (grub_video_fb_setup): New prototype.
7266 (grub_video_fb_swap_buffers): Likewise.
7267 (grub_video_fb_get_info_and_fini): Likewise.
7268 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
7269 (CRTC_DATA_PORT): Likewise.
7270 (CRTC_CURSOR): Likewise.
7271 (CRTC_CURSOR_ADDR_HIGH): Likewise.
7272 (CRTC_CURSOR_ADDR_LOW): Likewise.
7273 (CRTC_CURSOR_DISABLE): Likewise.
7274 (update_cursor): Use grub_vga_cr_write.
7275 (grub_vga_text_setcursor): Likewise.
7276 * video/bochs.c: New file.
7277 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
7278 (palette): Likewise.
7279 (palette_size): Likewise.
7280 (framebuffer): New variable.
7281 (grub_video_fb_init): Use 'framebuffer'.
7282 (grub_video_fb_fini): Likewise.
7283 (grub_video_fb_get_info): Likewise.
7284 (grub_video_fb_get_palette): Likewise.
7285 (grub_video_fb_set_palette): Likewise.
7286 (grub_video_fb_set_viewport): Likewise.
7287 (grub_video_fb_get_viewport): Likewise.
7288 (grub_video_fb_map_color): Likewise.
7289 (grub_video_fb_map_rgb): Likewise.
7290 (grub_video_fb_map_rgba): Likewise.
7291 (grub_video_fb_unmap_color): Likewise.
7292 (grub_video_fb_unmap_color_int): Likewise.
7293 (grub_video_fb_fill_rect): Likewise.
7294 (grub_video_fb_blit_bitmap): Likewise.
7295 (grub_video_fb_blit_render_target): Likewise.
7296 (grub_video_fb_scroll): Likewise.
7297 (grub_video_fb_create_render_target): Likewise.
7298 (grub_video_fb_doublebuf_blit_init): Likewise.
7299 (grub_video_fb_set_active_render_target): Handle doublebuffering.
7300 (doublebuf_pageflipping_update_screen): New function.
7301 (doublebuf_pageflipping_init): Likewise.
7302 (grub_video_fb_setup): Likewise.
7303 (grub_video_fb_swap_buffers): Likewise.
7304 (grub_video_fb_get_info_and_fini): Likewise.
7305 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
7306 All users updated.
7307 (doublebuf_pageflipping_commit): Restructured into ...
7308 (doublebuf_pageflipping_set_page): ... this.
7309 (doublebuf_pageflipping_update_screen): Removed.
7310 (doublebuf_pageflipping_init): Likewise.
7311 (double_buffering_init): Likewise.
7312 (grub_video_vbe_setup): Use grub_video_fb_setup.
7313 (grub_video_vbe_swap_buffers): Removed.
7314 (grub_video_vbe_set_active_render_target): Likewise.
7315 (grub_video_vbe_get_active_render_target): Likewise.
7316 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
7317 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
7318 grub_video_fb_set_active_render_target and
7319 grub_video_fb_get_active_render_target.
7320 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
7321 (SEQUENCER_DATA_PORT): Likewise.
7322 (MAP_MASK_REGISTER): Likewise.
7323 (CRTC_ADDR_PORT): Likewise.
7324 (CRTC_DATA_PORT): Likewise.
7325 (START_ADDR_HIGH_REGISTER): Likewise.
7326 (START_ADDR_LOW_REGISTER): Likewise.
7327 (GRAPHICS_ADDR_PORT): Likewise.
7328 (GRAPHICS_DATA_PORT): Likewise.
7329 (READ_MAP_REGISTER): Likewise.
7330 (INPUT_STATUS1_REGISTER): Likewise.
7331 (INPUT_STATUS1_VERTR_BIT): Likewise.
7332 (get_map_mask): Use grub_vga_sr_read.
7333 (set_map_mask): Use grub_vga_sr_write.
7334 (set_read_map): Use grub_vga_gr_write.
7335 (set_start_address): Use grub_vga_cr_write.
7336 * video/sm712.c (framebuffer): Remove leftover fields.
7337
7338 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
7339
7340 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
7341 setting GRUB_VIDEO_BACKEND. Make it available as a user override
7342 instead. Replace the gfxterm backend check with a check that
7343 ${GRUB_PREFIX}/video.lst is non-empty.
7344 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
7345 again.
7346 (load_video): New generated function. Call it before loading
7347 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
7348 * util/grub.d/10_linux.in (linux_entry): Call load_video.
7349 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
7350 * docs/grub.texi (Simple configuration): Document
7351 GRUB_VIDEO_BACKEND.
7352
7353 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 Use video functions in linux and xnu loaders.
7356
7357 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
7358 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
7359 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
7360 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
7361 loader/i386/pc/linux.c.
7362 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
7363 (find_line_len): Removed.
7364 (find_framebuf): Likewise.
7365 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
7366 * loader/i386/efi/xnu.c: Removed.
7367 * loader/i386/pc/xnu.c: Moved from here...
7368 * loader/i386/xnu.c: ...here.
7369
7370 Enable priorities in video drivers.
7371
7372 * include/grub/video.h (grub_video_adapter_prio_t): New type.
7373 (grub_video_adapter): New field prio.
7374 (grub_video_register): Respect prio when inserting.
7375 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
7376 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
7377 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
7378 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
7379 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
7380 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
7381 * video/sm712.c (grub_video_sm712_adapter): Likewise.
7382
7383 Fix SDL driver ID.
7384
7385 * include/grub/video.h (grub_video_driver_id_t): New value
7386 GRUB_VIDEO_DRIVER_SDL.
7387 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
7388
7389 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7390
7391 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
7392 argument to printf.
7393 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7394
7395 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7396
7397 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
7398 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7399
7400 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7401
7402 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
7403 directly, and recommend grub-install instead.
7404 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7405
7406 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7407
7408 Fix i386-pc prefix handling with nested partitions (Debian bug
7409 #585068). Note that the case where the core image is booted using
7410 multiboot and relocated from its original location still requires
7411 more work.
7412
7413 * kern/i386/pc/init.c (make_install_device): If the prefix starts
7414 with "(,", fill the boot drive in between those two characters, but
7415 expect that a full partition specification including partition map
7416 names will follow.
7417 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
7418 specified, write a prefix without the drive name but including a
7419 full partition specification.
7420
7421 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
7422
7423 * util/grub-mkconfig.in: Ignore non-option arguments, for
7424 compatibility with older versions (before 2010-06-12) which did the
7425 same. In particular, this makes it easier to ship an update-grub
7426 wrapper which is compatible with that used with GRUB Legacy (Debian
7427 bug #586056).
7428
7429 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7430
7431 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
7432 for manual page generation.
7433
7434 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7435
7436 * po/POTFILES: Remove leftover commands/handler.c.
7437
7438 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7439
7440 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
7441 left this script non-functional.
7442
7443 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7444
7445 * docs/man/grub-emu.h2m: New file.
7446
7447 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
7448
7449 * docs/grub.texi (Commands): Document reduced command set in rescue
7450 mode.
7451 (cpuid): New section.
7452
7453 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
7454
7455 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
7456 new partition naming style.
7457 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
7458
7459 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
7460
7461 Add "-o grub.iso" like cmdline options support.
7462
7463 * util/grub-install.in: Improve cmdline option parsing.
7464 * util/grub-mkconfig.in: Likewise.
7465 * util/grub-mkrescue.in: Likewise.
7466 * util/grub-reboot.in: Likewise.
7467 * util/grub-set-default.in: Likewise.
7468 * util/i386/efi/grub-install.in: Likewise.
7469 * util/ieee1275/grub-install.in: Likewise.
7470 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7471
7472 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7473
7474 * .bzrignore: Ignore 41_custom.
7475
7476 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7477
7478 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
7479
7480 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7481
7482 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
7483 prototype declarations.
7484
7485 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
7486 generating fs, partmap, and video lists.
7487 * include/grub/fs.h (grub_fs_register): Omit prototype if
7488 GRUB_LST_GENERATOR is defined.
7489 * include/grub/partition.h (grub_partition_map_register): Likewise.
7490 * include/grub/video.h (grub_video_register): Likewise.
7491
7492 2010-06-12 Javier Martín <lordhabbit@gmail.com>
7493
7494 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
7495
7496 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7497
7498 * util/grub-mkrescue.in: Support --xorriso argument.
7499
7500 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
7503 Suggested by: Thomas Schmitt.
7504
7505 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
7508 Suggested by: Thomas Schmitt.
7509
7510 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 custom.cfg support.
7513
7514 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
7515 * util/grub.d/41_custom.in: New file.
7516
7517 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7518
7519 * util/grub-mkrescue.in (make_image): Remove sh module, which has
7520 been merged back into normal.
7521
7522 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7523
7524 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
7525 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
7526
7527 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7528
7529 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
7530 when generating manual pages.
7531 * docs/man/grub-bin2h.h2m: New file.
7532 * docs/man/grub-editenv.h2m: New file.
7533 * docs/man/grub-fstest.h2m: New file.
7534 * docs/man/grub-install.h2m: New file.
7535 * docs/man/grub-macho2img.h2m: New file.
7536 * docs/man/grub-mkconfig.h2m: New file.
7537 * docs/man/grub-mkdevicemap.h2m: New file.
7538 * docs/man/grub-mkfont.h2m: New file.
7539 * docs/man/grub-mkimage.h2m: New file.
7540 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
7541 * docs/man/grub-mkrelpath.h2m: New file.
7542 * docs/man/grub-mkrescue.h2m: New file.
7543 * docs/man/grub-ofpathname.h2m: New file.
7544 * docs/man/grub-pe2elf.h2m: New file.
7545 * docs/man/grub-probe.h2m: New file.
7546 * docs/man/grub-reboot.h2m: New file.
7547 * docs/man/grub-script-check.h2m: New file.
7548 * docs/man/grub-set-default.h2m: New file.
7549 * docs/man/grub-setup.h2m: New file.
7550
7551 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 Use FOR_* macros instead of *_iterate whenever possible.
7554
7555 * commands/handler.c: Removed.
7556 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
7557 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
7558 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7559 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
7560 (grub_probe_SOURCES): Remove kern/parser.c.
7561 (util/grub-script-check.c_DEPENDENCIES): Removed.
7562 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
7563 and grub_script_check_init.c.
7564 (grub_script_check_init.lst): Removed.
7565 (grub_script_check_init.h): Likewise.
7566 (grub_script_check_init.c): Likewise.
7567 (pkglib_MODULES): Remove handler.mod and sh.mod.
7568 (handler_mod_SOURCES): Removed.
7569 (handler_mod_CFLAGS): Likewise.
7570 (handler_mod_LDFLAGS): Likewise.
7571 (normal_mod_SOURCES): Remove normal/handler.c.
7572 Add script/main.c, script/script.c, script/execute.c,
7573 script/function.c, script/lexer.c, grub_script.tab.c
7574 and grub_script.yy.c.
7575 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7576 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7577 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
7578 (grub_setup_SOURCES): Remove kern/parser.c.
7579 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7580 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
7581 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7582 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7583 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7584 (grub_setup_SOURCES): Remove kern/parser.c.
7585 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7586 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
7587 * include/grub/command.h (grub_command_iterate): Removed.
7588 (FOR_COMMANDS): New macro.
7589 * include/grub/dl.h (grub_dl): New member next.
7590 (grub_dl_iterate): Removed.
7591 (grub_dl_head): New variable declaration.
7592 (FOR_DL_MODULES): New macro.
7593 * include/grub/fs.h: Include list.h.
7594 (grub_fs): Make next first element.
7595 (grub_fs_list): New variable declaration.
7596 (grub_fs_register): Make inline.
7597 (grub_fs_unregister): Likewise.
7598 (grub_fs_iterate): Removed.
7599 (FOR_FILESYSTEMS): New macro.
7600 * include/grub/handler.h: Removed.
7601 * include/grub/list.h (grub_list_hook_t): Removed.
7602 (grub_list_test_t): Likewise.
7603 (grub_list_pop): Likewise.
7604 (grub_list_iterate): Likewise.
7605 (grub_list_insert): Likewise.
7606 (FOR_LIST_ELEMENTS): New macro.
7607 * include/grub/parser.h (grub_parser_class): Removed.
7608 (grub_parser_register): Likewise.
7609 (grub_parser_unregister): Likewise.
7610 (grub_parser_get_current): Likewise.
7611 (grub_parser_set_current): Likewise.
7612 (grub_register_rescue_parser): Likewise.
7613 (grub_rescue_parse_line): New function.
7614 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
7615 * include/grub/script_sh.h (grub_script_function_list): New variable
7616 declaration.
7617 (FOR_SCRIPT_FUNCTIONS): New macro.
7618 (grub_script_function_iterate): Removed.
7619 (grub_normal_parse_line): New prototype.
7620 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
7621 (FOR_DISABLED_TERM_INPUTS): Likewise.
7622 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7623 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7624 * include/grub/video.h (grub_video_adapter): Move 'next' to first
7625 element.
7626 (grub_video_register): Inline.
7627 (grub_video_unregister): Likewise.
7628 (grub_video_adapter_list): New variable declaration.
7629 (grub_video_iterate): Removed.
7630 (FOR_VIDEO_ADAPTERS): New macro.
7631 * kern/dl.c (grub_dl_list): Removed. All users updated.
7632 (grub_dl_iterate): Removed.
7633 * kern/fs.c (grub_fs_list): Make global.
7634 (grub_fs_register): Removed.
7635 (grub_fs_unregister): Likewise.
7636 (grub_fs_iterate): Likewise.
7637 * kern/handler.c: Removed.
7638 * kern/list.c (grub_list_pop): Removed.
7639 (grub_list_iterate): Likewise.
7640 (grub_list_insert): Likewise.
7641 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
7642 (grub_prio_list_insert): Don't use grub_list_insert.
7643 * kern/main.c (grub_register_rescue_parser): Don't call
7644 grub_register_rescue_parser.
7645 * kern/parser.c (grub_parser_class): Removed.
7646 (grub_parser_execute): Use grub_rescue_parse_line.
7647 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
7648 (grub_rescue_parser): Removed.
7649 (grub_register_rescue_parser): Likewise.
7650 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
7651 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
7652 (grub_auth_check_authentication): Likewise.
7653 * normal/completion.c (iterate_command): Removed.
7654 (grub_normal_do_completion): Use FOR_COMMANDS.
7655 * normal/handler.c: Removed.
7656 * normal/main.c (read_config_file): Remove parser changing.
7657 (grub_normal_execute): Don't call read_handler_list.
7658 (grub_normal_read_line_real): Statically allocate prompt.
7659 (grub_cmdline_run): Use grub_normal_parse_line.
7660 (GRUB_MOD_FINI): Don't call free_handler_list.
7661 * normal/menu_entry.c (run): Likewise.
7662 * script/function.c (grub_script_function_list): Make global.
7663 (grub_script_function_iterate): Removed.
7664 * script/main.c (grub_normal_parse_line): Make global.
7665 (grub_sh_parser): Removed.
7666 (GRUB_MOD_INIT): Likewise.
7667 (GRUB_MOD_FINI): Likewise.
7668 * tests/lib/functional_test.c (grub_functional_test): Use
7669 FOR_LIST_ELEMENTS.
7670 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
7671 (grub_test_run): Use FOR_LIST_ELEMENTS.
7672 * tests/lib/unit_test.c (main): Likewise.
7673 * util/deviceiter.c (grub_util_iterate_devices): Don't use
7674 grub_list_pop.
7675 * util/grub-fstest.c (grub_term_input_class): Removed.
7676 (grub_term_output_class): Likewise.
7677 * util/grub-probe.c: Likewise.
7678 * util/i386/pc/grub-setup.c: Likewise.
7679 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7680 * util/grub-script-check.c (main): Don't call grub_init_all and
7681 grub_fini_all.
7682 * video/video.c (grub_video_adapter_list): Make global.
7683 (grub_video_register): Removed.
7684 (grub_video_unregister): Likewise.
7685 (grub_video_iterate): Likewise.
7686
7687 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
7690 reported by Henrique Ferreiro.
7691
7692 2010-06-09 Robert Millan <rmh@gnu.org>
7693
7694 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
7695 ones, when both are available.
7696
7697 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7698
7699 Make --version uniform and avoid hard-coded program name.
7700
7701 * util/grub-mkimage.c (main): Use `program_name' instead of
7702 hard-coded string.
7703 * util/i386/pc/grub-setup.c (main): Likewise.
7704 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
7705 * util/grub-install.in: Save the basename of $0 in $self, and use the
7706 latter in informational messages. Use the same format for --version
7707 as the binary programs.
7708 * util/grub-mkconfig.in: Likewise.
7709 * util/grub-mkrescue.in: Likewise.
7710 * util/grub-reboot.in: Likewise.
7711 * util/grub-set-default.in: Likewise.
7712 * util/i386/efi/grub-install.in: Likewise.
7713 * util/ieee1275/grub-install.in: Likewise.
7714 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7715
7716 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7717
7718 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
7719 embedding area. Use <= instead of == when checking for non-emptiness.
7720
7721 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7722
7723 * configure.ac: Add `.' to the directories searched for unifont.
7724
7725 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7726
7727 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
7728 grub_script.yy.h.
7729
7730 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7731
7732 * docs/grub.texi (History): Expand to cover GRUB 2.
7733 (Serial terminal): Refer to `terminal_input' and `terminal_output'
7734 commands, not `terminal'.
7735 (serial): Likewise.
7736 (terminal_input): New section.
7737 (terminal_output): New section.
7738 (uppermem): New section (stub).
7739 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
7740
7741 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7742
7743 * docs/grub.texi (Security): Menu entries are unrestricted by
7744 default, not restricted to superusers as I had previously thought.
7745 Reword to account for this.
7746
7747 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7748
7749 * kern/emu/misc.c (device_mapper_null_log): New function.
7750 (grub_device_mapper_supported): New function.
7751 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
7752 prototype.
7753 * kern/emu/hostdisk.c (find_partition_start): Check whether
7754 device-mapper is supported before trying to use it.
7755 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
7756
7757 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7758
7759 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
7760 (File name syntax): Likewise.
7761 (help): --all is no longer supported in GRUB 2. Be more precise
7762 about pattern matching.
7763
7764 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7765
7766 * normal/completion.c (grub_normal_do_completion): When completing
7767 arguments to "set" and the current word contains an equals sign,
7768 skip to after the equals sign before starting completion.
7769
7770 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7771
7772 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
7773
7774 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7775
7776 * docs/grub.texi (Network): New section.
7777 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
7778 `(nd)' as in GRUB Legacy.
7779 (pxe_unload): New section.
7780
7781 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7782
7783 * docs/grub.texi (Troubleshooting): `echo' is not usually available
7784 in the rescue shell, so recommend using `set' instead. Thanks,
7785 Jordan Uggla.
7786
7787 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7788
7789 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
7790 (password): New section.
7791 (password_pbkdf2): New section.
7792 (search): New section.
7793 (Security): New section.
7794 (Troubleshooting): New section, currently very incomplete.
7795 (Invoking grub-mkpasswd-pbkdf2): New section.
7796 (Internals): New section, currently very incomplete.
7797
7798 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7799
7800 * util/grub.d/00_header.in: Add some more quoting (of
7801 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
7802 work again.
7803 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
7804
7805 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7806
7807 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
7808 to `count', fixing variable shadowing that broke the -c option.
7809
7810 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
7811
7812 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
7813 in case they contain spaces.
7814
7815 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7816
7817 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
7818 "part_" to partmap module names, in line with grub-install.
7819 Reported by: Jindřich Makovička (Debian bug #584426).
7820
7821 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7822
7823 * util/grub-mkimage.c: Make target-related error messages slightly
7824 more helpful; -O talks about "format". Explicitly point to the use
7825 of -O if no target is specified.
7826 Reported by: Didier Raboud (Debian bug #584415).
7827
7828 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
7829
7830 * INSTALL: Document several build requirements for optional features
7831 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
7832
7833 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7834
7835 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
7836 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
7837 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
7838
7839 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7840
7841 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
7842 Thanks to Jordan Uggla for spotting this.
7843
7844 2010-06-02 Aleš Nesrsta <starous@volny.cz>
7845
7846 Finally make USB usable.
7847
7848 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
7849 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
7850 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
7851 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
7852 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
7853 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
7854 (GRUB_OHCI_FSMPS): Likewise.
7855 (GRUB_OHCI_PERIODIC_START): Likewise.
7856 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
7857 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
7858 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
7859 (GRUB_OHCI_SET_PORT_RESET): Likewise.
7860 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
7861 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
7862 (grub_ohci_transaction): Likewise.
7863 (grub_ohci_transfer): Improve condition detection algorithms.
7864 Handle toggle property. Program the transactions correctly.
7865 Improve error handling. Various important fixups.
7866 (grub_ohci_portstatus): Put register writes in right order.
7867 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
7868 (grub_uhci_transfer): Don't show "failed" message on success.
7869 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
7870 array.
7871 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
7872 determine its size.
7873 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
7874 before initialization is completed. Use IN direction for empty
7875 transfers. Use last_trans and compute toggle.
7876 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
7877 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
7878 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
7879 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
7880 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
7881 (grub_usb_device): Increase toggle to 256.
7882 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
7883 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
7884 GRUB_USBMS_SUBCLASS_SFF8070.
7885 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
7886 (grub_scsi_inquiry): New member page and alloc_length.
7887 (grub_scsi_request_sense): New structure.
7888 (grub_scsi_request_sense_data): Likewise.
7889 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
7890 control.
7891 * disk/scsi.c (grub_scsi_request_sense): New function.
7892 (grub_scsi_test_unit_ready): Likewise.
7893 (grub_scsi_inquiry): Fill new fields.
7894 (grub_scsi_read_capacity): Likewise.
7895 (grub_scsi_read10): Add request sense at the end.
7896 (grub_scsi_read12): Likewise.
7897 (grub_scsi_write10): Likewise.
7898 (grub_scsi_write12): Likewise.
7899 (grub_scsi_open): Add Test Unit Ready.
7900 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
7901 Support additional subclasses. Con't clear halt yet. Activate the
7902 proper config. Calculate LUNs correctly.
7903 (grub_usbms_transfer): Various important fixups.
7904
7905 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7906
7907 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
7908 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
7909 (grub_ohci_fini_hw): New function.
7910 (grub_ohci_restore_hw): Likewise.
7911 (GRUB_MOD_INIT(ohci)): Register preboot hook.
7912 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
7913 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
7914
7915 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7916
7917 Dedicated DMA allocations.
7918
7919 * bus/pci.c (grub_memalign_dma32): New function
7920 (grub_dma_free): Likewise.
7921 (grub_dma_get_virt): Likewise.
7922 (grub_dma_get_phys): Likewise.
7923 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
7924 (grub_ohci_pci_iter): Use dma32_alloc.
7925 (grub_ohci_transfer): Likewise.
7926 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7927 (grub_usb_bulk_readwrite): Likewise.
7928 * include/grub/pci.h: Add declarations.
7929
7930 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 CS5536 support.
7933
7934 * bus/cs5536.c: New file.
7935 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
7936 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
7937 (cs5536_mod_SOURCES): New variable.
7938 (cs5536_mod_CFLAGS): Likewise.
7939 (cs5536_mod_LDFLAGS): Likewise.
7940 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
7941 machine/pci.h.
7942 (kernel_img_SOURCES): Add bus/cs5536.c.
7943 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
7944 usb_keyboard.mod.
7945 (usb_mod_SOURCES): New variable.
7946 (usb_mod_CFLAGS): New variable.
7947 (usb_mod_LDFLAGS): New variable.
7948 (usbtest_mod_SOURCES): New variable.
7949 (usbtest_mod_CFLAGS): New variable.
7950 (usbtest_mod_LDFLAGS): New variable.
7951 (ohci_mod_SOURCES): New variable.
7952 (ohci_mod_CFLAGS): New variable.
7953 (ohci_mod_LDFLAGS): New variable.
7954 (usbms_mod_SOURCES): New variable.
7955 (usbms_mod_CFLAGS): New variable.
7956 (usbms_mod_LDFLAGS): New variable.
7957 (usb_keyboard_mod_SOURCES): New variable.
7958 (usb_keyboard_mod_CFLAGS): New variable.
7959 (usb_keyboard_mod_LDFLAGS): New variable.
7960 * include/grub/smbus.h: New file.
7961 * include/grub/cs5536.h: New file.
7962
7963 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7964
7965 * util/grub.d/00_header.in: Add safety check to make sure that
7966 ${locale_dir} exists before trying to probe it.
7967
7968 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7969
7970 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
7971 per the GNU Coding Standards; this is now too obscure to be worth
7972 documenting.
7973 (QNX): Likewise.
7974 (chainloader): Remove cross-reference to `SCO UnixWare'.
7975
7976 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7977
7978 * docs/grub.texi (Chain-loading): New section.
7979 (DOS/Windows): New section, borrowed from GRUB Legacy with details
7980 adjusted for GRUB 2.
7981 (SCO UnixWare): Likewise.
7982 (QNX): Likewise.
7983 (chainloader): Add reference to `Block list syntax'.
7984 (drivemap): New section.
7985 (parttool): New section.
7986
7987 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7988
7989 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
7990 the grub shell'.
7991 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
7992 (Installing GRUB using grub-install): Remove reference to the grub
7993 shell; mention `grub-mkimage' and `grub-setup' instead.
7994 (Invoking grub-install): Likewise.
7995 (Interface): Add reference to `Menu entry editor'.
7996 (serial): Remove `--device' option.
7997
7998 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7999
8000 * docs/grub.texi (Configuration): New section, documenting
8001 configuration file generation using grub-mkconfig. I've left a slot
8002 for documenting the full shell scripting format but have not yet
8003 started on writing that up.
8004 (Invoking grub-mkconfig): New section.
8005
8006 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8007
8008 * docs/grub.texi (direntry): Remove grub-terminfo reference.
8009 (GNU GRUB manual): Likewise.
8010 (General commands): Update description of `terminfo' for GRUB 2.
8011
8012 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8013
8014 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
8015 (GRUB_MOD_INIT): Fix capitalisation.
8016 * docs/grub.texi (Command-line and menu entry commands): Document
8017 gettext and gptsync commands.
8018
8019 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8020
8021 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
8022 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
8023
8024 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
8025
8026 Add btrfs probing support, currently only in the single-device case.
8027
8028 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
8029 function.
8030 (grub_guess_root_device): Call find_root_device_from_mountinfo
8031 before looking in /dev.
8032
8033 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
8036 GRUB_DISK_SIZE_UNKNOWN.
8037 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
8038
8039 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
8040
8041 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
8042 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
8043 corrupted or not synced properly.
8044
8045 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
8048 Reported by: Seth Goldberg.
8049
8050 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
8053 addition of dest.
8054 Reported by: Seth Goldberg.
8055
8056 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
8059 Reported by: Seth Goldberg.
8060
8061 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
8064 64-bit address as signed on MIPS.
8065
8066 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
8067
8068 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
8069 to the empty string.
8070
8071 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
8072
8073 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
8074
8075 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
8076 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
8077 * kern/misc.c (__enable_execute_stack): Disable on
8078 GRUB_MACHINE_EMU.
8079
8080 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
8081
8082 Make grub-probe work with symbolic links under /dev/mapper as well
8083 as with real block devices. The Linux world seems to be (at best)
8084 in transition here, and GRUB shouldn't get caught in the middle.
8085
8086 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
8087 /dev/mapper.
8088
8089 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8090
8091 * util/grub-script-check.c (main): Ensure defined behaviour on empty
8092 input files (in which case exit zero).
8093
8094 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8095
8096 * kern/emu/misc.c (canonicalize_file_name): realpath can still
8097 return NULL for various reasons even if it has a maximum-length
8098 buffer: for example, there might be a symlink loop, or the path
8099 might exceed PATH_MAX. If this happens, return NULL.
8100
8101 2010-05-27 Robert Millan <rmh@gnu.org>
8102
8103 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
8104 partmap module to handle cross-partmap setups.
8105 Reported by Orestes Mas. Gràcies!
8106
8107 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8108
8109 * util/grub-mkrescue.in: Initialise override_dir rather than
8110 assuming that it's unset or empty in the environment.
8111
8112 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
8113
8114 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
8115 variable index into p_index to suppress a warning with -Wshadow.
8116
8117 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
8118
8119 * INSTALL: Added flex >= 2.5.35 requirement.
8120
8121 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
8124
8125 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 cmostest support.
8128
8129 * commands/i386/cmostest.c: New file.
8130 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
8131 (cmostest_mod_SOURCES): New variable.
8132 (cmostest_mod_CFLAGS): Likewise.
8133 (cmostest_mod_LDFLAGS): Likewise.
8134 * conf/i386-pc.rmk: Likewise.
8135 * docs/grub.texi (Vendor power-on keys): New section.
8136 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
8137 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
8138 and GRUB_BUTTON_CMOS_ADDRESS.
8139 * util/grub.d/00_header.in: Handle powering-on by separate button.
8140
8141 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
8144 Removed drawing_scrollbar argument. All users updated
8145 Fixes #29792.
8146 Reported by Jo Shields
8147
8148 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
8151 buffer since gfxterm handles double repaint.
8152
8153 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
8156 * term/gfxterm.c (real_scroll): Likewise.
8157
8158 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
8161 before calling BIOS.
8162
8163 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * include/grub/i18n.h: Always enable grub_gettext.
8166
8167 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
8170 partition naming style.
8171
8172 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
8173
8174 * util/grub-mkconfig.in: Fix handling of -o so that it works when
8175 not the first option.
8176
8177 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
8178
8179 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
8180
8181 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
8182
8183 * util/misc.c: Move inclusion of <limits.h> to ...
8184 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
8185
8186 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
8187
8188 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
8189 Fix merge error in NetBSD code.
8190 (find_partition_start) [__NetBSD__]: Likewise.
8191
8192 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
8193
8194 Fix grub-mkrescue usage unit testing.
8195
8196 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
8197
8198 2010-05-18 Christian Franke <franke@computer.org>
8199
8200 * util/grub.d/10_windows.in: Use path names instead of
8201 drive letters to prevent warning from Cygwin 1.7.
8202 Add drivemap command to menuentry if needed.
8203
8204 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
8205
8206 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
8207 gnumach and gnumach.gz.
8208
8209 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 * include/grub/i18n.h (gettext): Inline instead of using #define.
8212 (grub_gettext): Likewise.
8213 (_): Likewise.
8214
8215 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
8218 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
8219 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
8220 (main): Add a slash after pkglibdirroot.
8221
8222 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * util/grub-install.in: Add missing "in" keyword.
8225
8226 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
8229 Reported by: Seth Goldberg.
8230
8231 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8232
8233 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
8234
8235 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8236
8237 * configure.ac: Check for Linux device-mapper support.
8238
8239 * util/hostdisk.c (device_is_mapped): New function.
8240 (find_partition_start): New function, partly broken out from
8241 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
8242 device-mapper support added.
8243 (linux_find_partition): Use find_partition_start.
8244 (convert_system_partition_to_system_disk): Add `st' argument.
8245 Support Linux /dev/mapper/* devices if device-mapper support is
8246 available; only DM-RAID devices are understood at present.
8247 (find_system_device): Add `st' argument. Pass it to
8248 convert_system_partition_to_system_disk.
8249 (grub_util_biosdisk_get_grub_dev): Pass stat result to
8250 find_system_device and convert_system_partition_to_system_disk. Use
8251 find_partition_start.
8252
8253 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
8254 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
8255 * util/deviceiter.c [__linux__]: Define MINOR.
8256 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
8257 * util/mkdevicemap.c (grub_putchar): New function.
8258 (grub_getkey): New function.
8259 (grub_refresh): New function.
8260 (main): Set debug=all if -v -v is used.
8261
8262 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8263
8264 Fix build with non-GNU libcs.
8265
8266 * util/misc.c (canonicalize_file_name): Move to ...
8267 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
8268 grub_make_system_path_relative_to_its_root.
8269
8270 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8271
8272 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
8273 we handle finding grub-mkimage. Default to finding grub-mkimage in
8274 ${bindir} with program_transform_name applied, and provide a
8275 --grub-mkimage option to override this.
8276
8277 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 Remove grub-mkisofs.
8280
8281 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
8282 (grub_mkisofs_SOURCES): Removed.
8283 (grub_mkisofs_CFLAGS): Removed.
8284 * util/mkisofs/defaults.h: Removed.
8285 * util/mkisofs/eltorito.c: Likewise.
8286 * util/mkisofs/exclude.h: Likewise.
8287 * util/mkisofs/hash.c: Likewise.
8288 * util/mkisofs/include/: Likewise.
8289 * util/mkisofs/include/fctldefs.h: Likewise.
8290 * util/mkisofs/include/mconfig.h: Likewise.
8291 * util/mkisofs/include/prototyp.h: Likewise.
8292 * util/mkisofs/include/statdefs.h: Likewise.
8293 * util/mkisofs/iso9660.h: Likewise.
8294 * util/mkisofs/joliet.c: Likewise.
8295 * util/mkisofs/match.c: Likewise.
8296 * util/mkisofs/match.h: Likewise.
8297 * util/mkisofs/mkisofs.c: Likewise.
8298 * util/mkisofs/mkisofs.h: Likewise.
8299 * util/mkisofs/msdos_partition.h: Likewise.
8300 * util/mkisofs/multi.c: Likewise.
8301 * util/mkisofs/name.c: Likewise.
8302 * util/mkisofs/rock.c: Likewise.
8303 * util/mkisofs/tree.c: Likewise.
8304 * util/mkisofs/write.c: Likewise.
8305
8306 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 Unify grub-mkimage accross platforms.
8309
8310 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
8311 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
8312 (grub_mkelfimage_SOURCES): Removed.
8313 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
8314 (util/grub-mkimage.c_DEPENDENCIES): .. this.
8315 (bin_UTILITIES): Add grub-mkimage.
8316 (grub_mkimage_SOURCES): New variable.
8317 (kernel_img_HEADERS): Remove machine/kernel.h.
8318 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
8319 (pkglib_PROGRAMS): Add kernel.img.
8320 (kernel_img_HEADERS): Add machine/kernel.h.
8321 (kernel_img_FORMAT): Removed.
8322 (bin_UTILITIES): Remove grub-mkimage.
8323 (grub_mkimage_SOURCES): Removed.
8324 (grub_mkimage_CFLAGS): Likewise.
8325 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8326 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
8327 (pkglib_PROGRAMS): Add kernel.img.
8328 (bin_UTILITIES): Remove grub-mkimage.
8329 (grub_mkimage_SOURCES): Removed.
8330 (grub_mkimage_CFLAGS): Likewise.
8331 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8332 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
8333 (pkglib_PROGRAMS): Add kernel.img.
8334 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
8335 (pkglib_PROGRAMS): Add kernel.img.
8336 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
8337 (grub_mkimage_SOURCES): Removed.
8338 (grub_mkimage_CFLAGS): Likewise.
8339 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8340 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
8341 (pkglib_PROGRAMS): Add kernel.img.
8342 (bin_UTILITIES): Remove grub-mkimage.
8343 (grub_mkimage_SOURCES): Removed.
8344 (grub_mkimage_CFLAGS): Likewise.
8345 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8346 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
8347 (grub_mkimage_SOURCES): Removed.
8348 (grub_mkimage_CFLAGS): Likewise.
8349 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8350 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
8351 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
8352 (grub_pe32_optional_header): ... this.
8353 (grub_pe64_optional_header): ... and this. All users updated.
8354 (GRUB_PE32_PE32_MAGIC): Split into ..
8355 (GRUB_PE32_PE32_MAGIC): .. this.
8356 (GRUB_PE32_PE64_MAGIC): .. and this.
8357 (GRUB_PE32_SIGNATURE_SIZE): New definition.
8358 * include/grub/elf.h (PT_GNU_STACK): New definition.
8359 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
8360 * include/grub/i386/efi/kernel.h: Likewise.
8361 * include/grub/i386/kernel.h: Likewise.
8362 * include/grub/i386/pc/kernel.h: Likewise.
8363 * include/grub/i386/qemu/boot.h: Likewise.
8364 * include/grub/mips/kernel.h: Likewise.
8365 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8366 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8367 * include/grub/powerpc/kernel.h: Likewise.
8368 * include/grub/sparc64/ieee1275/boot.h: Likewise.
8369 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8370 * include/grub/sparc64/kernel.h: Likewise.
8371 * include/grub/x86_64/efi/kernel.h: Likewise.
8372 * include/grub/x86_64/kernel.h: Likewise.
8373 * include/grub/offsets.h: New file.
8374 * include/grub/kernel.h (grub_module_info): Split into ...
8375 (grub_module_info32): ... this.
8376 (grub_module_info64): ... and this.
8377 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
8378 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
8379 (grub_boot_blocklist): Moved from here ...
8380 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
8381 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
8382 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
8383 * include/grub/types.h (grub_target_to_host16): Removed.
8384 (grub_target_to_host32): Likewise.
8385 (grub_target_to_host64): Likewise.
8386 (grub_host_to_target16): Likewise.
8387 (grub_host_to_target32): Likewise.
8388 (grub_host_to_target64): Likewise.
8389 (grub_host_to_target_addr): Likewise.
8390
8391 Support grub-mkrescue for efi, coreboot and qemu.
8392
8393 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
8394 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
8395 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
8396 * util/grub-mkrawimage.c: Moved from here ...
8397 * util/grub-mkimage.c: ... here. All users updated.
8398 (ALIGN_ADDR): Use image_target.
8399 (TARGET_NO_FIELD): New const.
8400 (image_target_desc): New type.
8401 (image_targets): New array.
8402 (grub_target_to_host64): Use image_target.
8403 (grub_target_to_host32): Likewise.
8404 (grub_target_to_host16): Likewise.
8405 (grub_host_to_target64): Likewise.
8406 (grub_host_to_target32): Likewise.
8407 (grub_host_to_target16): Likewise.
8408 (grub_host_to_target_addr): Likewise.
8409 (generate_image): Handle multiimage.
8410 (main): Require -O parameter. All users updated.
8411 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
8412 util/efi/grub-mkimage.c
8413 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
8414 New option --rom-directory.
8415 Use xorriso.
8416 * util/i386/efi/grub-mkimage.c: Removed.
8417 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
8418 (grub_target_to_host32): Likewise.
8419 (grub_target_to_host64): Likewise.
8420 (grub_host_to_target16): Likewise.
8421 (grub_host_to_target32): Likewise.
8422 (grub_host_to_target64): Likewise.
8423 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
8424 (grub_target_to_host32): Likewise.
8425 (grub_target_to_host64): Likewise.
8426 (grub_host_to_target16): Likewise.
8427 (grub_host_to_target32): Likewise.
8428 (grub_host_to_target64): Likewise.
8429
8430 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
8431
8432 Source tree is reorganized for emu build.
8433
8434 * include/grub/util/console.h: Move from here...
8435 * include/grub/emu/console.h: ...to here.
8436 * include/grub/util/getroot.h: Move from here...
8437 * include/grub/emu/getroot.h: ...to here.
8438 * include/grub/util/hostdisk.h: Move from here...
8439 * include/grub/emu/hostdisk.h: ...to here.
8440 * util/console.c: Move from here...
8441 * kern/emu/console.c: ...to here.
8442 * util/getroot.c: Move from here...
8443 * kern/emu/getroot.c: ...to here.
8444 * util/grub-emu.c: Move from here...
8445 * kern/emu/main.c: ...to here.
8446 * util/hostdisk.c: Move from here...
8447 * kern/emu/hostdisk.c: ...to here.
8448 * util/hostfs.c: Move from here...
8449 * kern/emu/hostfs.c: ...to here.
8450 * util/mm.c: Move from here...
8451 * kern/emu/mm.c: ...to here.
8452 * util/pci.c: Move from here...
8453 * bus/emu/pci.c: ...to here.
8454 * util/sdl.c: Move from here...
8455 * video/emu/sdl.c: ...to here.
8456 * util/time.c: Move from here...
8457 * kern/emu/time.c: ...to here.
8458 * util/usb.c: Move from here...
8459 * bus/usb/emu/usb.c: ...to here.
8460
8461 * include/grub/emu/misc.h: New header for grub-emu functions.
8462 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
8463
8464 * conf/any-emu.rmk: Rule updates for above renames.
8465 * conf/common.rmk: Likewise.
8466 * conf/i386-pc.rmk: Likewise.
8467 * conf/i386-qemu.rmk: Likewise.
8468 * conf/mips.rmk: Likewise.
8469 * conf/sparc64-ieee1275.rmk: Likewise.
8470 * conf/x86-efi.rmk: Likewise.
8471
8472 * disk/lvm.h: #include updates for above renames.
8473 * util/grub-mkrelpath.c: Likewise.
8474 * util/grub-probe.c: Likewise.
8475 * util/i386/pc/grub-setup.c: Likewise.
8476 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8477 * kern/emu/console.c: Likewise.
8478 * kern/emu/getroot.c: Likewise.
8479 * kern/emu/hostdisk.c: Likewise.
8480 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
8481
8482 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
8483 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
8484 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
8485 * util/misc.c: Remove grub-emu functions.
8486
8487 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 Fix gfxmenu crash.
8490 Reported by: Thorsten Grützmacher.
8491
8492 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
8493 timeout hook.
8494 (circprog_set_property): Register and unregister timeout hook.
8495 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
8496 (label_destroy): Free template. and unregister hook.
8497 (label_set_state): New function.
8498 (label_set_property): Handle templates and hooks.
8499 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
8500 timeout hook.
8501 (progress_bar_set_property): Register and unregister timeout hook.
8502 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
8503 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
8504 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
8505 (update_timeout_visit): Removed.
8506 (update_timeouts): New function.
8507 (redraw_timeouts): Likewise.
8508 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
8509 (grub_gfxmenu_clear_timeout): Likewise.
8510 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
8511 (grub_gfxmenu_timeout_notify): Likewise.
8512 (grub_gfxmenu_timeout_notifications): New external variable.
8513 (grub_gfxmenu_timeout_register): New function.
8514 (grub_gfxmenu_timeout_unregister): Likewise.
8515
8516 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 Transform (broken) vga terminal into (working) vga video driver.
8519
8520 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
8521 video/i386/pc/vga.c.
8522 * include/grub/video.h (grub_video_driver_id):
8523 Add GRUB_VIDEO_DRIVER_VGA.
8524 * term/i386/pc/vga.c: Renamed to ...
8525 * video/i386/pc/vga.c: ...this
8526 (DEBUG_VGA): Removed.
8527 (CHAR_WIDTH): Likewise.
8528 (CHAR_HEIGHT): Likewise.
8529 (TEXT_WIDTH): Likewise.
8530 (TEXT_HEIGHT): Likewise.
8531 (DEFAULT_FG_COLOR): Likewise.
8532 (DEFAULT_BG_COLOR): Likewise.
8533 (colored_char): Likewise.
8534 (xpos): Likewise.
8535 (ypos): Likewise.
8536 (cursor_state): Likewise.
8537 (fg_color): Likewise.
8538 (bg_color): Likewise.
8539 (text_buf): Likewise.
8540 (page): Likewise.
8541 (font): Likewise.
8542 (framebuffer): New variable.
8543 (set_read_map): Disabled.
8544 (setup): New variable.
8545 (is_target): Likewise.
8546 (grub_vga_mod_init): Likewise.
8547 (grub_vga_mod_fini): Likewise.
8548 (check_vga_mem): Likewise.
8549 (write_char): Likewise.
8550 (write_cursor): Likewise.
8551 (scroll_up): Likewise.
8552 (grub_vga_putchar): Likewise.
8553 (grub_vga_getcharwidth): Likewise.
8554 (grub_vga_getwh): Likewise.
8555 (grub_vga_getxy): Likewise.
8556 (grub_vga_gotoxy): Likewise.
8557 (grub_vga_cls): Likewise.
8558 (grub_vga_setcolorstate): Likewise.
8559 (grub_vga_setcursor): Likewise.
8560 (grub_video_vga_init): New function.
8561 (grub_video_vga_setup): Likewise.
8562 (grub_video_vga_fini): Likewise.
8563 (update_target): Likewise.
8564 (grub_video_vga_blit_bitmap): Likewise.
8565 (grub_video_vga_blit_render_target): Likewise.
8566 (grub_video_vga_set_active_render_target): Likewise.
8567 (grub_video_vga_get_active_render_target): Likewise.
8568 (grub_video_vga_swap_buffers): Likewise.
8569 (grub_video_vga_set_palette): Likewise.
8570 (grub_video_vga_get_info_and_fini): Likewise.
8571 (grub_vga_term): Removed.
8572 (grub_video_vga_adapter): New variable.
8573 (GRUB_MOD_INIT): Register a video driver instead of terminal.
8574 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
8575
8576 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * video/readers/jpeg.c: Indented.
8579
8580 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 Various jpeg cleanups.
8583
8584 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
8585 (grub_jpeg_decode_quan_table): Use sizeof.
8586 (grub_jpeg_decode_du): Use ARRAY_SIZE.
8587
8588 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
8589
8590 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
8591 tables. Ignore non-last ac bit.
8592 (grub_jpeg_decode_quan_table): Likewise.
8593
8594 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8595
8596 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8597 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
8598 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8599 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
8600 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
8601 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
8602
8603 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
8606 error.
8607
8608 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
8611
8612 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
8615 condition.
8616
8617 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8618
8619 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
8620 part.
8621
8622 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8623
8624 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
8625 pointers.
8626
8627 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
8630
8631 2010-05-01 Christian Franke <franke@computer.org>
8632
8633 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
8634 Remove broken Cygwin path conversion.
8635 * util/misc.c: [__CYGWIN__] Add include and define.
8636 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
8637 for Cygwin 1.7.
8638 (make_system_path_relative_to_its_root): Simplify loop, replace early
8639 return by break.
8640 [__CYGWIN__] Add conversion to win32 path.
8641 Include "/" case in trailing slash removal.
8642
8643 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 * kern/main.c (grub_load_config): Fix copy-pasted comment.
8646 Reported by: Seth Goldberg
8647
8648 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 * commands/help.c (grub_cmd_help): Fix a typo.
8651 Reported by: Seth Goldberg
8652
8653 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
8656 name and add N_.
8657 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
8658 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
8659 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
8660 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
8661 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
8662 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
8663 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8664 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8665 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8666 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8667 * normal/context.c (GRUB_MOD_INIT): Likewise.
8668 * normal/main.c (GRUB_MOD_INIT): Likewise.
8669 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8670 * term/serial.c (GRUB_MOD_INIT): Likewise.
8671 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8672
8673 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
8676 extra == 0.
8677
8678 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8679
8680 * commands/iorw.c: New file.
8681 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
8682 (iorw_mod_SOURCES): New variable.
8683 (iorw_mod_CFLAGS): Likewise.
8684 (iorw_mod_LDFLAGS): Likewise.
8685
8686 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 Hotkey support
8689
8690 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
8691 * normal/main.c (hotkey_aliases): New variable.
8692 (grub_normal_add_menu_entry): Parse "--hotkey".
8693 * normal/menu_text.c (run_menu): Handle hotkeys.
8694
8695 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * kern/i386/coreboot/init.c (grub_machine_init): Call
8698 grub_machine_mmap_init on qemu.
8699
8700 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 * boot/i386/qemu/boot.S: Add a missing .code16.
8703
8704 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 Use LBIO on coreboot.
8707
8708 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
8709 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
8710 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
8711 New declaration.
8712 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
8713 grub_machine_mmap_init on coreboot.
8714 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
8715 GRUB_LINUXBIOS_MEMBER_LINK.
8716 (grub_machine_mmap_iterate): Fix declaration.
8717 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
8718
8719 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 Split coreboot and multiboot ports.
8722
8723 * conf/i386-multiboot.rmk: New file.
8724 * configure.ac: Add multiboot port.
8725 * include/grub/i386/multiboot/boot.h: New file.
8726 * include/grub/i386/multiboot/console.h: Likewise.
8727 * include/grub/i386/multiboot/init.h: Likewise.
8728 * include/grub/i386/multiboot/kernel.h: Likewise.
8729 * include/grub/i386/multiboot/loader.h: Likewise.
8730 * include/grub/i386/multiboot/memory.h: Likewise.
8731 * include/grub/i386/multiboot/serial.h: Likewise.
8732 * include/grub/i386/multiboot/time.h: Likewise.
8733 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
8734 * loader/multiboot.c: Likewise.
8735 * loader/multiboot_mbi2.c: Likewise.
8736 * util/grub-mkrescue.in: Generate multiboot rescue.
8737
8738 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * kern/parser.c (grub_parser_execute): Cope with read-only config.
8741
8742 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8743
8744 Merge handling of input and output terminals. Fix a hang.
8745
8746 * commands/terminal.c (abstract_terminal): New struct.
8747 (handle_command): New function. Based on grub_cmd_terminal_input.
8748 (grub_cmd_terminal_input): Use handle_command.
8749 (grub_cmd_terminal_output): Use handle_command.
8750
8751 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
8752
8753 Fix comment handling.
8754
8755 * tests/grub_script_comments.in: New testcase.
8756 * conf/tests.rmk: Rules for new testcase.
8757 * script/yylex.l: Updated flex rules.
8758
8759 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
8760
8761 * docs/grub.texi (play): Document that zero pitches produce rests.
8762 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
8763 if argc is 1.
8764
8765 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8768 autogen issues.
8769
8770 2010-04-26 Christian Franke <franke@computer.org>
8771
8772 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
8773 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
8774 (grub_get_prefix): Remove function.
8775 * util/grub-emu.c (main): Replace grub_get_prefix () call by
8776 make_system_path_relative_to_its_root ().
8777 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8778
8779 2010-04-24 Christian Franke <franke@computer.org>
8780
8781 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
8782 (kernel_img_LDFLAGS): Remove -static-libgcc.
8783
8784 2010-04-24 Christian Franke <franke@computer.org>
8785
8786 * configure.ac: Do not CHECK_BSS_START_SYMBOL
8787 and CHECK_END_SYMBOL if grub-emu is built.
8788 Unset TARGET_OBJ2ELF if grub-emu is built
8789 without module support.
8790
8791 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
8792
8793 Nilfs2 support.
8794
8795 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
8796 (grub_fstest_SOURCES): Likewise.
8797 (pkglib_MODULES): Add nilfs2.mod.
8798 (nilfs2_mod_SOURCES): New variable.
8799 (nilfs2_mod_CFLAGS): Likewise.
8800 (nilfs2_mod_LDFLAGS): Likewise.
8801 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8802 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8803 * fs/nilfs2.c: New file.
8804
8805 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
8808 is not supported.
8809
8810 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
8811
8812 Add grub-mkconfig support for NetBSD.
8813
8814 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
8815 * util/grub-mkconfig.in: export new NetBSD specific variables.
8816 * po/POTFILES-shell: added 10_netbsd.in.
8817 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
8818
8819 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
8820
8821 Fix emu build with grub-emu-pci and grub-emu-modules.
8822
8823 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
8824 functions.
8825 * include/grub/libpciaccess.h: New file.
8826 * conf/any-emu.rmk: Update kernel headers for emu build.
8827
8828 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
8831
8832 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
8835
8836 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
8839 Retrieve chosen/bootpath if bootpath isn't hardcoded.
8840 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
8841 util/ieee1275/ofpath.c.
8842 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
8843 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
8844 * include/grub/sparc64/ieee1275/boot.h
8845 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
8846 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
8847 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
8848 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
8849 const char *.
8850 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
8851 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
8852 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
8853 install.
8854
8855 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8856
8857 * util/grub-mkconfig.in: Corrected two == equality tests.
8858 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
8859 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
8860 expect a number appended to it.
8861 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
8862 expects a number appended to it.
8863
8864 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
8867
8868 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * util/hostdisk.c (make_device_name): Change to new partition naming.
8871
8872 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8873
8874 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
8875
8876 2010-04-17 Christian Franke <franke@computer.org>
8877
8878 * Makefile.in: Add missing localedir setting.
8879
8880 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
8881
8882 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
8883 mistake in r2156. Noticed by Anthony Fok.
8884
8885 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
8886 @localedir@.
8887 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8888
8889 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
8890
8891 Fix a spurious, uninitialized variable warning.
8892
8893 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
8894 Initialize variable, shdr.
8895 (grub_freebsd_load_elfmodule): Likewise.
8896 (grub_freebsd_load_elf_meta): Likewise.
8897
8898 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
8899
8900 Fix for escaped dollar in double quoted strings.
8901
8902 * script/yylex.l: Updated flex rules.
8903 * conf/tests.rmk: Rule for new testcase.
8904 * tests/grub_script_dollar.in: New testcase.
8905
8906 2010-04-13 Carles Pina i Estany <carles@pina.cat>
8907 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
8908
8909 Enclose all translated strings in grub.cfg in single quotes, and
8910 escape them appropriately (Ubuntu bug #552921).
8911
8912 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
8913 * util/grub.d/10_hurd.in: Use it.
8914 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8915 * util/grub.d/10_linux.in (linux_entry): Likewise.
8916
8917 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 Fix cygwin compilation.
8920
8921 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
8922 * include/grub/misc.h (__register_frame_info)
8923 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
8924 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8925 * kern/misc.c (__register_frame_info)
8926 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
8927 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8928
8929 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
8932
8933 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 Unify libgcc processing.
8936
8937 * Makefile.in (kernel_img_LDFLAGS): New variable.
8938 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
8939 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
8940 overwriting.
8941 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
8942 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
8943 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
8944 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
8945 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
8946 overwriting. Remove -lgcc and -static-libgcc
8947 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
8948 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8949 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8950 (kernel_img_LDFLAGS): Append instead of overwriting.
8951 Remove -lgcc and -static-libgcc
8952 * conf/sparc64-ieee1275.rmk: Likewise.
8953 * include/grub/powerpc/libgcc.h: Move to ...
8954 * include/grub/libgcc.h: .. this.
8955 * include/grub/libgcc.h: Don't export most of the function on x86.
8956 (__bswapsi2): New export.
8957 (__bswapdi2): Likewise.
8958 * include/grub/mips/libgcc.h: Removed.
8959 * include/grub/sparc64/libgcc.h: Likewise.
8960
8961 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
8964 disk_info_msg (conflicts with gettexting into languages with cases).
8965
8966 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8967
8968 Add grub-probe support for NetBSD.
8969
8970 * util/getroot.c (find_root_device): Convert block device to
8971 character device on NetBSD.
8972 * util/probe.c (probe): Require character device on NetBSD.
8973 * util/hostdisk.c: NetBSD specific headers.
8974 (configure_device_driver): new function to tune device driver
8975 parameters (currently only for NetBSD floppy driver).
8976 (grub_util_biosdisk_open): NetBSD specific code (get disk size
8977 via disklabel ioctl).
8978 (open_device): call configure_device_driver on NetBSD.
8979 (convert_system_partition_to_system_disk): NetBSD specific code.
8980 (device_is_wholedisk): Likewise.
8981 (grub_util_biosdisk_get_grub_dev): Likewise.
8982 (make_device_name): Fixed a typo in bsd_part_str.
8983 * configure.ac: check for opendisk() and getrawpartition() on
8984 NetBSD and set LIBUTIL.
8985 * Makefile.in: add LIBUTIL to LIBS.
8986
8987 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8988
8989 Documentation fix.
8990
8991 * util/grub-script-check.c: Better help message.
8992
8993 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8994
8995 Fix FreeBSD build.
8996
8997 * configure.ac: Flex version check.
8998 * conf/common.rmk: Add -Wno-error to sh.mod.
8999 * script/yylex.l: Remove all #pragma.
9000
9001 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 * include/grub/util/misc.h (canonicalise_file_name): Add missing
9004 prototype.
9005 Reported by: Seth Goldberg.
9006
9007 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
9010 Rename "module" to "module2".
9011 Reported by: Seth Goldberg.
9012
9013 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
9016 EXPORT_FUNC.
9017 Reported by: Seth Goldberg.
9018
9019 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 * lib/posix_wrap/locale.h: Add missing file.
9022 Reported by: Seth Goldberg.
9023
9024 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 grub-emu module load support.
9027
9028 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
9029 NO_DYNAMIC_MODULES switched to this.
9030 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
9031 (CFLAGS): Likewise.
9032 * conf/any-emu.rmk: Generate symlist.
9033 (kernel_img_HEADERS): Add util/datetime.h.
9034 (kernel_img_HEADERS) [sdl]: Add sdl.h.
9035 (kernel_img_HEADERS) [libusb]: Add libusb.h.
9036 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
9037 kern/$(target_cpu)/cache.S.
9038 * configure.ac (grub-emu-modules): New option.
9039 * genmk.rb: Handle multiple source lists.
9040 * include/grub/sdl.h: New file.
9041 * include/grub/libusb.h: Likewise.
9042 * util/grub-emu.c (main): Hanle (host) root.
9043 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
9044 GRUB_ERR_UNKNOWN_DEVICE.
9045 * util/misc.c: Move mm functions to ...
9046 * util/mm.c: ... here. All users updated.
9047
9048 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
9051 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
9052 missing files.
9053 (maintainer-clean): Remove libgcrypt-grub.
9054
9055 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9056
9057 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
9058
9059 2010-04-09 EFI Coder <eficoder@hotmail.com>
9060
9061 * normal/menu_text.c (print_message): Clean up the message and show
9062 the Fn information when on EFI
9063 * term/efi/console.c (grub_console_checkkey): Add F4 support.
9064
9065 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
9068 All users updated.
9069 * normal/crypto.c (read_crypto_list): Likewise.
9070 * normal/dyncmd.c (read_command_list): Likewise.
9071 * normal/term.c (read_terminal_list): Likewise.
9072 * normal/main.c (read_lists): Use explicit prefix.
9073 (read_lists_hook): Use read_lists.
9074 (grub_normal_execute): Likewise.
9075
9076 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
9079 Reported by: Thomas Schmitt.
9080 Add -no-emul-boot to grub-mkisofs parameters.
9081
9082 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 * font/font.c: Indented.
9085
9086 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9087
9088 Elif support to GRUB script (by Deepak Vankadaru).
9089
9090 * tests/grub_script_if.in: New testcase.
9091 * conf/tests.rmk: Rule for new testcase.
9092 * script/parser.y: Grammar rules for elif.
9093
9094 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9095
9096 While and until loops support to GRUB script.
9097
9098 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
9099 (grub_script_create_cmdwhile): New function prototype.
9100 (grub_script_execute_cmdwhile): New function prototype.
9101 * script/execute.c (grub_script_execute_cmdwhile): New function.
9102 * script/parser.y (command): New commands.
9103 (whilecmd): New grammar rule.
9104 (untilcmd): New grammar rule.
9105 * script/script.c (grub_script_create_cmdwhile): New function.
9106 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
9107 function.
9108
9109 * tests/grub_script_while1.in: New testcase.
9110 * conf/tests.rmk: Rule for new testcase.
9111
9112 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
9115 as *.jpg.
9116
9117 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
9118
9119 GRUB_BACKGROUND support.
9120
9121 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
9122 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
9123
9124 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 Load fonts and modules for gfxmenu in grub-mkconfig.
9127 Idea by: Mario Vazquez
9128
9129 * util/grub.d/00_header.in: Load pf2 and image modules.
9130
9131 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 grub-mkconfig multiple terminal support.
9134
9135 * util/grub-mkconfig.in: Handle multiple terminals correctly.
9136 * util/grub.d/00_header.in: Likewise.
9137
9138 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * Makefile.in: Specify files explicitly instead of using $< and $@ since
9141 we use cd $(srcdir).
9142
9143 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
9144
9145 * util/grub.d/10_linux.in: Only use the first word of
9146 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
9147 spaces in GRUB_DISTRIBUTOR.
9148 * util/grub.d/10_kfreebsd.in: Likewise.
9149 * util/grub.d/10_hurd.in: Likewise.
9150
9151 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
9152
9153 Fix unit testing framework for Qemu 0.12.
9154
9155 * tests/util/grub-shell.in: Remove -serial stdio option.
9156
9157 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 POSIX header file wrappers.
9160
9161 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
9162 equivalents.
9163 * lib/posix_wrap/ctype.h: Likewise.
9164 * lib/posix_wrap/errno.h: Likewise.
9165 * lib/posix_wrap/langinfo.h: Likewise.
9166 * lib/posix_wrap/limits.h: Likewise.
9167 * lib/posix_wrap/localcharset.h: Likewise.
9168 * lib/posix_wrap/stdint.h: Likewise.
9169 * lib/posix_wrap/stdio.h: Likewise.
9170 * lib/posix_wrap/stdlib.h: Likewise.
9171 * lib/posix_wrap/string.h: Likewise.
9172 * lib/posix_wrap/sys/types.h: Likewise.
9173 * lib/posix_wrap/unistd.h: Likewise.
9174 * lib/posix_wrap/wchar.h: Likewise.
9175 * lib/posix_wrap/wctype.h: Likewise.
9176 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
9177 (grub_script.yy.h): Likewise.
9178 * script/yylex.l: Remove POSIX emulation #defines.
9179 * Makefile.in (POSIX_CFLAGS): New variable.
9180 (GNULIB_UTIL_CFLAGS): Likewise.
9181
9182 Regexp support.
9183
9184 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
9185 (regexp_mod_SOURCES): New variable.
9186 (regexp_mod_CFLAGS): Likewise.
9187 (regexp_mod_LDFLAGS): Likewise.
9188 * commands/regexp.c: New file.
9189 * gnulib/regcomp.c: New file. Imported from gnulib.
9190 * gnulib/regex.c: Likewise.
9191 * gnulib/regex_internal.c: Likewise.
9192 * gnulib/regex_internal.h: Likewise.
9193 * gnulib/regexec.c: Likewise.
9194 * gnulib/regex.h: Likewise.
9195
9196 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
9199 unsupported video mode types.
9200
9201 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9202
9203 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
9204
9205 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
9208 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
9209
9210 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 Remove unused grub_vga_get_font.
9213
9214 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
9215 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
9216
9217 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9218
9219 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
9220 * include/grub/misc.h: Likewise.
9221
9222 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9223
9224 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
9225 for which failure is fatal.
9226
9227 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9228
9229 * util/grub-install.in: Use mkdir -p to create grub directory.
9230 * util/i386/efi/grub-install.in: Likewise.
9231 * util/ieee1275/grub-install.in: Likewise.
9232
9233 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9234
9235 * Makefile.in (LEX): new variable.
9236
9237 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9238
9239 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
9240 `=' and added double quotes on operands of this equality test.
9241
9242 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * Makefile.in (uninstall): Remove a leftover debug echo.
9245 Reported by: Grégoire Sutre
9246
9247 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 MIPS multiboot2 support.
9250
9251 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
9252 (multiboot2_mod_SOURCES): New variable.
9253 (multiboot2_mod_CFLAGS): Likewise.
9254 (multiboot2_mod_LDFLAGS): Likewise.
9255 (multiboot2_mod_ASFLAGS): Likewise.
9256 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
9257 definition.
9258 (MULTIBOOT_ENTRY_REGISTER): Likewise.
9259 (MULTIBOOT_MBI_REGISTER): Likewise.
9260 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
9261 (MULTIBOOT_ELF32_MACHINE): Likewise.
9262 (MULTIBOOT_ELF64_MACHINE): Likewise.
9263 * include/grub/mips/multiboot.h: New file.
9264 * include/grub/video.h (grub_video_driver_id): New type
9265 GRUB_VIDEO_DRIVER_SM712.
9266 (grub_video_get_info_and_fini): Export.
9267 (grub_video_get_palette): Likewise.
9268 (grub_video_get_driver_id): Likewise.
9269 * include/multiboot2.h: Resynced with spec.
9270 * loader/i386/multiboot.c: Moved from here ...
9271 * loader/multiboot.c: ... here. All users updated.
9272 (grub_multiboot_boot): Use platform-specific macros.
9273 * loader/i386/multiboot_elfxx.c: Moved from here ...
9274 * loader/multiboot_elfxx.c: ... here. All users updated.
9275 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
9276 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
9277 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
9278
9279 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 Import gnulib argp module.
9282
9283 * gnulib/argp-ba.c: New file.
9284 * gnulib/argp-eexst.c: Likewise.
9285 * gnulib/argp-fmtstream.c: Likewise.
9286 * gnulib/argp-fmtstream.h: Likewise.
9287 * gnulib/argp-fs-xinl.c: Likewise.
9288 * gnulib/argp-help.c: Likewise.
9289 * gnulib/argp-namefrob.h: Likewise.
9290 * gnulib/argp-parse.c: Likewise.
9291 * gnulib/argp-pin.c: Likewise.
9292 * gnulib/argp-pv.c: Likewise.
9293 * gnulib/argp-pvh.c: Likewise.
9294 * gnulib/argp-version-etc.c: Likewise.
9295 * gnulib/argp-version-etc.h: Likewise.
9296 * gnulib/argp-xinl.c: Likewise.
9297 * gnulib/argp.h: Likewise.
9298
9299 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * kern/device.c (grub_device_iterate): Clear errors after failed
9302 opening device.
9303
9304 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
9307 returned by firmware.
9308
9309 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
9312 compilation on coreboot and qemu
9313
9314 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * include/multiboot2.h: Resync with spec.
9317
9318 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 Multiboot2 tag support
9321
9322 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
9323 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
9324 Remove loader/multiboot_loader.c.
9325 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
9326 (grub_multiboot2_real_boot): Likewise.
9327 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
9328 (grub_get_multiboot_mmap_count): New proto.
9329 (grub_fill_multiboot_mmap): Likewise.
9330 (grub_multiboot_set_video_mode): Likewise.
9331 (grub_multiboot_set_console): Likewise.
9332 (grub_multiboot_load): Likewise.
9333 (grub_multiboot_load_elf): Likewise.
9334 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
9335 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
9336 * include/multiboot.h: Resynced with specification.
9337 * include/multiboot2.h: Resynced with specification.
9338 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
9339 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
9340 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
9341 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
9342 users updated.
9343 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
9344 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
9345 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
9346 Removed.
9347 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
9348 Moved from here...
9349 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
9350 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9351 Moved from here...
9352 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
9353 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
9354 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
9355 All users updated.
9356 * loader/i386/multiboot_mbi2.c: New file.
9357
9358 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 Resync with gnulib.
9361
9362 * Makefile.in (GNULIB_CFLAGS): New variable.
9363 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
9364 (grub_script_check_CFLAGS): New variable.
9365 * gnulib/alloca.h: Resync with gnulib.
9366 * gnulib/error.c: Likewise.
9367 * gnulib/error.h: Likewise.
9368 * gnulib/fnmatch.c: Likewise.
9369 * gnulib/fnmatch_loop.c: Likewise.
9370 * gnulib/getdelim.c: Likewise.
9371 * gnulib/getline.c: Likewise.
9372 * gnulib/getopt.c: Likewise.
9373 * gnulib/getopt1.c: Likewise.
9374 * gnulib/getopt_int.h: Likewise.
9375 * gnulib/gettext.h: Likewise.
9376 * gnulib/progname.c: Likewise.
9377 * gnulib/progname.h: Likewise.
9378
9379 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
9380
9381 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
9382 which is the case with --disabled-nls.
9383
9384 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
9385 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
9386 * util/misc.c: Likewise.
9387 * util/mkisofs/mkisofs.c: Likewise.
9388 * util/mkisofs/mkisofs.h: Likewise.
9389
9390 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 Simplify Apple CC support.
9393
9394 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
9395 Add 0 byte at the end not to have a symbol with empty target.
9396 * mmap/i386/pc/mmap_helper.S: Likewise.
9397 * genmk.rb: Ignore errors 2030 and 2050.
9398 * kern/i386/pc/startup.S: Use LOCAL when possible.
9399
9400 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
9401
9402 Testcase and the fix for final semicolon on cmdline.
9403
9404 * tests/grub_script_final_semicolon.in: New testcase.
9405 * conf/tests.rmk: Rules for the new testcase.
9406 * script/parser.y: Grammar fix.
9407
9408 2010-03-26 BVK Chaitanya <bvk@localhost>
9409
9410 Blank lines testcase for GRUB script.
9411
9412 * tests/grub_script_blanklines.in: New testcase.
9413 * conf/tests.rmk: Rules for the new testcase.
9414
9415 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 Don't use __FILE__.
9418
9419 * genmk.rb: Add -DGRUB_FILE to all C targets.
9420 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
9421 * include/grub/list.h: Likewise.
9422 * include/grub/misc.h: Likewise.
9423 * include/grub/mm.h: Likewise.
9424 * include/grub/test.h: Likewise.
9425 * kern/mm.c: Likewise.
9426 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9427
9428 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9429
9430 Sunpc partitions support.
9431
9432 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
9433 (grub_fstest_SOURCES): Likewise.
9434 (pkglib_MODULES): Add part_sunpc.mod.
9435 (part_sunpc_mod_SOURCES): New variable.
9436 (part_sunpc_mod_CFLAGS): Likewise.
9437 (part_sunpc_mod_LDFLAGS): Likewise.
9438 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
9439 * partmap/sunpc.c: New file.
9440
9441 2010-03-26 BVK Chaitanya <bvk@localhost>
9442
9443 For loop support to GRUB script.
9444
9445 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
9446 (grub_script_create_cmdfor): New function prototype.
9447 (grub_script_execute_cmdfor): New function prototype.
9448 * script/execute.c (grub_script_execute_cmdfor): New function.
9449 * script/parser.y (command): New for command.
9450 (forcmd): New grammar rule.
9451 * script/script.c (grub_script_create_cmdfor): New function.
9452 * util/grub-script-check.c (grub_script_execute_cmdfor): New
9453 function.
9454 * tests/grub_script_for1.in: New testcase.
9455 * conf/tests.rmk: Rules for new testcase.
9456
9457 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 Nested partitions
9460
9461 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
9462 'partition' is NULL, grub_partition_get_start already does that.
9463 * commands/loadenv.c (check_blocklists): Likewise.
9464 (write_blocklists): Likewise.
9465 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
9466 (grub_fstest_SOURCES): Likewise.
9467 (pkglib_MODULES): Add part_bsd.mod.
9468 (part_bsd_mod_SOURCES): New variable.
9469 (part_bsd_mod_CFLAGS): Likewise.
9470 (part_bsd_mod_LDFLAGS): Likewise.
9471 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
9472 (grub_emu_SOURCES): Likewise.
9473 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9474 * include/grub/bsdlabel.h: New file.
9475 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
9476 'get_name'.
9477 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
9478 (grub_partition_map_list): New variable.
9479 (grub_partition_map_register): Inline.
9480 (grub_partition_map_unregister): Likewise.
9481 (FOR_PARTITION_MAPS): New macro.
9482 (grub_partition_map_iterate): Removed.
9483 (grub_partition_get_start): Handle nested partitions.
9484 * include/grub/msdos_partition.h: Remove bsd-related entries.
9485 (grub_pc_partition): Remove.
9486 * kern/disk.c (grub_disk_close): Free partition data.
9487 (grub_disk_adjust_range): Handle nested partitions.
9488 * kern/partition.c (grub_partition_map_probe): New function.
9489 (grub_partition_probe): Parse name to number, handle subpartitions.
9490 (get_partmap): New function.
9491 (grub_partition_iterate): Handle subpartitions.
9492 (grub_partition_get_name): Likewise.
9493 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
9494 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
9495 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
9496 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
9497 Set 'number'.
9498 (acorn_partition_map_probe): Remove.
9499 (acorn_partition_map_get_name): Likewise.
9500 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
9501 Set 'number'.
9502 Set 'index' to 0 since there can be only one partition entry per sector.
9503 (amiga_partition_map_probe): Remove.
9504 (amiga_partition_map_get_name): Likewise.
9505 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
9506 Set 'number'.
9507 Set 'offset' and 'index' to real positions of partitions.
9508 (apple_partition_map_probe): Remove.
9509 (apple_partition_map_get_name): Likewise.
9510 * partmap/bsdlabel.c: New file.
9511 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
9512 Set 'number'.
9513 Allocate 'data' so it can be correctly freed.
9514 Set 'index' to offset inside sector.
9515 (gpt_partition_map_probe): Remove.
9516 (gpt_partition_map_get_name): Likewise.
9517 * partmap/msdos.c (grub_partition_parse): Remove.
9518 (pc_partition_map_iterate): Don't force raw access.
9519 Set 'number'.
9520 Make 'ext_offset' a local variable.
9521 (pc_partition_map_probe): Remove.
9522 (pc_partition_map_get_name): Remove.
9523 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
9524 Set 'number'.
9525 (sun_partition_map_probe): Remove.
9526 (sun_partition_map_get_name): Likewise.
9527 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
9528 (grub_pcpart_type): Likewise.
9529 * util/hostdisk.c (open_device): Handle new numbering scheme.
9530 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
9531 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
9532 * util/grub-probe.c (probe_partmap): Handle nested paritions.
9533 * util/grub-install.in: Insert all subpartition modules.
9534 * util/ieee1275/grub-install.in: Likewise.
9535
9536 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
9537
9538 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
9539 grammar.
9540
9541 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
9542
9543 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
9544
9545 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
9546
9547 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
9548 match where 'make install' puts them.
9549 * util/i386/efi/grub-install.in: Likewise.
9550
9551 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
9552
9553 * .bzrignore: Add gentrigtables, grub-script-check,
9554 grub_script_check_init.c, grub_script_check_init.h, and
9555 trigtables.c.
9556
9557 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * kern/parser.c: Indented.
9560
9561 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
9564
9565 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
9568 alpha_mask_size == 0 case.
9569
9570 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
9571
9572 GRUB shell lexer and parser improvements.
9573
9574 * conf/any-emu.rmk: Build rule updates.
9575 * conf/common.rmk: Likewise.
9576 * conf/i386-coreboot.rmk: Likewise.
9577 * conf/i386-efi.rmk: Likewise.
9578 * conf/i386-ieee1275.rmk: Likewise.
9579 * conf/i386-pc.rmk: Likewise.
9580 * conf/powerpc-ieee1275.rmk: Likewise.
9581 * conf/x86_64-efi.rmk: Likewise.
9582
9583 * configure.ac: Configure check for flex.
9584
9585 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
9586 types.
9587 (grub_lexer_param): Struct member updates.
9588 (grub_parser_param): Likewise.
9589 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
9590 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
9591 (grub_script_lexer_init): Prototype update.
9592 (grub_script_lexer_record_start): Likewise.
9593 (grub_script_lexer_record_stop): Likewise.
9594 (grub_script_lexer_yywrap): New function prototype.
9595 (grub_script_lexer_fini): Likewise.
9596 (grub_script_execute_argument_to_string): Removed by...
9597 (grub_script_execute_argument_to_argv): ...better version.
9598
9599 * script/execute.c (ROUND_UPTO): New macro.
9600 (grub_script_execute_cmdline): Out of memory fixes.
9601 (grub_script_execute_menuentry): Likewise.
9602 (grub_script_execute_argument_to_string): Removed. Update all
9603 users by...
9604 (grub_script_execute_argument_to_argv): ...better version.
9605 * script/function.c (grub_script_function_create): Use
9606 grub_script_execute_argument_to_argv instead of
9607 grub_script_execute_argument_to_string.
9608
9609 * script/lexer.c (check_varstate): Removed.
9610 (check_textstate): Removed.
9611 (grub_script_lexer_record_start): Likewise.
9612 (grub_script_lexer_record_stop): Likewise.
9613 (recordchar): Replaced with...
9614 (grub_script_lexer_record): ...new function.
9615 (nextchar): Removed.
9616 (grub_script_lexer_init): Rewritten.
9617 (grub_script_yylex): Rewritten.
9618 (append_newline): New function.
9619 (grub_script_lexer_yywrap): New function.
9620 (grub_script_lexer_fini): New function.
9621 (grub_script_yyerror): Sets error flag.
9622
9623 * script/yylex.l: New file.
9624 (grub_lexer_yyfree): Wrapper for flex yyffre.
9625 (grub_lexer_yyalloc): Likewise.
9626 (grub_lexer_yyrealloc): Likewise.
9627 * script/parser.y: Refactored.
9628
9629 * script/script.c (grub_script_arg_add): Out of memory fixes.
9630 (grub_script_add_arglist): Likewise.
9631 (grub_script_create_cmdline): Likewise.
9632 (grub_script_create_cmdmenu): Likewise.
9633 (grub_script_add_cmd): Likewise.
9634 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
9635 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
9636 unnecessary code.
9637
9638 * tests/grub_script_echo1.in: New testcase.
9639 * tests/grub_script_vars1.in: New testcase.
9640 * tests/grub_script_echo_keywords.in: New testcase.
9641
9642 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9643
9644 Remove some redundancy in build system.
9645
9646 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
9647 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
9648 (TARGET_LDFLAGS): Add -nostdlib.
9649 (TARGET_IMG_LDFLAGS): Likewise.
9650 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
9651 anything since mmap isn't available.
9652 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
9653 Add util/time.c.
9654 (pkglib_MODULES): Remove reboot.mod.
9655 (reboot_mod_SOURCES): Removed.
9656 (reboot_mod_CFLAGS): Likewise.
9657 (reboot_mod_LDFLAGS): Likewise.
9658 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
9659 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
9660 (DEFSYMFILES): Add kernel_syms.lst.
9661 (kernel_img_HEADERS): Add common headers.
9662 (symlist.c): New target.
9663 (kernel_syms.lst): Likewise.
9664 (pkglib_MODULES): Add memdisk.mod.
9665 (memdisk_mod_SOURCES): New variable.
9666 (memdisk_mod_CFLAGS): Likewise.
9667 (memdisk_mod_LDFLAGS): Likewise.
9668 (pkglib_MODULES): Add reboot.mod.
9669 (reboot_mod_SOURCES): New variable.
9670 (reboot_mod_CFLAGS): Likewise.
9671 (reboot_mod_LDFLAGS): Likewise.
9672 (pkglib_MODULES): Add date.mod.
9673 (date_mod_SOURCES): New variable.
9674 (date_mod_CFLAGS): Likewise.
9675 (date_mod_LDFLAGS): Likewise.
9676 (pkglib_MODULES): Add datehook.mod.
9677 (datehook_mod_SOURCES): New variable.
9678 (datehook_mod_CFLAGS): Likewise.
9679 (datehook_mod_LDFLAGS): Likewise.
9680 (pkglib_MODULES): Add lsmmap.mod.
9681 (lsmmap_mod_SOURCES): New variable.
9682 (lsmmap_mod_CFLAGS): Likewise.
9683 (lsmmap_mod_LDFLAGS): Likewise.
9684 (pkglib_MODULES): Add boot.mod.
9685 (boot_mod_SOURCES): New variable.
9686 (boot_mod_CFLAGS): Likewise.
9687 (boot_mod_LDFLAGS): Likewise.
9688 * conf/i386-coreboot.rmk: Removed redundant parts.
9689 * conf/i386-ieee1275.rmk: Likewise.
9690 * conf/i386-pc.rmk: Likewise.
9691 * conf/mips-yeeloong.rmk: Likewise.
9692 * conf/mips.rmk: Likewise.
9693 * conf/powerpc-ieee1275.rmk: Likewise.
9694 * conf/sparc64-ieee1275.rmk: Likewise.
9695 * conf/x86_64-efi.rmk: Likewise.
9696 * conf/i386-coreboot.rmk: Moved qemu parts ..
9697 * conf/i386-qemu.rmk: ... here
9698 * conf/i386-efi.rmk: Moved common parts to...
9699 * conf/x86-efi.rmk: ... here.
9700 * conf/i386.rmk: Added modules common to all x86 variants.
9701 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
9702 * disk/memdisk.c: Remove grub/machine/kernel.h.
9703 * gensymlist.sh.in: Include symbol.h.
9704 * hook/datehook.c: Correct module name.
9705 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
9706 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
9707 * include/grub/i386/efi/serial.h: New file.
9708 * include/grub/x86_64/efi/serial.h: Likewise.
9709 * util/time.c: Likewise.
9710 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
9711
9712 2010-03-14 Colin King <colin.king@ubuntu.com>
9713 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9714
9715 Shrink the pre-partition-table part of boot.img by eight bytes.
9716
9717 * boot/i386/pc/boot.S (ERR): New macro.
9718 (chs_mode): Use ERR.
9719 (geometry_error): Likewise.
9720 (hd_probe_error): Remove. This is only used once, so we wrwite
9721 it inline instead.
9722 (read_error): Instead of printing read_error_string, just set up
9723 %si and fall through to ...
9724 (error_message): ... this new function, also used by ERR.
9725
9726 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9727
9728 Speed up consecutive hostdisk operations on the same device.
9729
9730 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
9731 (grub_util_biosdisk_open): Initialise disk->data.
9732 (struct linux_partition_cache): New structure.
9733 (linux_find_partition): Cache partition start positions; these are
9734 expensive to compute on every read and write.
9735 (open_device): Cache open file descriptor in disk->data, so that we
9736 don't have to reopen it and flush the buffer cache for consecutive
9737 operations on the same device.
9738 (grub_util_biosdisk_close): New function.
9739 (grub_util_biosdisk_dev): Set `close' member.
9740
9741 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
9742 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
9743 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9744 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9745 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
9746
9747 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 Compile parts of grub-emu as modules.
9750
9751 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
9752 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
9753 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
9754 (all-local): Add $(GRUB_EMU).
9755 (install-local): Install $(GRUB_EMU).
9756 (uninstall): Uninstall $(GRUB_EMU).
9757 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
9758 * kern/dl.c: Likewise.
9759 * commands/sleep.c: Not include machine/time.h.
9760 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
9761 (COMMON_CFLAGS): Likewise.
9762 (sbin_UTILITIES): Remove grub-emu.
9763 (grub_emu_SOURCES): Removed.
9764 (kernel_img_RELOCATABLE): New variable.
9765 (pkglib_PROGRAMS): Add kernel.img.
9766 (kernel_img_SOURCES): New variable
9767 (kernel_img_CFLAGS): Likewise.
9768 (kernel_img_LDFLAGS): Likewise.
9769 (TARGET_NO_STRIP): Likewise.
9770 (TARGET_NO_DYNAMIC_MODULES): Likewise.
9771 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
9772 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
9773 (grub-emu): New target.
9774 (GRUB_EMU): New variable.
9775 * configure.ac: Whitelist -emu as possible x86_64 architecture.
9776 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
9777 * loader/xnu.c: Likewise.
9778 * include/grub/pci.h: Likewise.
9779 * genemuinit.sh: New file.
9780 * genemuinitheader.sh: Likewise.
9781 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
9782 Support TARGET_NO_DYNAMIC_MODULES.
9783 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
9784 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
9785 * disk/loopback.c: Likewise.
9786 * font/font_cmd.c: Likewise.
9787 * partmap/acorn.c: Likewise.
9788 * partmap/amiga.c: Likewise.
9789 * partmap/apple.c: Likewise.
9790 * partmap/gpt.c: Likewise.
9791 * partmap/msdos.c: Likewise.
9792 * partmap/sun.c: Likewise.
9793 * parttool/msdospart.c: Likewise.
9794 * term/gfxterm.c: Likewise.
9795 * video/bitmap.c: Likewise.
9796 * video/readers/jpeg.c: Likewise.
9797 * video/readers/png.c: Likewise.
9798 * video/readers/tga.c: Likewise.
9799 * video/video.c: Likewise.
9800 * util/grub-emu.c (read_command_list): Removed.
9801 (main): Don't call util_init_nls.
9802 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
9803 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
9804
9805 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
9808 date.mod, datehook.mod.
9809 (datetime_mod_SOURCES): New variable.
9810 (datetime_mod_CFLAGS): Likewise.
9811 (datetime_mod_LDFLAGS): Likewise.
9812 (date_mod_SOURCES): Likewise.
9813 (date_mod_CFLAGS): Likewise.
9814 (date_mod_LDFLAGS): Likewise.
9815 (datehook_mod_SOURCES): Likewise.
9816 (datehook_mod_CFLAGS): Likewise.
9817 (datehook_mod_LDFLAGS): Likewise.
9818 * conf/sparc64-ieee1275.rmk: Likewise.
9819 * lib/ieee1275/datetime.c: New file.
9820
9821 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
9824 (ieee1275_fb_mod_SOURCES): New variable.
9825 (ieee1275_fb_mod_CFLAGS): Likewise.
9826 (ieee1275_fb_mod_LDFLAGS): Likewise.
9827 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
9828 New proto.
9829 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
9830 (HEAP_MAX_ADDR): Likewise.
9831 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
9832 type.
9833 Correct stop condition.
9834 (grub_ieee1275_devices_iterate): New function.
9835 * video/ieee1275.c: New file.
9836
9837 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9838
9839 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
9840
9841 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
9842 as scratch.
9843 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
9844 SCRATCH_PAD_DISKBOOT as scratch.
9845 (bootit): Pass Openfirmware pointer in %o4.
9846 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
9847 of 0x200000.
9848 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
9849 with util/grub-mkrawimage.c.
9850 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
9851 * include/grub/aout.h (AOUT_MID_SUN): New definition.
9852 (grub_aout_get_type) [GRUB_UTIL]: Removed.
9853 (grub_aout_load) [GRUB_UTIL]: Likewise.
9854 * include/grub/kernel.h (grub_modules_get_end): New proto.
9855 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
9856 (SCRATCH_PAD_BOOT): New definition.
9857 (SCRATCH_PAD_DISKBOOT): Likewise.
9858 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
9859 * include/grub/sparc64/ieee1275/ieee1275.h
9860 (grub_ieee1275_original_stack): New variable
9861 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9862 New definition
9863 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
9864 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
9865 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
9866 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
9867 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
9868 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
9869 (grub_platform_image_format_t): New type.
9870 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
9871 * kern/main.c (grub_modules_get_end)
9872 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
9873 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
9874 (codestart): Switch stacks.
9875 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
9876 variable.
9877 (grub_heap_init): Use grub_modules_get_end.
9878 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
9879 stack.
9880 * util/grub-mkrawimage.c (generate_image): Support sparc64.
9881 (main): Likewise.
9882 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
9883
9884 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
9885
9886 * util/grub-mkrescue.in: Base ISO UUID on UTC.
9887
9888 2010-03-08 Matt Kraai <kraai@ftbfs.org>
9889
9890 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
9891 bug #559005).
9892
9893 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * genmoddep.awk: Output all missing symbols and not only first.
9896
9897 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 * NEWS: Put the date of 1.98 release.
9900
9901 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9902
9903 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
9904 ft2build.h.
9905
9906 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
9909 completition in the middle of string.
9910
9911 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 * util/grub-mkrescue.in: Use mktemp with explicit template.
9914
9915 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9916
9917 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
9918
9919 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
9922 right pointer.
9923
9924 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 Fix FreeBSD compilation.
9927
9928 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
9929 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
9930
9931 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
9934
9935 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
9938
9939 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
9942
9943 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
9944
9945 Support relative image path in theme file.
9946
9947 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
9948 (image_set_property): Handle theme_dir and relative path.
9949
9950 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 * configure.ac: Alias amd64 to x86_64.
9953
9954 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 * NEWS: mention multiboot on EFI.
9957
9958 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * kern/main.c (grub_load_modules): Handle errors from init functions of
9961 embeded modules.
9962
9963 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * normal/autofs.c (autoload_fs_module): Handle errors.
9966
9967 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 Disable linux.mod on qemu-mips since it's not functional and leads
9970 to compilation failure.
9971
9972 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
9973 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
9974 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
9975 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
9976 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
9977 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
9978 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
9979 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
9980 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
9981 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
9982 Reported by: BVK Chaitanya
9983
9984 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
9985
9986 * INSTALL: Add gettext as a dependency and add qemu to a new section
9987 "Prerequisites for make-check".
9988
9989 2010-03-04 Christian Franke <franke@computer.org>
9990
9991 * util/grub-pe2elf.c: Add missing include "progname.h".
9992
9993 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * normal/crypto.c (read_crypto_list): Fix a typo.
9996 Reported by: Seth Goldberg.
9997
9998 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
10001 Reported by: Seth Goldberg.
10002
10003 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10004
10005 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
10006 ascii.bitmaps.
10007
10008 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 * genmk.rb: Remove terminal*.lst in make clean.
10011 Reported by: Seth Goldberg.
10012
10013 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * util/i386/efi/grub-install.in: Copy gettext files.
10016
10017 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
10020
10021 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10022
10023 Wait for user entry basing on presence of output rather than on errors.
10024
10025 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
10026 (grub_install_newline_hook): Likewise.
10027 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
10028 * normal/menu.c (show_menu): Check line_counter to determine presence
10029 of output.
10030 * normal/term.c (grub_normal_line_counter): New variable.
10031 (grub_normal_get_line_counter): New function.
10032 (grub_install_newline_hook): Likewise.
10033
10034 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
10037
10038 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 * configure.ac: Update version to 1.98.
10041
10042 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * util/grub.d/10_linux.in (linux_entry): Don't default to
10045 gfxpayload=keep if Linux doesn't support video handover.
10046
10047 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 Don't compile video modules on yeeloong since video subsystem is part
10050 of kernel.
10051
10052 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
10053 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
10054 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
10055 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
10056 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
10057 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
10058 * include/grub/bitmap_scale.h: Likewise.
10059 * include/grub/bufio.h: Likewise.
10060 * include/grub/font.h: Likewise.
10061 * include/grub/gfxterm.h: Likewise.
10062 * include/grub/video.h: Likewise.
10063 * include/grub/vbe.h: Don't include video_fb.h.
10064 * video/i386/pc/vbe.c: Include video_fb.h.
10065 * commands/i386/pc/vbetest.c: Include video.h.
10066
10067 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
10068
10069 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
10070 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
10071 default entry if GRUB_SAVEDEFAULT=true. This allows using
10072 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
10073 saving a new default on every boot.
10074
10075 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * normal/crypto.c (read_crypto_list): Fix a memory leak.
10078 * normal/term.c (read_terminal_list): Likewise.
10079 * normal/main.c (grub_normal_init_page): Likewise.
10080 (grub_normal_read_line_real): Likewise.
10081
10082 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10083
10084 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
10085 memory leak.
10086 Reported by: Seth Goldberg.
10087
10088 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
10089
10090 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
10091 duplicate declaration of `start'.
10092
10093 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
10096 filename.
10097 Reported by: Georgy Buranov
10098
10099 2010-02-20 Carles Pina i Estany <carles@pina.cat>
10100
10101 * util/grub-mkrawimage.c (usage): Change string formatting to
10102 improve gettext.
10103
10104 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10105
10106 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
10107 backspace keys.
10108
10109 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10110
10111 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
10112 Reported by: Michael Suchanek.
10113
10114 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
10115
10116 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
10117 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
10118
10119 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 Remove any reference to non-free fonts.
10122
10123 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
10124 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
10125 uses non-free components.
10126 * font/font.c (grub_font_get_name): Remove example name.
10127 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
10128 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10129 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
10130 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
10131
10132 2010-02-16 Georgy Buranov <gburanov@gmail.com>
10133
10134 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
10135
10136 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
10139 Double divisor.
10140 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
10141 features.
10142 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
10143
10144 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10145
10146 * gensymlist.sh.in: Use TARGET_CC instead of CC.
10147
10148 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10149
10150 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
10151 * docs/grub.texi (Command-line and menu entry commands): Document play
10152 command.
10153
10154 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10155
10156 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
10157 parse arguments as inline tempo and notes. Move code for playing notes
10158 to...
10159 (play): ... new function.
10160
10161 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10162
10163 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
10164 grub_uint16_t instead of short.
10165 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
10166 disk from little endian to cpu endianness.
10167
10168 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
10169
10170 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
10171 GRUB_TICKS_PER_SECOND instead of 120.
10172
10173 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
10176 escape sequence after \e.
10177
10178 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
10181 non-ASCII characters.
10182
10183 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
10186 set root in single quotes to prevent \, from being unescaped.
10187
10188 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 Prevent unknown commands from stopping menuentry execution.
10191
10192 * script/execute.c (grub_script_execute_cmdline): Print error after
10193 unknown command.
10194
10195 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10196
10197 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
10198 Reported by: Pavel Pisa.
10199
10200 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
10203
10204 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 Merge grub_ieee1275_map_physical into grub_map and rename to
10207 grub_ieee1275_map
10208
10209 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
10210 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
10211 Remove.
10212 * kern/ieee1275/openfw.c (grub_map): Rename to ...
10213 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
10214 necessary.
10215 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
10216
10217 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
10220 opening and not after.
10221
10222 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10223
10224 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
10225 constants.
10226
10227 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10228
10229 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
10230 (alloc_phys): Use ALIGN_UP instead of align_addr.
10231
10232 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
10235
10236 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
10239
10240 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
10243 verbose dprintf.
10244
10245 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 Fix over-4GiB seek on sparc64.
10248
10249 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
10250 Replace pos_i and pos_lo with pos. All users updated.
10251 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10252 New constant.
10253 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10254 Likewise.
10255 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
10256 and pos_lo.
10257
10258 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 * util/grub-mkrawimage.c (main): Call set_program_name.
10261
10262 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10263
10264 Properly align 64-bit targets.
10265
10266 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
10267 (generate_image): Use ALIGN_ADDR.
10268
10269 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10270
10271 Properly create cross-endian images.
10272
10273 * include/grub/types.h (grub_host_to_target_addr): New macro
10274 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
10275
10276 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
10279
10280 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
10283
10284 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
10285 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
10286 (grub_linux_boot): Divide by 64K when on VESA.
10287
10288 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 Support GRUB_GFXPAYLOAD_LINUX.
10291
10292 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
10293 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
10294
10295 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
10298 to show messages instead of discarding them.
10299 Process errors after executing command and not before. Keep old method
10300 too as precaution.
10301
10302 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10303
10304 * configure.ac: Check for ft2build.h.
10305
10306 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
10309
10310 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * genkernsyms.sh.in: Use TARGET_CC.
10313
10314 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
10315
10316 * NEWS: Update.
10317
10318 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10319
10320 * include/grub/multiboot2.h: Remove leftover file.
10321 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
10322 * include/grub/partition.h [GRUB_UTIL]: Likewise.
10323
10324 2010-02-07 Yves Blusseau <blusseau@zetam.org>
10325
10326 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
10327
10328 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 Fix warnings in grub-emu when compiling with maximum warning options.
10331
10332 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
10333 (grub_arch_modules_addr): Return 0 and not NULL.
10334 * util/misc.c (ENABLE_RELOCATABLE): New definition.
10335 (xstrdup): Use newstr instead of dup.
10336 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
10337 of disk to dsk to avoid shadowing.
10338 (find_free_slot): Fix prototype.
10339 * util/getroot.c (grub_util_is_dmraid): Make static.
10340 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
10341 Add missing prototype.
10342 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
10343
10344 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * loader/i386/linux.c (grub_linux_setup_video): Handle error
10347 appropriately.
10348
10349 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
10352 code out.
10353
10354 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10355
10356 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
10357 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
10358 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
10359 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
10360 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
10361 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
10362
10363 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * include/grub/err.h (grub_err_printf): Don't export.
10366
10367 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10368
10369 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
10370
10371 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10372
10373 * include/grub/i18n.h (grub_gettext_dummy): Removed.
10374 * kern/misc.c (grub_gettext_dummy): Make static.
10375
10376 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
10379 by non-valid ones.
10380 * kern/term.c (grub_putchar): Likewise.
10381
10382 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
10385 buggy hook call and memory leak.
10386
10387 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
10390
10391 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10392
10393 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
10394
10395 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
10398 modevar.
10399 Return grub_errno on allocation error.
10400
10401 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10402
10403 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
10404
10405 2010-02-06 Yves Blusseau <blusseau@zetam.org>
10406
10407 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
10408 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
10409
10410 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
10413 non-pxe disk.
10414 (grub_pxefs_open): Likewise.
10415
10416 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10417
10418 * util/grub.d/10_hurd.in: Add --class information to menuentries.
10419 * util/grub.d/10_kfreebsd.in: Likewise.
10420 * util/grub.d/10_linux.in: Likewise.
10421
10422 2010-02-06 Colin D Bennett <colin@gibibit.com>
10423
10424 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
10425 (gfxmenu_mod_SOURCES): New variable.
10426 (gfxmenu_mod_CFLAGS): Likewise.
10427 (gfxmenu_mod_LDFLAGS): Likewise.
10428 * include/grub/term.h (grub_term_set_current_output): Declare
10429 argument as const.
10430 * docs/gfxmenu-theme-example.txt: New file.
10431 * gfxmenu/gfxmenu.c: Likewise.
10432 * gfxmenu/gui_box.c: Likewise.
10433 * gfxmenu/gui_canvas.c: Likewise.
10434 * gfxmenu/gui_circular_progress.c: Likewise.
10435 * gfxmenu/gui_image.c: Likewise.
10436 * gfxmenu/gui_label.c: Likewise.
10437 * gfxmenu/gui_list.c: Likewise.
10438 * gfxmenu/gui_progress_bar.c: Likewise.
10439 * gfxmenu/gui_string_util.c: Likewise.
10440 * gfxmenu/gui_util.c: Likewise.
10441 * gfxmenu/icon_manager.c: Likewise.
10442 * gfxmenu/model.c: Likewise.
10443 * gfxmenu/named_colors.c: Likewise.
10444 * gfxmenu/theme_loader.c: Likewise.
10445 * gfxmenu/view.c: Likewise.
10446 * gfxmenu/widget-box.c: Likewise.
10447 * include/grub/gfxmenu_model.h: Likewise.
10448 * include/grub/gfxmenu_view.h: Likewise.
10449 * include/grub/gfxwidgets.h: Likewise.
10450 * include/grub/gui.h: Likewise.
10451 * include/grub/gui_string_util.h: Likewise.
10452 * include/grub/icon_manager.h: Likewise.
10453
10454 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 Agglomerate scrolling in gfxterm.
10457
10458 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
10459 (grub_virtual_screen_setup): Initialise 'total_screen'.
10460 (write_char): Split to ...
10461 (paint_char): ... this ...
10462 (write_char): ... and this.
10463 (paint_char): Handle delayed scrolling.
10464 (draw_cursor): Likewise.
10465 (scroll_up): Split to ...
10466 (real_scroll): ... this ...
10467 (scroll_up): ... and this.
10468 (real_scroll): Handle multi-line scroll and draw below-the-bottom
10469 characters.
10470 (grub_gfxterm_refresh): Call real_scroll.
10471
10472 2010-02-06 Colin D Bennett <colin@gibibit.com>
10473
10474 * include/grub/misc.h (grub_iscntrl): New inline function.
10475 (grub_isalnum): Likewise.
10476 (grub_strtol): Likewise.
10477
10478 2010-02-06 Colin D Bennett <colin@gibibit.com>
10479
10480 * normal/menu_text.c (get_entry_number): Move from here ...
10481 * normal/menu.c (get_entry_number): ... moved here.
10482 * include/grub/menu.h (grub_menu_get_default_entry_index):
10483 New prototype.
10484 * normal/menu.c (grub_menu_get_default_entry_index): New function.
10485 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
10486 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
10487 (grub_menu_viewer_should_return): Likewise.
10488 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
10489 * normal/menu_text.c (run_menu): Enable menu switching.
10490 * normal/menu_viewer.c (should_return): New variable.
10491 (menu_viewer_changed): Likewise.
10492 (grub_menu_viewer_show_menu): Handle menu viewer changes.
10493 (grub_menu_viewer_should_return): New function.
10494 (menuviewer_write_hook): Likewise.
10495 (grub_menu_viewer_init): Likewise.
10496
10497 2010-02-06 Colin D Bennet <colin@gibibit.com>
10498 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 Support for gfxterm in a window.
10501
10502 * include/grub/gfxterm.h: New file.
10503 * include/grub/video.h (struct grub_video_rect): New declaration.
10504 (grub_video_rect_t): Likewise.
10505 * term/gfxterm.c (struct grub_gfxterm_window): New type.
10506 (refcount): New variable.
10507 (render_target): Likewise.
10508 (window): Likewise.
10509 (repaint_callback): Likewise.
10510 (grub_virtual_screen_setup): Use 'render_target'.
10511 (init_window): New function.
10512 (grub_gfxterm_init_window): Likewise.
10513 (grub_gfxterm_init): Check reference counter.
10514 Use init_window.
10515 (destroy_window): New function.
10516 (grub_gfxterm_destroy_window): Likewise.
10517 (grub_gfxterm_fini): Check reference counter.
10518 Use destroy_window.
10519 (redraw_screen_rect): Restore viewport.
10520 Use 'render_target' and 'window'.
10521 Call 'repaint_callback'.
10522 (write_char): Use 'render_target'.
10523 (draw_cursor): Likewise.
10524 (scroll_up): Restore viewport.
10525 Use 'render_target' and 'window'.
10526 Call 'repaint_callback'.
10527 (grub_gfxterm_cls): Likewise.
10528 (grub_gfxterm_refresh): Use 'window'.
10529 (grub_gfxterm_set_repaint_callback): New function.
10530 (grub_gfxterm_background_image_cmd): Use 'window'.
10531 (grub_gfxterm_get_term): New function.
10532 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
10533
10534 2010-02-06 Colin D Bennett <colin@gibibit.com>
10535
10536 Bitmap scaling support.
10537
10538 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
10539 (bitmap_scale_mod_SOURCES): New variable.
10540 (bitmap_scale_mod_CFLAGS): Likewise.
10541 (bitmap_scale_mod_LDFLAGS): Likewise.
10542 * include/grub/bitmap_scale.h: New file.
10543 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
10544 (background_image_cmd_options): New variable.
10545 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
10546 (cmd): Rename and change type to ...
10547 (background_image_cmd_handle): ... this. All users updated.
10548 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
10549 * video/bitmap_scale.c: New file.
10550
10551 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 SDL support.
10554
10555 * Makefile.in (LIBSDL): New variable.
10556 (enable_grub_emu_sdl): Likewise.
10557 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
10558 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
10559 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
10560 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
10561 * util/sdl.c: New file.
10562
10563 2010-02-06 Colin D Bennett <colin@gibibit.com>
10564 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10565
10566 Double buffering support.
10567
10568 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
10569 * include/grub/video.h: Update comment.
10570 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
10571 New type.
10572 (grub_video_fb_doublebuf_blit_init): New prototype.
10573 * term/gfxterm.c (scroll_up): Support double buffering.
10574 (grub_gfxterm_refresh): Likewise.
10575 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
10576 (grub_video_fb_doublebuf_blit_init): Likewise.
10577 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
10578 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
10579 'displayed_page', 'render_page' and 'update_screen'.
10580 (grub_video_vbe_fini): Free offscreen buffer.
10581 (doublebuf_pageflipping_commit): New function.
10582 (doublebuf_pageflipping_update_screen): Likewise.
10583 (doublebuf_pageflipping_init): Likewise.
10584 (double_buffering_init): Likewise.
10585 (grub_video_vbe_setup): Enable doublebuffering.
10586 (grub_video_vbe_swap_buffers): Implement.
10587 (grub_video_vbe_set_active_render_target): Handle double buffering.
10588 (grub_video_vbe_get_active_render_target): Likewise.
10589 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
10590 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
10591 (grub_video_vbe_enable_double_buffering): Likewise.
10592 (grub_video_vbe_swap_buffers): Use update_screen.
10593 (grub_video_set_mode): Use double buffering.
10594
10595 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10596
10597 * maintainance/gentrigtables.py: Remove.
10598 * lib/trig.c: Likewise.
10599
10600 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
10601
10602 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
10603 `trigtables.c'.
10604 (trigtables.c): New rule.
10605 (gentrigtables): Likewise.
10606 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
10607
10608 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10609
10610 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
10611 integer constants.
10612
10613 2010-02-06 Colin D Bennet <colin@gibibit.com>
10614
10615 Trigonometry support.
10616
10617 * include/grub/trig.h: New file.
10618 * lib/trig.c: Likewise.
10619 * maintainance/gentrigtables.py: Likewise.
10620 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
10621 (trig_mod_SOURCES): New variable.
10622 (trig_mod_CFLAGS): Likewise.
10623 (trig_mod_LDFLAGS): Likewise.
10624
10625 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
10628 disk devices.
10629
10630 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
10633 error.
10634
10635 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * util/hostdisk.c (open_device): Don't use partition device when reading
10638 before the partition.
10639 (grub_util_biosdisk_read): Don't read from partition and before the
10640 partition in single operation.
10641 (grub_util_biosdisk_write): Don't write to partition and before the
10642 partition in single operation.
10643
10644 2010-02-03 Torsten Landschoff <torsten@debian.org>
10645
10646 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10647 last sectors.
10648
10649 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
10652 CDROM reads.
10653 (grub_biosdisk_write): Refuse to write to CDROM.
10654
10655 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10656
10657 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
10658
10659 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10660
10661 * font/font.c (find_glyph): Check that bmp_idx is available before
10662 using it.
10663 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
10664 with (font == NULL).
10665
10666 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
10667
10668 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
10669
10670 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
10671
10672 * include/grub/script_sh.h (sourcecode): Add const qualifier.
10673 * util/grub-script-check.c (getline): Fix empty lines case.
10674
10675 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
10676
10677 * Makefile.in (check): Exit with fail status when one of the tests
10678 fails.
10679 * tests/example_functional_test.c (example_test): Fix reversed assert.
10680 * tests/example_unit_test.c (example_test): Likewise.
10681
10682 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
10683
10684 * util/grub.d/10_linux.in: This script does not use any of the
10685 contents of gettext.sh, only the external command `gettext', so stop
10686 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
10687 the same prefix as GRUB.)
10688 * util/grub.d/10_kfreebsd.in: Likewise.
10689
10690 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10691
10692 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
10693 of the line.
10694
10695 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10698 last sectors.
10699
10700 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
10703 having a 4KiB and not 32KiB buffer size.
10704
10705 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10706
10707 * util/hostfs.c: Include `<errno.h>'.
10708 (grub_hostfs_read): Handle errors from fseeko() and fread().
10709
10710 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10711
10712 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
10713 loop when using read hooks on files whose size isn't sector-aligned.
10714
10715 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10716
10717 Remove unused parameter.
10718
10719 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
10720 (grub_iso9660_open): Remove initialization of `data->length'.
10721
10722 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10723
10724 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
10725 memleak conditions.
10726
10727 2010-01-27 Carles Pina i Estany <carles@pina.cat>
10728
10729 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
10730 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
10731
10732 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10733
10734 * util/bin2h.c (usage): Fix warning (space after backslash).
10735
10736 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10737
10738 * font/font.c: Include `grub/fontformat.h.
10739 Remove font file format constants.
10740 (grub_font_load): Use the new macros.
10741 * include/grub/fontformat.h: New file.
10742 * util/grub-mkfont.c: Include `grub/fontformat.c'.
10743 (write_font_pf2): Use the new macros.
10744
10745 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10746
10747 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
10748 does.
10749
10750 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10751
10752 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
10753
10754 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
10755 (_start): Macroify `0x7F'.
10756
10757 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
10758 (make_install_device): Use "(pxe)" as fallback prefix when booting
10759 via PXE.
10760
10761 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 * configure.ac: Reset LIBS after check for libgcc symbols.
10764
10765 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
10766
10767 * util/hostdisk.c (open_device): Add trailing newline to debug
10768 message.
10769
10770 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
10771
10772 * configure.ac: Check for `limits.h'.
10773 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
10774
10775 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
10776
10777 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
10778 capitalize error strings.
10779
10780 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
10781
10782 * util/grub.d/10_hurd.in: Add a recovery mode.
10783
10784 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 * configure.ac: Check for libgcc symbols with -nostdlib.
10787
10788 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
10789
10790 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
10791
10792 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
10795 stack since heap may be unavailable at that point.
10796 (grub_ofconsole_gotoxy): Likewise.
10797
10798 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10799
10800 * configure.ac: Check for _restgpr_14_x.
10801 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
10802 and _savegpr_* prototypes.
10803
10804 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
10805
10806 Use generic grub_reboot() for i386-efi.
10807
10808 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
10809 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
10810 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
10811
10812 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
10815 presence of "prefix" variable as it breaks when normal.mod is
10816 embedded.
10817
10818 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10819
10820 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
10821 stack since heap is unavailable at that point.
10822
10823 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
10826 (grub_freebsd_bootinfo): Rewritten.
10827 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
10828
10829 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
10832
10833 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
10834
10835 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
10836 domain now.
10837
10838 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
10839
10840 * util/misc.c (make_system_path_relative_to_its_root): Change the work
10841 around for handling "/" to the correct fix. Fix a memory leak. Use
10842 xstrdup instead of strdup.
10843
10844 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10845
10846 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
10847
10848 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 Optimise glyph lookup by Basic Multilingual Plane lookup array.
10851
10852 * font/font.c (struct grub_font): New member 'bmp_idx'.
10853 (font_init): Initialise 'bmp_idx'.
10854 (load_font_index): Fill 'bmp_idx'.
10855 (find_glyph): Make inline. Use bmp_idx for BMP characters.
10856
10857 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
10860 unnecessary calls.
10861
10862 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 Move context handling out of the kernel.
10865
10866 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
10867 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
10868 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
10869 * conf/i386-efi.rmk: Likewise.
10870 * conf/i386-ieee1275.rmk: Likewise.
10871 * conf/i386-pc.rmk: Likewise.
10872 * conf/powerpc-ieee1275.rmk: Likewise.
10873 * conf/sparc64-ieee1275.rmk: Likewise.
10874 * conf/x86_64-efi.rmk: Likewise.
10875 * include/grub/env.h: Include grub/menu.h.
10876 (grub_env_var_type): Removed.
10877 (grub_env_var): Replaced field 'type' with 'global'.
10878 (grub_env_find): New prototype.
10879 (grub_env_context_open): Remove EXPORT_FUNC.
10880 (grub_env_context_close): Likewise.
10881 (grub_env_export): Likewise.
10882 (grub_env_set_data_slot): Removed.
10883 (grub_env_get_data_slot): Likewise.
10884 (grub_env_unset_data_slot): Likewise.
10885 (grub_env_unset_menu): New prototype.
10886 (grub_env_set_menu): Likewise.
10887 (grub_env_get_menu): Likewise.
10888 * include/grub/env_private.h: New file.
10889 * include/grub/normal.h (grub_context_init): New prototype.
10890 (grub_context_fini): Likewise.
10891 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
10892 * normal/context.c (grub_cmd_export): ... to here.
10893 * kern/env.c: Include env_private.h.
10894 (HASHSZ): Moved to include/grub/env_private.h.
10895 (grub_env_context): Likewise.
10896 (grub_env_sorted_var): Likewise.
10897 (current_context): Renamed from this ...
10898 (grub_current_context): ...to this. 'static' removed. All users updated.
10899 (grub_env_find): Removed 'static'.
10900 (grub_env_context_open): Moved to normal/context.c.
10901 (grub_env_context_close): Likewise.
10902 (grub_env_export): Likewise.
10903 (mangle_data_slot_name): Removed.
10904 (grub_env_set_data_slot): Likewise.
10905 (grub_env_get_data_slot): Likewise.
10906 (grub_env_unset_data_slot): Likewise.
10907 * kern/main.c (grub_set_root_dev): Don't export root.
10908 It will be done later.
10909 (grub_main): Don't export prefix.
10910 It will be done later.
10911 * normal/context.c: New file.
10912 * normal/main.c (free_menu): Use grub_env_unset_menu.
10913 (grub_normal_add_menu_entry): Use grub_env_get_menu.
10914 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
10915 (GRUB_MOD_INIT(normal)): Call grub_context_init.
10916 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
10917
10918 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10919
10920 setpci support.
10921
10922 * commands/setpci.c: New file.
10923 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
10924 (setpci_mod_SOURCES): New variable.
10925 (setpci_mod_CFLAGS): Likewise.
10926 (setpci_mod_LDFLAGS): Likewise.
10927
10928 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10929
10930 Byte-addressable PCI configuration space.
10931
10932 * bus/pci.c (grub_pci_make_address): Use byte address instead of
10933 dword address.
10934 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
10935 GRUB_PCI_REG_CACHELINE.
10936 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
10937 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
10938 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
10939 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
10940 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
10941 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
10942 grub_pci_make_address.
10943 (lock_rom_area): Likewise.
10944 * commands/lspci.c (grub_lspci_iter): Use macroses
10945 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
10946 of grub_pci_make_address.
10947 * disk/ata.c (grub_ata_pciinit): Likewise.
10948 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
10949 (GRUB_PCI_REG_VENDOR): Likewise.
10950 (GRUB_PCI_REG_DEVICE): Likewise.
10951 (GRUB_PCI_REG_COMMAND): Likewise.
10952 (GRUB_PCI_REG_STATUS): Likewise.
10953 (GRUB_PCI_REG_REVISION): Likewise.
10954 (GRUB_PCI_REG_CLASS): Likewise.
10955 (GRUB_PCI_REG_CACHELINE): Likewise.
10956 (GRUB_PCI_REG_LAT_TIMER): Likewise.
10957 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
10958 (GRUB_PCI_REG_BIST): Likewise.
10959 (GRUB_PCI_REG_ADDRESSES): Likewise.
10960 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10961 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10962 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10963 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10964 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10965 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10966 (GRUB_PCI_REG_CIS_POINTER): Likewise.
10967 (GRUB_PCI_REG_SUBVENDOR): Likewise.
10968 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
10969 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
10970 (GRUB_PCI_REG_CAP_POINTER): Likewise.
10971 (GRUB_PCI_REG_IRQ_LINE): Likewise.
10972 (GRUB_PCI_REG_IRQ_PIN): Likewise.
10973 (GRUB_PCI_REG_MIN_GNT): Likewise.
10974 (GRUB_PCI_REG_MAX_LAT): Likewise.
10975 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
10976 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
10977 * video/efi_uga.c (find_framebuf): Likewise.
10978 * video/sm712.c (grub_video_sm712_setup): Likewise.
10979 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
10980 space.
10981
10982 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10983
10984 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
10985 can be reliably determined to be supported.
10986
10987 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10988
10989 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
10990 that VESA is supported.
10991 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
10992 supported.
10993
10994 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10995
10996 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
10997
10998 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10999
11000 * util/misc.c (make_system_path_relative_to_its_root): Work around
11001 special-casing of "/", as previous incarnation of this routine did.
11002
11003 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 Fix any-emu compilation.
11006
11007 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
11008 * grub_bin2h_SOURCES: New variable.
11009
11010 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11011
11012 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
11013
11014 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11015
11016 * util/grub.d/00_header.in: Fix handling of locale_dir.
11017
11018 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
11021 as possible unifont location (Gentoo).
11022 Reported by: Alexander Brüning
11023
11024 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 Don't try to generate lists for kernel.img.
11027
11028 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
11029 (pkglib_MODULES): Remove kernel.img.
11030 (kernel_img_EXPORTS): Removed.
11031 (kernel_img_RELOCATABLE): New variable.
11032 * conf/x86_64-efi.rmk: Likewise.
11033 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
11034
11035 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
11038 grub_xasprintf or grub_snprintf.
11039 (grub_vsprintf): Likewise.
11040 (grub_snprintf): New proto.
11041 (grub_vsnprintf): Likewise.
11042 (grub_xasprintf): Likewise.
11043 (grub_xvasprintf): Likewise.
11044 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
11045 (grub_sprintf): Removed.
11046 (grub_vsnprintf): New function.
11047 (grub_snprintf): Likewise.
11048 (grub_xvasprintf): Likewise.
11049 (grub_xasprintf): Likewise.
11050 (grub_vsprintf): Renamed to ...
11051 (grub_vsnprintf_real): ...this. New argument max_len.
11052
11053 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
11054
11055 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
11056 fix grub-script-check warning.
11057
11058 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * include/grub/font.h (grub_font_load): Fix prototype.
11061
11062 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
11065
11066 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * include/grub/x86_64/at_keyboard.h: New file.
11069
11070 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11071
11072 * loader/mips/linux.c: Include missing grub/i18n.h.
11073
11074 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11075
11076 * normal/menu.c (notify_execution_failure): Clarify error message.
11077
11078 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11079
11080 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
11081 return value (and revert all return statements). Update users.
11082
11083 2010-01-20 Dan Merillat <debian@dan.merillat.org>
11084
11085 * kern/device.c (grub_device_iterate): Allocate new part_ent
11086 structure based on sizeof (*p) rather than sizeof (p->next), to
11087 account for structure padding.
11088
11089 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
11090 disk is NULL, which might happen for LVM physical volumes with no
11091 LVM signature.
11092
11093 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11094
11095 * loader/mips/linux.c (grub_cmd_initrd)
11096 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
11097
11098 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11099
11100 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
11101 (grub_video_video_init, grub_video_bitmap_init)
11102 (grub_font_manager_init, grub_term_gfxterm_init)
11103 (grub_at_keyboard_init): New extern declarations.
11104 (grub_machine_init): Initialize gfxterm and at_keyboard.
11105
11106 * kern/main.c (grub_main): Revert grub_printf delay kludge.
11107
11108 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
11109 `gfxterm.mod' into core image.
11110
11111 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11112 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11113 (kernel_img_FORMAT): Copy to ...
11114
11115 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11116 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11117 (kernel_img_FORMAT): ... here, and ...
11118
11119 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11120 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11121 (kernel_img_FORMAT): ... here.
11122
11123 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
11124 and input (at_keyboard) terminals in kernel.
11125 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
11126
11127 (pkglib_MODULES): Remove `pci.mod'.
11128 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
11129 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
11130 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11131 (at_keyboard_mod_LDFLAGS): Remove variables.
11132
11133 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
11134
11135 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
11136
11137 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
11138
11139 * include/grub/mips/libgcc.h: Only export symbols for functions
11140 that libgcc provides.
11141
11142 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 MIPS support.
11145
11146 * bus/bonito.c: New file.
11147 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
11148 GRUB_PCI_NUM_DEVICES.
11149 * term/i386/pc/serial.c: Move to ...
11150 * term/serial.c: ... here. All users updated.
11151 * util/i386/pc/grub-mkimage.c: Move to ...
11152 * util/grub-mkrawimage.c: ... here. All users updated.
11153 * term/i386/pc/at_keyboard.c: Move to ...
11154 * term/at_keyboard.c: ... here. All users updated.
11155 * conf/mips-qemu-mips.rmk: New file.
11156 * conf/mips-yeeloong.rmk: Likewise.
11157 * conf/mips.rmk: Likewise.
11158 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
11159 mipsel-qemu-mips.
11160 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
11161 to port addresses.
11162 (grub_ata_pciinit): Support CS5536.
11163 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
11164 * font/font_cmd.c (loadfont_command): Open file before passing it to
11165 grub_font_load.
11166 (pseudo_file_read): New function.
11167 (pseudo_file_close): Likewise.
11168 (pseudo_fs): New structure.
11169 (load_font_module): New function.
11170 (GRUB_MOD_INIT(font_manager)): Load embedded font.
11171 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
11172 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
11173 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
11174 * include/grub/i386/at_keyboard.h: Split into ...
11175 * include/grub/at_keyboard.h: ... this ...
11176 * include/grub/i386/at_keyboard.h: ... and this.
11177 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
11178 New prototype.
11179 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
11180 updated.
11181 (grub_elf64_size): Likewise.
11182 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
11183 filename.
11184 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
11185 * include/grub/i386/coreboot/serial.h: Rewritten.
11186 * include/grub/i386/ieee1275/serial.h: Include
11187 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
11188 * include/grub/i386/pc/serial.h: Moved from here ...
11189 * include/grub/serial.h: ... to here. All users updated.
11190 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
11191 (GRUB_PCI_NUM_BUS): Likewise.
11192 (GRUB_PCI_NUM_DEVICES): Likewise.
11193 (grub_pci_device_map_range): Add missing volatile keyword.
11194 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
11195 * include/grub/mips/at_keyboard.h: New file.
11196 * include/grub/mips/cache.h: Likewise.
11197 * include/grub/mips/io.h: Likewise.
11198 * include/grub/mips/kernel.h: Likewise.
11199 * include/grub/mips/libgcc.h: Likewise.
11200 * include/grub/mips/pci.h: Likewise.
11201 * include/grub/mips/qemu-mips/boot.h: Likewise.
11202 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11203 * include/grub/mips/qemu-mips/loader.h: Likewise.
11204 * include/grub/mips/qemu-mips/memory.h: Likewise.
11205 * include/grub/mips/qemu-mips/serial.h: Likewise.
11206 * include/grub/mips/qemu-mips/time.h: Likewise.
11207 * include/grub/mips/relocator.h: Likewise.
11208 * include/grub/mips/time.h: Likewise.
11209 * include/grub/mips/types.h: Likewise.
11210 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
11211 * include/grub/mips/yeeloong/boot.h: Likewise.
11212 * include/grub/mips/yeeloong/kernel.h: Likewise.
11213 * include/grub/mips/yeeloong/loader.h: Likewise.
11214 * include/grub/mips/yeeloong/memory.h: Likewise.
11215 * include/grub/mips/yeeloong/pci.h: Likewise.
11216 * include/grub/mips/yeeloong/serial.h: Likewise.
11217 * include/grub/mips/yeeloong/time.h: Likewise.
11218 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
11219 * kern/elf.c (grub_elf32_size): New parameter. All users
11220 updated.
11221 (grub_elf64_size): Likewise.
11222 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
11223 Load modules before saying "Welcome to GRUB!".
11224 Call grub_refresh after saying "Welcome to GRUB!".
11225 * kern/mips/cache.S: New file.
11226 * kern/mips/cache_flush.S: Likewise.
11227 * kern/mips/dl.c: Likewise.
11228 * kern/mips/init.c: Likewise.
11229 * kern/mips/qemu-mips/init.c: Likewise.
11230 * kern/mips/startup.S: Likewise.
11231 * kern/mips/yeeloong/init.c: Likewise.
11232 * kern/term.c (grub_putcode): Handle NULL terminal.
11233 (grub_getcharwidth): Likewise.
11234 (grub_getkey): Likewise.
11235 (grub_checkkey): Likewise.
11236 (grub_getkeystatus): Likewise.
11237 (grub_getxy): Likewise.
11238 (grub_getwh): Likewise.
11239 (grub_gotoxy): Likewise.
11240 (grub_cls): Likewise.
11241 (grub_setcolorstate): Likewise.
11242 (grub_setcolor): Likewise.
11243 (grub_getcolor): Likewise.
11244 (grub_refresh): Likewise.
11245 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
11246 (write_jump): Add hatch nop.
11247 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
11248 * lib/mips/setjmp.S: New file.
11249 * loader/mips/linux.c: Likewise.
11250 * term/i386/pc/at_keyboard.c: Move from here ...
11251 * term/at_keyboard.c: ... to here.
11252 * term/i386/pc/serial.c: Moved from here ...
11253 * term/serial.c: ... to here. All users updated.
11254 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
11255 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
11256 (serial_translate_key_sequence): Avoid deadlock.
11257 (grub_serial_getkey): Handle backspace.
11258 (grub_serial_putchar): Fix newline handling.
11259 * util/i386/pc/grub-mkimage.c: Move from here ...
11260 * util/grub-mkrawimage.c: ... to here. All users updated.
11261 (generate_image): New parameters 'font_path' and 'format'.
11262 Support embedding font.
11263 Use grub_host_to_target* instead of grub_cpu_to_le*.
11264 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
11265 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
11266 (options): New option "--font".
11267 (usage): Likewise.
11268 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
11269 (main): Handle "--font".
11270 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
11271 (grub_virtual_screen_setup): Set bg_color_display.
11272 (redraw_screen_rect): Use bg_color_display instead of incorrect
11273 bg_color.
11274 (grub_gfxterm_cls): Likewise.
11275 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
11276 Support embedding config file.
11277 (add_segments): Likewise.
11278 (options): New option "--config".
11279 (main): Handle "--config".
11280 * video/sm712.c: New file.
11281
11282 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11283
11284 Fix parallel builds.
11285
11286 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
11287 font.c depend on ascii.h).
11288
11289 2010-01-12 Carles Pina i Estany <carles@pina.cat>
11290
11291 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
11292
11293 2010-01-11 Carles Pina i Estany <carles@pina.cat>
11294
11295 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
11296 By default: disabled.
11297 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
11298 parameter.
11299
11300 2010-01-10 Carles Pina i Estany <carles@pina.cat>
11301
11302 * font/font.c: Update copyright years.
11303 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
11304
11305 2010-01-10 Carles Pina i Estany <carles@pina.cat>
11306
11307 * font/font.c: Include `ascii.h'.
11308 (ASCII_BITMAP_SIZE): New macro.
11309 (ascii_font_glyph): Define.
11310 (ascii_glyph_lookup): New function.
11311 (grub_font_get_string_width): Change comment. If glyph not found, use
11312 ascii_glyph_lookup.
11313 (grub_font_get_glyph_with_fallback): If glyph not available returns
11314 ascii_glyph_lookup.
11315 * util/grub-mkfont.c (file_formats): New enum.
11316 (options): Add `ascii-bitmaps' new option.
11317 (usage): Add `asii-bitmaps' new option.
11318 (write_font_ascii_bitmap): New function.
11319 (write_font): Rename to ...
11320 (write_font_p2): ... this. Remove print_glyphs call.
11321 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
11322 used. Call print_glyphs.
11323 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
11324
11325 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11326
11327 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
11328 (grub_bin2h_SOURCES): New variable.
11329 * util/bin2h.c: New file.
11330
11331 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11332
11333 * include/multiboot.h: Resynced with spec.
11334 * include/multiboot2.h: Likewise.
11335 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
11336 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
11337
11338 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11339
11340 * include/grub/term.h (grub_term_register_input,
11341 grub_term_register_output): Check return of terminal init()
11342 routines, and abort if errors are raised.
11343
11344 * commands/terminal.c: Update copyright year.
11345
11346 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11347
11348 * commands/terminal.c (grub_cmd_terminal_input)
11349 (grub_cmd_terminal_output): Check return of terminal init()
11350 routines, and abort if errors are raised.
11351
11352 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 * include/grub/i386/bsd.h: Fix include pathes.
11355
11356 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11357
11358 Add missing *BSD copyright headers.
11359
11360 * include/grub/aout.h: Add BSD licence.
11361 * include/grub/i386/bsd.h: Parts under different licences moved to ...
11362 * include/grub/i386/freebsd_linker.h: ... here,
11363 * include/grub/i386/freebsd_reboot.h: ... here,
11364 * include/grub/i386/netbsd_bootinfo.h: ... here,
11365 * include/grub/i386/netbsd_reboot.h: ... here,
11366 * include/grub/i386/openbsd_bootarg.h: ... here,
11367 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
11368 licence to each file.
11369
11370 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11371
11372 * acinclude.m4: Remove `nop' assembly instruction; it's not
11373 implemented by all architectures.
11374
11375 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11376
11377 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
11378 ELILO. This is no longer necessary.
11379
11380 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
11381
11382 Added new tool, grub-scrit-check to verify grub.cfg syntax.
11383
11384 * util/grub-script-check.c: grub-script-check tool.
11385 * conf/common.rmk: Make rules for grub-script-check.
11386
11387 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11388
11389 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
11390 spotting it back in 2008. Shame on me for forgetting he did.
11391
11392 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
11393
11394 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11395
11396 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
11397 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
11398 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
11399 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
11400 (GRUB_VIDEO_TYPE_EFI): Rename to ...
11401 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
11402
11403 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
11404
11405 * include/grub/test.h: Add license header.
11406 * tests/example_functional_test.c: Likewise.
11407 * tests/example_unit_test.c: Likewise.
11408 * tests/lib/functional_test.c: Likewise.
11409 * tests/lib/test.c: Likewise.
11410 * tests/lib/unit_test.c: Likewise.
11411
11412 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 Use flag-based instead of hook-based video mode selection and "auto"
11415 keyword.
11416
11417 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
11418 (grub_video_set_mode): Changed prototype. All users updated.
11419 (grub_video_check_mode_flag): New inline function.
11420 * video/video.c (parse_modespec): New function.
11421 (grub_video_set_mode): Parse flags and keywords.
11422
11423 2010-01-17 Carles Pina i Estany <carles@pina.cat>
11424
11425 * util/misc.c (grub_util_info): Fix the order of the parameters in a
11426 fprintf call.
11427
11428 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
11429
11430 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
11431
11432 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11433
11434 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
11435 string.
11436 * util/grub-emu.c (usage): Likewise.
11437 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
11438 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11439 * util/i386/pc/grub-mkimage.c (usage): Likewise.
11440 * util/i386/pc/grub-setup.c (usage): Likewise.
11441
11442 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11443
11444 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
11445 the message.
11446 (grub_util_info): Likewise.
11447 (grub_util_error): Likewise.
11448 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
11449 and/or new lines in `grub_util_warna', `grub_util_info',
11450 `grub_util_error' calls.
11451 * util/getroot.c: Likewise.
11452 * util/grub-editenv.c: Likewise.
11453 * util/grub-emu.c: Likewise.
11454 * util/grub-fstest.c: Likewise.
11455 * util/grub-mkdevicemap.c: Likewise.
11456 * util/grub-mkfont.c: Likewise.
11457 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11458 * util/grub-mkrelpath.c: Likewise.
11459 * util/grub-pe2elf.c: Likewise.
11460 * util/grub-probe.c: Likewise.
11461 * util/hostdisk.c: Likewise.
11462 * util/i386/efi/grub-mkimage.c: Likewise.
11463 * util/i386/pc/grub-mkimage.c: Likewise.
11464 * util/i386/pc/grub-setup.c: Likewise.
11465 * util/ieee1275/ofpath.c: Likewise.
11466 * util/mkisofs/eltorito.c: Likewise.
11467 * util/mkisofs/rock.c: Likewise.
11468 * util/mkisofs/write.c: Likewise.
11469 * util/raid.c: Likewise.
11470 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11471 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11472
11473 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 Enable multiboot on non-pc.
11476
11477 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
11478 multiboot.mod and multiboot2.mod to ...
11479 * conf/i386.rmk (pkglib_MODULES): ... here.
11480 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
11481 Moved to ...
11482 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
11483 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
11484 Moved to ...
11485 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
11486 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
11487 Moved to ...
11488 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
11489 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
11490 Moved to ...
11491 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
11492 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
11493 relocator.mod.
11494 (ata_mod_SOURCES): Removed.
11495 (ata_mod_CFLAGS): Likewise.
11496 (ata_mod_LDFLAGS): Likewise.
11497 (relocator_mod_SOURCES): Removed.
11498 (relocator_mod_CFLAGS): Likewise.
11499 (relocator_mod_ASFLAGS): Likewise.
11500 (relocator_mod_LDFLAGS): Likewise.
11501 Include i386.mk.
11502 * include/grub/x86_64/multiboot.h: New file.
11503 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
11504 Terminate EFI.
11505
11506 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11507
11508 Video multiboot support.
11509
11510 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
11511 New prototype.
11512 * include/multiboot.h: Resynced with multiboot specification.
11513 * include/multiboot2.h: Likewise.
11514 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
11515 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
11516 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
11517 (HAS_VGA_TEXT): Likewise.
11518 (accepts_video): New variable.
11519 (grub_multiboot_set_accepts_video): New function.
11520 (grub_multiboot_get_mbi_size): Account for video structures.
11521 (set_video_mode): New function.
11522 (retrieve_video_parameters): Likewise.
11523 (grub_multiboot_make_mbi): Fill video fields.
11524
11525 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 Video driver ids.
11528
11529 * include/grub/video.h (grub_video_driver_id): New type.
11530 (grub_video_adapter): New member 'id'. All users updated.
11531 (grub_video_get_driver_id): New proto.
11532 * video/video.c (grub_video_get_driver_id): New function.
11533
11534 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11535
11536 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
11537 `var=val'.
11538
11539 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11540
11541 * normal/cmdline.c (print_completion): Gettextizze.
11542
11543 2001-01-14 Carles Pina i Estany <carles@pina.cat>
11544
11545 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
11546
11547 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11548
11549 * gettext/gettext.c (grub_gettext_translate): Push and pop
11550 grub_errno.
11551 (grub_gettext_delete_list): Change comment style.
11552 * kern/err.c (grub_error): Gettextizze.
11553 (grub_fatal): Gettextizze.
11554
11555 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11556
11557 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
11558 (grub_linux16_real_boot): ... this.
11559 * kern/i386/loader.S: Likewise.
11560 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
11561 (grub_linux16_boot): New function. Switches to text mode and calls
11562 grub_linux16_real_boot().
11563
11564 * loader/i386/bsd.c: Include `<grub/video.h>'.
11565 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
11566 text mode before calling grub_unix_real_boot().
11567
11568 * loader/i386/multiboot.c: Include `<grub/video.h>'.
11569 (grub_multiboot_boot): Switch to text mode before calling
11570 grub_relocator32_boot().
11571
11572 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
11573 (grub_chainloader_boot): Switch to text mode before calling
11574 grub_chainloader_real_boot().
11575
11576 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11577 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11578
11579 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
11580 non-empty value.
11581
11582 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11583 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11584
11585 * util/grub.d/00_header.in: Define a "savedefault" function for use
11586 in menu entries.
11587 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
11588
11589 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11590 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11591
11592 * util/grub-mkconfig_lib.in (save_default_entry): Only set
11593 saved_entry if boot_once is unset.
11594 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
11595 previous saved entry (i.e. grub-reboot).
11596
11597 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11598
11599 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
11600
11601 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11602
11603 * util/grub.d/00_header.in: Use `set var=val' rather than plain
11604 `var=val'.
11605 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
11606
11607 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11608
11609 * util/grub-reboot.in: Fix --version output.
11610 * util/grub-set-default.in: Likewise.
11611
11612 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11613
11614 * util/grub.d/00_header.in: Silently ignore zero-sized environment
11615 blocks.
11616
11617 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11618
11619 * util/grub.d/00_header.in: Quote the value assigned to `default',
11620 in case it contains spaces.
11621
11622 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11623
11624 * util/grub.d/30_os-prober.in: Fix merge error that moved a
11625 `save_default_entry' call from the macosx case to the linux case.
11626
11627 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11628 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
11629
11630 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
11631 in `chosen' environment variable.
11632 * normal/menu_text.c (get_entry_number): Check if the variable
11633 matches the title of a menu entry.
11634 (run_menu): Pass menu to get_entry_number.
11635
11636 * util/grub-reboot.in: New file.
11637 * util/grub-set-default.in: New file.
11638 * conf/common.rmk (grub-reboot): New utility.
11639 (grub-set-default): New utility.
11640
11641 * util/grub-mkconfig_lib.in (save_default_entry): New function.
11642 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
11643 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
11644 move it to `saved_entry' for the next boot. Load environment on
11645 initialisation.
11646 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
11647 * util/grub.d/10_hurd.in: Likewise.
11648 * util/grub.d/10_linux.in (linux_entry): Likewise.
11649 * util/grub.d/10_windows.in: Likewise.
11650 * util/grub.d/30_os-prober.in: Likewise.
11651
11652 * util/grub-install.in: Create environment block.
11653 * util/i386/efi/grub-install.in: Likewise.
11654 * util/ieee1275/grub-install.in: Likewise.
11655 * util/sparc64/ieee1275/grub-install.in: Likewise.
11656
11657 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
11658
11659 Unit testing framework for GRUB.
11660
11661 * Makefile.in: Test framework build rules for 'make check'.
11662 * conf/tests.rmk: Build rules for individual tests and framework.
11663
11664 * include/grub/test.h: Header file for whitebox tests.
11665 * tests/lib/functional_test.c: Framework support for whitebox
11666 functional tests.
11667 * tests/lib/test.c: Common whitebox testing code for unit and
11668 functional tests.
11669 * tests/lib/unit_test.c: Framework support for whitebox unit
11670 tests.
11671
11672 * tests/util/grub-shell-tester.in: Support utility for grub-script
11673 tests.
11674 * tests/util/grub-shell.in: Utility to execute grub-script
11675 commands in a Qemu instance.
11676
11677 * tests/example_functional_test.c: Example whitebox functional
11678 test.
11679 * tests/example_grub_script_test.in: Example grub-script test.
11680 * tests/example_scripted_test.in: Example scripted test.
11681 * tests/example_unit_test.c: Example whitebox unit test.
11682
11683 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
11686 Add loader/i386/multiboot_mbi.c.
11687 (multiboot2_mod_SOURCES): Likewise.
11688 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
11689 (multiboot2_mod_SOURCES): Likewise.
11690 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
11691 (grub_multiboot_make_mbi): Likewise.
11692 (grub_multiboot_free_mbi): Likewise.
11693 (grub_multiboot_init_mbi): Likewise.
11694 (grub_multiboot_add_module): Likewise.
11695 (grub_multiboot_set_bootdev): Likewise.
11696 * loader/i386/multiboot.c (mbi): Removed.
11697 (mbi_dest): Likewise.
11698 (alloc_mbi): New variable.
11699 (grub_multiboot_payload_size): Removed. All users updated.
11700 (grub_multiboot_pure_size): New variable.
11701 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
11702 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
11703 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
11704 (grub_fill_multiboot_mmap): Likewise.
11705 (grub_multiboot_get_bootdev): Likewise.
11706 (grub_multiboot): Use multiboot_mbi functions.
11707 * loader/i386/multiboot_mbi.c: New file.
11708
11709 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11710
11711 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
11712 it would result in module crash.
11713
11714 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
11717 (grub_ofconsole_getwh): Split to ...
11718 (grub_ofconsole_getwh): ... this.
11719 (grub_ofconsole_dimensions): ...and this.
11720 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
11721
11722 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
11723
11724 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
11725
11726 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * loader/i386/pc/multiboot2.c: Removed stalled file.
11729
11730 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11731
11732 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
11733 Reported by: Grégoire Sutre
11734
11735 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
11736
11737 * util/misc.c (canonicalize_file_name): New function.
11738 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
11739 instead of realpath().
11740
11741 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
11742
11743 * util/grub-install.in (usage): Clarify meaning of --root-directory,
11744 and make it clearer that it's optional. Based on confusion
11745 witnessed on IRC.
11746
11747 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
11750 in premature implicit newline.
11751
11752 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
11755 which resulted in garbled command line at the end of screen.
11756
11757 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11758
11759 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
11760 initialization with similar approach as with other Linux loaders.
11761
11762 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11763
11764 Fix i386-ieee1275 build.
11765
11766 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
11767 and grub_term_height() for video_{width,height} initialization.
11768
11769 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11770
11771 Fix grub-emu build.
11772
11773 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
11774
11775 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11776 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11777
11778 Support for multiple terminals.
11779
11780 * Makefile.in (pkglib_DATA): terminal.lst.
11781 (terminal.lst): New target.
11782 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
11783 (GRUB_MOD_INIT(handler)): Likewise.
11784 (GRUB_MOD_FINI(handler)): Likewise.
11785 * commands/help.c (grub_cmd_help): Handle multiple terminals.
11786 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
11787 * commands/sleep.c (do_print): Use grub_term_restore_pos.
11788 (grub_cmd_sleep): Use grub_term_save_pos.
11789 * commands/terminal.c: New file.
11790 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
11791 commands/terminal.c and lib/charset.c.
11792 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
11793 (pkglib_MODULES): Add terminal.mod.
11794 (terminal_mod_SOURCES): New variable.
11795 (terminal_mod_CFLAGS): Likewise.
11796 (terminal_mod_LDFLAGS): Likewise.
11797 * genhandlerlist.sh: Don't handle terminals.
11798 * genmk.rb: Generate terminal-*.lst.
11799 * genterminallist.sh: New file.
11800 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
11801 (grub_is_valid_utf8): Likewise.
11802 (grub_utf8_to_ucs4_alloc): Likewise.
11803 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
11804 (grub_menu_register_viewer): Changed argument.
11805 (grub_menu_try_text): New proto.
11806 (grub_gfxmenu_try_hook): New declaration.
11807 * include/grub/normal.h (grub_normal_exit_level): New declaration.
11808 (grub_menu_init_page): Additional argument term.
11809 (grub_normal_init_page): Likewise.
11810 (grub_cmdline_get): Arguments simplified.
11811 (grub_utf8_to_ucs4_alloc): Removed.
11812 (grub_print_ucs4): Additional argument term.
11813 (grub_getstringwidth): Likewise.
11814 (grub_print_message_indented): Likewise.
11815 (grub_menu_text_register_instances): New proto.
11816 (grub_show_menu): Likewise.
11817 (read_terminal_list): Likewise.
11818 (grub_set_more): Likewise.
11819 * include/grub/parser.h: Include handler.h.
11820 * include/grub/reader.h: Rewritten.
11821 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
11822 (GRUB_TERM_WIDTH): Changed to function.
11823 (GRUB_TERM_HEIGHT): Likewise.
11824 (GRUB_TERM_BORDER_WIDTH): Likewise.
11825 (GRUB_TERM_BORDER_HEIGHT): Likewise.
11826 (GRUB_TERM_NUM_ENTRIES): Likewise.
11827 (GRUB_TERM_ENTRY_WIDTH): Likewise.
11828 (GRUB_TERM_CURSOR_X): Likewise.
11829 (grub_term_input_class): Likewise.
11830 (grub_term_output_class): Likewise.
11831 (grub_term_outputs_disabled): New declaration.
11832 (grub_term_inputs_disabled): Likewise.
11833 (grub_term_outputs): Likewise.
11834 (grub_term_inputs): Likewise.
11835 (grub_term_register_input): Rewritten.
11836 (grub_term_register_output): Likewise.
11837 (grub_term_unregister_input): Likewise.
11838 (grub_term_unregister_output): Likewise.
11839 (FOR_ACTIVE_TERM_INPUTS): New macro.
11840 (FOR_DISABLED_TERM_INPUTS): Likewise.
11841 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11842 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11843 * include/grub/terminfo.h: Add oterm argument to all protypes.
11844 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
11845 Use grub_rescue_run.
11846 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
11847 All users updated.
11848 * kern/reader.c: Removed. All users updated.
11849 * kern/rescue_reader.c (grub_rescue_init): Removed.
11850 (grub_rescue_reader): Likewise.
11851 (grub_register_rescue_reader): Likewise.
11852 (grub_rescue_run): New function based on kern/reader.c.
11853 * kern/term.c: Adapted for multiterm.
11854 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
11855 (grub_is_valid_utf8): Likewise.
11856 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
11857 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
11858 right terminal.
11859 * loader/i386/linux.c (grub_linux_boot): Likewise.
11860 * normal/auth.c (grub_username_get): New function.
11861 (grub_auth_check_authentication): Use grub_username_get.
11862 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
11863 * normal/color.c: Adapt for multiterm.
11864 * normal/main.c (read_config_file): Don't use grub_reader_loop.
11865 (grub_normal_init_page): Additional argument term.
11866 (read_lists): Call read_terminal_lists.
11867 (grub_enter_normal_mode): Call grub_cmdline_run.
11868 Handle grub_normal_exit_level.
11869 (grub_cmd_normal): Make reentrant.
11870 (grub_cmd_normal_exit): New function.
11871 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
11872 * normal/menu.c: Adapt for multiterm.
11873 * normal/menu_entry.c: Likewise.
11874 * normal/menu_text.c: Likewise.
11875 * normal/menu_viewer.c: Removed. All users updated.
11876 * normal/term.c: New file.
11877 * util/console.c: Change order of includes to workaround a bug in
11878 ncurses headers.
11879 * term/terminfo.c: New argument oterm on all exported functions.
11880 All users updated.
11881 * util/grub-editenv.c (grub_term_input_class): Removed.
11882 (grub_term_output_class): Likewise.
11883
11884 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11885
11886 Make loader output a bit more user-friendly.
11887
11888 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
11889 is being loaded. Likewise for the Hurd.
11890
11891 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
11892 that kernel of FreeBSD ${version} is being loaded.
11893
11894 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
11895 grub_dprintf().
11896 (grub_cmd_initrd): Likewise.
11897 * util/grub.d/10_linux.in (linux_entry): Print message indicating
11898 that Linux ${version} is being loaded. Likewise for initrd.
11899
11900 2010-01-09 Carles Pina i Estany <carles@pina.cat>
11901
11902 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
11903
11904 2010-01-08 Carles Pina i Estany <carles@pina.cat>
11905
11906 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
11907 (GRUB_MOD_INIT): Gettextizze.
11908 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
11909 (GRUB_MOD_INIT): Gettextizze.
11910 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
11911 (grub_cmd_linux): Capitalise Linux.
11912 (GRUB_MOD_INIT): Gettextizze.
11913 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
11914 (grub_cmd_linux): Capitalise Linux.
11915 (GRUB_MOD_INIT): Gettextizze.
11916 * loader/i386/linux.c: Include `<grub/i18n.h>'.
11917 (grub_cmd_linux): Capitalise Linux.
11918 (GRUB_MOD_INIT): Gettextizze.
11919 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
11920 (GRUB_MOD_INIT): Gettextizze.
11921 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
11922 (grub_cmd_linux): Capitalise Linux.
11923 (GRUB_MOD_INIT): Gettextizze.
11924 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
11925 (grub_cpu_xnu_init): Gettextizze.
11926 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
11927 (GRUB_MOD_INIT): Gettextizze.
11928 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
11929 (GRUB_MOD_INIT): Gettextizze.
11930 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
11931 (grub_linux_load64): Capitalise Linux.
11932 (GRUB_MOD_INIT): Gettextizze.
11933 * loader/xnu.c: Include `<grub/i18n.h>'.
11934 (GRUB_MOD_INIT): Gettextizze.
11935 * po/POTFILES: Add `loader/efi/appleloader.c',
11936 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
11937 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
11938 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
11939 `loader/i386/xnu.c', `loader/multiboot_loader.c',
11940 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
11941 and `loader/xnu.c'.
11942
11943 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11944
11945 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
11946
11947 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11948
11949 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
11950 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
11951 * util/mkisofs/mkisofs.c (main): Readjust --version output.
11952
11953 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11954
11955 Reset Multiboot 2 support. New loader implements the draft in
11956 /branches/multiboot2 and shares as much code as possible with the
11957 production Multiboot 1 implementation.
11958
11959 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
11960 * loader/multiboot2.c: Likewise.
11961 * loader/i386/multiboot_helper.S: Likewise.
11962 * include/multiboot2.h: Replace with latest version from the draft
11963 in /branches/multiboot2.
11964
11965 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
11966 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
11967 and `loader/multiboot2.c'.
11968 (pkglib_MODULES): Add `multiboot2.mod'.
11969 (multiboot2_mod_SOURCES): New variable.
11970 (multiboot2_mod_LDFLAGS): Likewise.
11971 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
11972
11973 * conf/i386-pc.rmk: Likewise.
11974
11975 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
11976 (multiboot_mod_SOURCES): Remove variable.
11977 (multiboot_mod_LDFLAGS): Likewise.
11978 (multiboot_mod_CFLAGS): Likewise.
11979
11980 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
11981 `<multiboot2.h>' instead of `<multiboot.h>'.
11982 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
11983 (MULTIBOOT_HEADER_MAGIC): New macros.
11984
11985 * loader/multiboot_loader.c (module_version_status): Remove variable.
11986 (find_multi_boot2_header): Remove function.
11987 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
11988 logic. Always check for the Multiboot version we're compiling for.
11989 (grub_cmd_module_loader): Likewise.
11990 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
11991 command instead of `multiboot'.
11992
11993 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11994
11995 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
11996 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
11997 all users.
11998
11999 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12000 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12001
12002 Fix breakage introduced with previous commit.
12003
12004 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
12005 commands.
12006 * normal/handler.c (read_handler_list): Revert part of previous commit
12007 affecting this file.
12008 * normal/main.c (read_lists): Move read_handler_list() call back to ...
12009 (grub_normal_execute): ... here.
12010
12011 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12012
12013 Merge prefix-redefinition-fix branch.
12014
12015 * normal/autofs.c (read_fs_list): Make function capable of being
12016 run multiple times, gracefuly replacing the previous data
12017 structures.
12018 * normal/dyncmd.c (read_command_list): Likewise.
12019 * normal/handler.c (read_handler_list): Likewise.
12020 * normal/main.c (read_lists): New function. Calls all the
12021 list reading functions.
12022 (grub_normal_execute): Use read_lists() instead of calling all
12023 list reading functions explicitly. Register read_lists() as a
12024 variable hook attached to ${prefix}.
12025
12026 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12027
12028 Merge crypto branch.
12029
12030 * Makefile.in (pkglib_DATA): Add crypto.lst.
12031 (crypto.lst): New target.
12032 * commands/hashsum.c: New file.
12033 * commands/password.c (check_password): Use grub_crypto_memcmp.
12034 * commands/password_pbkdf2.c: New file.
12035 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
12036 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
12037 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
12038 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
12039 -I$(srcdir)/lib/libgcrypt_wrap.
12040 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
12041 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
12042 password_pbkdf2.mod.
12043 (crypto_mod_SOURCES): New variable.
12044 (crypto_mod_CFLAGS): Likewise.
12045 (crypto_mod_LDFLAGS): Likewise.
12046 (hashsum_mod_SOURCES): New variable.
12047 (hashsum_mod_CFLAGS): Likewise.
12048 (hashsum_mod_LDFLAGS): Likewise.
12049 (pbkdf2_mod_SOURCES): New variable.
12050 (pbkdf2_mod_CFLAGS): Likewise.
12051 (pbkdf2_mod_LDFLAGS): Likewise.
12052 (password_pbkdf2_mod_SOURCES): New variable.
12053 (password_pbkdf2_mod_CFLAGS): Likewise.
12054 (password_pbkdf2_mod_LDFLAGS): Likewise.
12055 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
12056 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
12057 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
12058 Include conf/gcry.rmk.
12059 * include/grub/auth.h: Rewritten.
12060 * include/grub/crypto.h: New file.
12061 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
12062 * include/grub/normal.h (read_crypto_list): New prototype.
12063 * lib/crypto.c: New file.
12064 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12065 * lib/pbkdf2.c: Likewise.
12066 * normal/auth.c (grub_auth_strcmp): Removed.
12067 (grub_iswordseparator): Likewise.
12068 (grub_auth_strword): Likewise.
12069 (is_authenticated): Use grub_strword.
12070 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
12071 and grub_strword. Pass entered password to authentication callback.
12072 * normal/crypto.c: New file.
12073 * normal/main.c: Call read_crypto_list.
12074 * util/grub-mkpasswd-pbkdf2.c: New file.
12075 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
12076
12077 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 Fix descent and ascent calculation.
12080
12081 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
12082 (options): New option "asce".
12083 (usage): Likewise.
12084 (add_char): Ignore invalid glyphs for descent calculation.
12085 Calculate ascent from actual content.
12086 (print_glyphs): Use 'asce'.
12087 (write_font): Likewise. Allow ascent override.
12088 (main): Handle "asce" option.
12089
12090 2010-01-06 Carles Pina i Estany <carles@pina.cat>
12091
12092 * kern/err.c: Include `<grub/i18n.h>'.
12093 (grub_print_error): Add full stop. Gettextizze.
12094 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
12095 (grub_bsd_load_elf): Capitalise ELF.
12096 (grub_cmd_freebsd_loadenv): Add `s' in error string.
12097 (grub_cmd_freebsd_module): Likewise.
12098 (grub_cmd_freebsd_module_elf): Likewise.
12099 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
12100
12101 2010-01-06 Carles Pina i Estany <carles@pina.cat>
12102
12103 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
12104 * commands/search_file.c (HELP_MESSAGE): New macro.
12105 * commands/search_label.c (HELP_MESSAGE): Likewise.
12106 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
12107 * po/POTFILES: Add `commands/search_file.c',
12108 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
12109 `commands/search.c'.
12110
12111 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12112
12113 * config.rpath: Update from Gnulib.
12114
12115 2010-01-05 Yves Blusseau <blusseau@zetam.org>
12116
12117 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
12118
12119 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
12120
12121 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
12122
12123 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
12124
12125 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
12126 arguments to fread so that we get a return value in bytes, rather
12127 than something that will normally be rounded down to 0.
12128 Adjust error handling to avoid producing garbage when size_t is not
12129 the same size as long long.
12130
12131 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
12132
12133 * util/mkisofs/write.c (padblock_write): Check return value of
12134 fread.
12135
12136 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12137
12138 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
12139 floppy images now.
12140
12141 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
12142
12143 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12144
12145 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
12146 instead of manual alignment.
12147 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
12148 verbose). Avoid attempts to read past end of the device
12149 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
12150 but GRUB_DISK_CACHE_SIZE may exceed that).
12151
12152 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12153
12154 * commands/crc.c (grub_cmd_crc): Abort on read errors.
12155 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
12156 it to upper layer.
12157
12158 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
12161 New constant.
12162 (grub_efi_piwg_device_path): New structure
12163 (grub_efi_piwg_device_path_t): New type.
12164 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
12165 (devpath_1): Transform to a structure. All users updated.
12166 (devpath_2): Likewise.
12167 (devpath_3): Likewise.
12168 (devpath_4): Likewise.
12169 (devpath_5): Likewise.
12170
12171 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 * loader/efi/appleloader.c: Restored. Update all users.
12174
12175 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12176
12177 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
12178
12179 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
12180 (struct boot_blocklist): Move from here ...
12181 * include/grub/i386/pc/boot.h [ASM_FILE]
12182 (struct grub_boot_blocklist): ... to here. Update all users.
12183 (setup): Only initialize `start' member of `first_block'
12184 structure. Add assert() calls to verify the other members.
12185
12186 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
12187 (generate_image): Fix broken blocklist length initialization.
12188 Add assert() call to verify blocklist `segment' field.
12189
12190 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12191
12192 * loader/efi/appleloader.c: Remove. Update all users.
12193
12194 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12195
12196 * boot/i386/pc/boot.S: Update copyright year.
12197 * boot/i386/pc/cdboot.S: Likewise.
12198 * boot/i386/pc/diskboot.S: Likewise.
12199 * boot/i386/pc/lnxboot.S: Likewise.
12200 * boot/i386/pc/pxeboot.S: Likewise.
12201 * bus/pci.c: Likewise.
12202 * commands/cmp.c: Likewise.
12203 * commands/help.c: Likewise.
12204 * commands/hexdump.c: Likewise.
12205 * commands/i386/pc/halt.c: Likewise.
12206 * commands/i386/pc/play.c: Likewise.
12207 * commands/i386/pc/vbeinfo.c: Likewise.
12208 * commands/ls.c: Likewise.
12209 * commands/test.c: Likewise.
12210 * disk/dmraid_nvidia.c: Likewise.
12211 * disk/i386/pc/biosdisk.c: Likewise.
12212 * disk/ieee1275/nand.c: Likewise.
12213 * disk/ieee1275/ofdisk.c: Likewise.
12214 * disk/lvm.c: Likewise.
12215 * disk/raid.c: Likewise.
12216 * disk/raid6_recover.c: Likewise.
12217 * disk/scsi.c: Likewise.
12218 * fs/affs.c: Likewise.
12219 * fs/cpio.c: Likewise.
12220 * fs/ext2.c: Likewise.
12221 * fs/hfs.c: Likewise.
12222 * fs/iso9660.c: Likewise.
12223 * fs/ntfs.c: Likewise.
12224 * fs/sfs.c: Likewise.
12225 * fs/udf.c: Likewise.
12226 * fs/ufs.c: Likewise.
12227 * fs/xfs.c: Likewise.
12228 * gencmdlist.sh: Likewise.
12229 * genmk.rb: Likewise.
12230 * include/grub/disk.h: Likewise.
12231 * include/grub/efi/api.h: Likewise.
12232 * include/grub/efi/efi.h: Likewise.
12233 * include/grub/efi/pe32.h: Likewise.
12234 * include/grub/elf.h: Likewise.
12235 * include/grub/fs.h: Likewise.
12236 * include/grub/i386/at_keyboard.h: Likewise.
12237 * include/grub/i386/pc/memory.h: Likewise.
12238 * include/grub/i386/pc/vbe.h: Likewise.
12239 * include/grub/i386/pci.h: Likewise.
12240 * include/grub/i386/tsc.h: Likewise.
12241 * include/grub/ieee1275/ieee1275.h: Likewise.
12242 * include/grub/ntfs.h: Likewise.
12243 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
12244 * include/grub/sparc64/libgcc.h: Likewise.
12245 * include/grub/symbol.h: Likewise.
12246 * include/grub/types.h: Likewise.
12247 * include/multiboot2.h: Likewise.
12248 * io/gzio.c: Likewise.
12249 * kern/device.c: Likewise.
12250 * kern/disk.c: Likewise.
12251 * kern/efi/efi.c: Likewise.
12252 * kern/efi/mm.c: Likewise.
12253 * kern/elf.c: Likewise.
12254 * kern/file.c: Likewise.
12255 * kern/i386/dl.c: Likewise.
12256 * kern/i386/pc/init.c: Likewise.
12257 * kern/i386/pc/startup.S: Likewise.
12258 * kern/ieee1275/ieee1275.c: Likewise.
12259 * kern/ieee1275/init.c: Likewise.
12260 * kern/main.c: Likewise.
12261 * kern/mm.c: Likewise.
12262 * kern/powerpc/dl.c: Likewise.
12263 * kern/sparc64/dl.c: Likewise.
12264 * kern/x86_64/dl.c: Likewise.
12265 * lib/hexdump.c: Likewise.
12266 * loader/efi/appleloader.c: Likewise.
12267 * loader/i386/ieee1275/linux.c: Likewise.
12268 * loader/i386/pc/chainloader.c: Likewise.
12269 * loader/i386/pc/linux.c: Likewise.
12270 * loader/i386/pc/multiboot2.c: Likewise.
12271 * loader/ieee1275/multiboot2.c: Likewise.
12272 * loader/multiboot2.c: Likewise.
12273 * loader/multiboot_loader.c: Likewise.
12274 * loader/powerpc/ieee1275/linux.c: Likewise.
12275 * normal/completion.c: Likewise.
12276 * normal/menu_entry.c: Likewise.
12277 * partmap/apple.c: Likewise.
12278 * util/grub.d/10_hurd.in: Likewise.
12279 * util/hostfs.c: Likewise.
12280 * video/readers/png.c: Likewise.
12281
12282 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
12283
12284 * include/grub/misc.h (GNUC_PREREQ): New macro.
12285 (ATTRIBUTE_ERROR): New macro.
12286 * include/grub/list.h (grub_bad_type_cast_real): Use
12287 ATTRIBUTE_ERROR.
12288
12289 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12290
12291 * normal/menu_text.c (print_message): Change messages.
12292
12293 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12294
12295 * normal/menu_entry.c (store_completion): Gettextizze.
12296
12297 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12298
12299 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
12300
12301 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12302
12303 * po/POTFILES: Sort correctly.
12304
12305 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12306
12307 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
12308 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
12309 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
12310 full stop.
12311 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
12312 summary. Gettextizze the strings.
12313 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
12314 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
12315 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
12316 full stop.
12317 (GRUB_MOD_INIT): Remove command name from summary.
12318 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
12319 summary.
12320 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
12321 * term/i386/pc/serial.c (options): Add full stops.
12322 (GRUB_MOD_INIT): Remove command name from the summary.
12323
12324 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12325
12326 * commands/acpi.c: Gettextizze help strings and/or options. Include
12327 `grub/i18n.h' if needed.
12328 * commands/blocklist.c: Likewise.
12329 * commands/boot.c: Likewise.
12330 * commands/cat.c: Likewise.
12331 * commands/cmp.c: Likewise.
12332 * commands/configfile.c: Likewise.
12333 * commands/crc.c: Likewise.
12334 * commands/date.c: Likewise.
12335 * commands/echo.c: Likewise.
12336 * commands/efi/fixvideo.c: Likewise.
12337 * commands/efi/loadbios.c: Likewise.
12338 * commands/gptsync.c: Likewise.
12339 * commands/halt.c: Likewise.
12340 * commands/handler.c: Likewise.
12341 * commands/hdparm.c: Likewise.
12342 * commands/hexdump.c: Likewise.
12343 * commands/i386/cpuid.c: Likewise.
12344 * commands/i386/pc/drivemap.c: Likewise.
12345 * commands/i386/pc/halt.c: Likewise.
12346 * commands/i386/pc/pxecmd.c: Likewise.
12347 * commands/i386/pc/vbeinfo.c: Likewise.
12348 * commands/i386/pc/vbetest.c: Likewise.
12349 * commands/ieee1275/suspend.c: Likewise.
12350 * commands/keystatus.c: Likewise.
12351 * commands/loadenv.c: Likewise.
12352 * commands/ls.c: Likewise.
12353 * commands/lsmmap.c: Likewise.
12354 * commands/lspci.c: Likewise.
12355 * commands/memrw.c: Likewise.
12356 * commands/minicmd.c: Likewise.
12357 * commands/parttool.c: Likewise.
12358 * commands/password.c: Likewise.
12359 * commands/probe.c: Likewise.
12360 * commands/read.c: Likewise.
12361 * commands/reboot.c: Likewise.
12362 * commands/search.c: Likewise.
12363 * commands/sleep.c: Likewise.
12364 * commands/test.c: Likewise.
12365 * commands/true.c: Likewise.
12366 * commands/usbtest.c: Likewise.
12367 * commands/videotest.c: Likewise.
12368 * commands/xnu_uuid.c: Likewise.
12369 * disk/loopback.c: Likewise.
12370 * hello/hello.c: Likewise.
12371 * loader/i386/bsd.c: Likewise.
12372 * term/i386/pc/serial.c: Likewise.
12373 * po/POTFILES: Add new files.
12374
12375 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
12376
12377 * term/i386/pc/at_keyboard.c
12378 (keyboard_controller_wait_untill_ready): Rename to ...
12379 (keyboard_controller_wait_until_ready): ... this. Update all users.
12380
12381 2010-01-01 Carles Pina i Estany <carles@pina.cat>
12382
12383 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
12384 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
12385 string using string width.
12386 * normal/menu_text.c (grub_print_message_indented): Use
12387 grub_print_spaces and not print_spaces.
12388 (print_timeout): Likewise.
12389 (print_spaces): Move to...
12390 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
12391
12392 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
12393
12394 Import from Gnulib.
12395
12396 * gnulib/getdelim.c: New file.
12397 * gnulib/getline.c: Likewise.
12398
12399 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
12400
12401 * include/grub/list.h (grub_assert_fail): Removed.
12402 (grub_bad_type_cast_real): New function.
12403 (grub_bad_type_cast): New macro.
12404 (GRUB_AS_LIST): Use grub_bad_type_cast.
12405 (GRUB_AS_LIST_P): Likewise.
12406 (GRUB_AS_NAMED_LIST): Likewise.
12407 (GRUB_AS_NAMED_LIST_P): Likewise.
12408 (GRUB_AS_PRIO_LIST): Likewise.
12409 (GRUB_AS_PRIO_LIST_P): Likewise.
12410 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
12411
12412 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
12413
12414 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
12415 Fix syntax error.
12416
12417 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
12418
12419 * configure.ac: Check for TARGET_CFLAGS initialization before we
12420 initialize it ourselves (sigh).
12421 Move a few modifications to TARGET_CFLAGS to be unconditional
12422 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
12423 eh_frame)
12424
12425 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
12426 * term/i386/pc/at_keyboard.c
12427 (keyboard_controller_wait_untill_ready): Likewise.
12428 (keyboard_controller_led): Rename `led_status' paramter to avoid
12429 name conflict.
12430
12431 2009-12-28 Carles Pina i Estany <carles@pina.cat>
12432
12433 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
12434 quotes.
12435
12436 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
12439
12440 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12441
12442 * normal/menu_text.c (grub_print_message_indented): Prevent
12443 past-the-end-of-array dereference.
12444
12445 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12446
12447 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
12448 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
12449
12450 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12451
12452 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
12453 * normal/main.c (grub_normal_read_line): Remove a space from the
12454 default prompt.
12455
12456 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12457
12458 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
12459 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12460 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12461 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12462 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12463 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12464 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12465
12466 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12467
12468 * video/readers/jpeg.c (cmd): Declare.
12469 (grub_cmd_jpegtest): Use `grub_command_t' type.
12470 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12471 Assign to `cmd'.
12472 (GRUB_MOD_FINI): Use `cmd' to unregister.
12473 * video/readers/png.c (cmd): Declare.
12474 (grub_cmd_pngtest): Use `grub_command_t' type.
12475 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12476 Assign to `cmd'.
12477 (GRUB_MOD_FINI): Use `cmd' to unregister.
12478 * video/readers/tga.c (cmd): Declare.
12479 (grub_cmd_tgatest): Use `grub_command_t' type.
12480 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12481 Assign to `cmd'.
12482 (GRUB_MOD_FINI): Use `cmd' to unregister.
12483
12484 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12485
12486 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
12487 stops.
12488 * kern/corecmd.c (grub_register_core_commands): Likewise.
12489 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
12490 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12491 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
12492 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12493 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12494 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
12495 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12496 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
12497 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12498 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12499 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12500 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12501 * normal/handler.c (insert_handler): Likewise.
12502 * normal/main.c (GRUB_MOD_INIT): Likewise.
12503 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12504
12505 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12506
12507 * commands/help.c (grub_cmd_help): Print the command name before the
12508 summary.
12509 (GRUB_MOD_INIT): Remove command name from the summary.
12510 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
12511 string as summary.
12512 * lib/arg.c (find_long): Print the command name before the summary.
12513 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
12514 summary.
12515 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
12516 * commands/cat.c (GRUB_MOD_INIT): Likewise.
12517 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
12518 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
12519 * commands/crc.c (GRUB_MOD_INIT): Likewise.
12520 * commands/date.c (GRUB_MOD_INIT): Likewise.
12521 * commands/echo.c (GRUB_MOD_INIT): Likewise.
12522 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
12523 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12524 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12525 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
12526 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
12527 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
12528 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
12529 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12530 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
12531 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
12532 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
12533 * commands/ls.c (GRUB_MOD_INIT): Likewise.
12534 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12535 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12536 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12537 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
12538 * commands/password.c (GRUB_MOD_INIT): Likewise.
12539 * commands/probe.c (GRUB_MOD_INIT): Likewise.
12540 * commands/read.c (GRUB_MOD_INIT): Likewise.
12541 * commands/search.c (GRUB_MOD_INIT): Likewise.
12542 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
12543 * commands/test.c (GRUB_MOD_INIT): Likewise.
12544 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
12545 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12546 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12547 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
12548 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12549 * lib/arg.c (GRUB_MOD_INIT): Likewise.
12550 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
12551 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12552 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12553 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12554 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12555 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
12556 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
12557 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
12558
12559 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12560
12561 Use search command for preliminar UUID search.
12562
12563 * commands/search.c: Split into ...
12564 * commands/search_wrap.c: ...this
12565 * commands/search.c: ...and this.
12566 * commands/search_file.c: New file.
12567 * commands/search_label.c: New file.
12568 * commands/search_uuid.c: New file.
12569 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
12570 Add commands/search_wrap.c, commands/search_file.c,
12571 commands/search_label.c and commands/search_uuid.c.
12572 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
12573 (search_mod_SOURCES): Set to commands/search_wrap.c.
12574 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
12575 search_label.mod.
12576 (search_fs_file_mod_SOURCES): New variable.
12577 (search_fs_file_mod_CFLAGS): Likewise.
12578 (search_fs_file_mod_LDFLAGS): Likewise.
12579 (search_label_mod_SOURCES): Likewise.
12580 (search_label_mod_CFLAGS): Likewise.
12581 (search_label_mod_LDFLAGS): Likewise.
12582 (search_fs_uuid_mod_SOURCES): New variable.
12583 (search_fs_uuid_mod_CFLAGS): Likewise.
12584 (search_fs_uuid_mod_LDFLAGS): Likewise.
12585 (fs_file_mod_SOURCES): Removed.
12586 (fs_file_mod_CFLAGS): Likewise.
12587 (fs_file_mod_LDFLAGS): Likewise.
12588 (fs_uuid_mod_SOURCES): Removed.
12589 (fs_uuid_mod_CFLAGS): Likewise.
12590 (fs_uuid_mod_LDFLAGS): Likewise.
12591 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
12592 Set to util/grub-install.in.
12593 * disk/fs_file.c: Removed.
12594 * disk/fs_uuid.c: Likewise.
12595 * include/grub/search.h: New file.
12596 * util/grub-install.in: Handle sparc64.
12597 Create and use load.cfg.
12598 * util/sparc64/ieee1275/grub-install.in: Removed.
12599
12600 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12601
12602 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
12603 Ignore return status if CF is cleared.
12604 (grub_biosdisk_get_diskinfo_standard): Likewise.
12605
12606 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12607
12608 * term/i386/pc/at_keyboard.c
12609 (keyboard_controller_wait_untill_ready): New function.
12610 (grub_keyboard_controller_write, grub_keyboard_controller_read)
12611 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
12612 for keyboard polling, rather than duplicate the same loop. This
12613 saves a few bytes in code size.
12614
12615 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 Support for (pxe[:server[:gateway]]) syntax and
12618 use environment variable for PXE.
12619
12620 * commands/i386/pc/pxecmd.c (options): Removed.
12621 (print_ip): Removed.
12622 (grub_cmd_pxe): Removed
12623 (grub_cmd_pxe_unload): New function.
12624 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
12625 (grub_pxe_your_ip): Made static.
12626 (grub_pxe_default_server_ip): Likewise.
12627 (grub_pxe_default_gateway_ip): Likewise.
12628 (grub_pxe_blksize): Likewise.
12629 (parse_ip): New function.
12630 (grub_pxe_open): Support server and gateway specification.
12631 (grub_pxe_close): Free disk->data.
12632 (grub_pxefs_open): Use disk->data.
12633 (grub_pxefs_read): Likewise.
12634 (grub_env_write_readonly): New function.
12635 (set_mac_env): Likewise.
12636 (set_env_limn_ro): Likewise.
12637 (parse_dhcp_vendor): Likewise.
12638 (grub_pxe_detect): Set the environment variables.
12639 (set_ip_env): New function.
12640 (write_ip_env): Likewise.
12641 (grub_env_write_pxe_default_server): Likewise.
12642 (grub_env_write_pxe_default_gateway): Likewise.
12643 (grub_env_write_pxe_blocksize): Likewise.
12644 (GRUB_MOD_INIT(pxe)): Set environment variables.
12645 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
12646 (grub_pxe_mac_addr_t): ... this. All users updated.
12647 (grub_pxe_your_ip): Removed.
12648 (grub_pxe_server_ip): Likewise.
12649 (grub_pxe_gateway_ip): Likewise.
12650 (grub_pxe_blksize): Likewise.
12651
12652 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12653
12654 * commands/help.c: Include `<grub/i18n.h>'.
12655 (grub_cmd_help): Gettextizze.
12656 (GRUB_MOD_INIT): Likewise.
12657 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
12658 (GRUB_MOD_INIT): Gettextizze.
12659 * commands/search.c: Include `<grub/i18n.h>'.
12660 (options): Gettextizze.
12661 (GRUB_MOD_INIT): Gettextizze.
12662 * lib/arg.c: Include `<grub/i18n.h>'.
12663 (help_options): Gettextizze.
12664 (find_long): Likewise.
12665 (grub_arg_show_help): Likewise.
12666 * normal/dyncmd.c: Include `<grub/i18n.h>'.
12667 (read_command_list): Gettextizze.
12668 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
12669 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
12670
12671 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12672
12673 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
12674 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
12675 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
12676 (led_status): New variable.
12677 (keyboard_controller_led): New function.
12678 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
12679 update led status for caps lock, num lock and scroll lock.
12680
12681 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
12682
12683 * util/hostdisk.c (open_device): Fix a comment.
12684
12685 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12686
12687 * util/grub-install.in (host_os): New variable.
12688 * util/i386/efi/grub-install.in (host_os): Likewise.
12689
12690 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12691
12692 * util/mkisofs/write.c (padblock_write): Abort when given an
12693 excedingly large embed image, instead of silently truncating it.
12694
12695 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12696
12697 * include/multiboot.h: Indentation fixes.
12698
12699 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12700
12701 * include/multiboot.h (struct multiboot_aout_symbol_table)
12702 (struct multiboot_elf_section_header_table): New structure
12703 declarations (stolen from GRUB Legacy).
12704 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
12705 table information.
12706
12707 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
12708 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
12709 type aliases.
12710
12711 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12712
12713 * include/multiboot.h: Make comments src2texi-friendly.
12714
12715 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12716
12717 For consistency with [multiboot]/docs/boot.S.
12718
12719 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
12720 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
12721 (MULTIBOOT_MAGIC2): Rename from this ...
12722 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
12723
12724 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12725
12726 * include/multiboot.h: Remove `<grub/types.h>'.
12727 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
12728 types. Update all users.
12729
12730 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12731
12732 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
12733 `couldn't' and `can not' by `cannot'.
12734 * commands/i386/pc/drivemap.c: Likewise.
12735 * disk/ata.c: Likewise.
12736 * disk/ieee1275/nand.c: Likewise.
12737 * fs/affs.c: Likewise.
12738 * fs/fat.c: Likewise.
12739 * fs/hfs.c: Likewise.
12740 * fs/hfsplus.c: Likewise.
12741 * fs/iso9660.c: Likewise.
12742 * fs/jfs.c: Likewise.
12743 * fs/minix.c: Likewise.
12744 * fs/reiserfs.c: Likewise.
12745 * fs/sfs.c: Likewise.
12746 * fs/udf.c: Likewise.
12747 * fs/ufs.c: Likewise.
12748 * fs/xfs.c: Likewise.
12749 * loader/powerpc/ieee1275/linux.c: Likewise.
12750 * loader/sparc64/ieee1275/linux.c: Likewise.
12751 * util/grub-probe.c: Likewise.
12752 * util/misc.c: Likewise.
12753
12754 2009-12-24 Carles Pina i Estany <carles@pina.cat>
12755
12756 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
12757 grub_errno calls.
12758 * commands/acpi.c: Likewise.
12759 * commands/blocklist.c: Likewise.
12760 * commands/efi/loadbios.c: Likewise.
12761 * commands/i386/pc/drivemap.c: Likewise.
12762 * commands/loadenv.c: Likewise.
12763 * commands/memrw.c: Likewise.
12764 * commands/password.c: Likewise.
12765 * commands/videotest.c: Likewise.
12766 * disk/ata.c: Likewise.
12767 * disk/ata_pthru.c: Likewise.
12768 * disk/dmraid_nvidia.c: Likewise.
12769 * disk/ieee1275/nand.c: Likewise.
12770 * disk/ieee1275/ofdisk.c: Likewise.
12771 * disk/loopback.c: Likewise.
12772 * disk/lvm.c: Likewise.
12773 * disk/mdraid_linux.c: Likewise.
12774 * disk/raid.c: Likewise.
12775 * disk/raid6_recover.c: Likewise.
12776 * disk/scsi.c: Likewise.
12777 * efiemu/main.c: Likewise.
12778 * efiemu/mm.c: Likewise.
12779 * efiemu/pnvram.c: Likewise.
12780 * efiemu/symbols.c: Likewise.
12781 * font/font.c: Likewise.
12782 * fs/cpio.c: Likewise.
12783 * fs/hfsplus.c: Likewise.
12784 * fs/iso9660.c: Likewise.
12785 * fs/jfs.c: Likewise.
12786 * fs/minix.c: Likewise.
12787 * fs/ntfs.c: Likewise.
12788 * fs/ntfscomp.c: Likewise.
12789 * fs/reiserfs.c: Likewise.
12790 * fs/ufs.c: Likewise.
12791 * fs/xfs.c: Likewise.
12792 * gettext/gettext.c: Likewise.
12793 * include/grub/auth.h: Likewise.
12794 * kern/elf.c: Likewise.
12795 * kern/file.c: Likewise.
12796 * kern/ieee1275/init.c: Likewise.
12797 * kern/ieee1275/mmap.c: Likewise.
12798 * kern/ieee1275/openfw.c: Likewise.
12799 * kern/powerpc/dl.c: Likewise.
12800 * kern/sparc64/dl.c: Likewise.
12801 * lib/arg.c: Likewise.
12802 * loader/i386/bsd.c: Likewise.
12803 * loader/i386/bsdXX.c: Likewise.
12804 * loader/i386/efi/linux.c: Likewise.
12805 * loader/i386/efi/xnu.c: Likewise.
12806 * loader/i386/ieee1275/linux.c: Likewise.
12807 * loader/i386/linux.c: Likewise.
12808 * loader/i386/multiboot.c: Likewise.
12809 * loader/i386/pc/linux.c: Likewise.
12810 * loader/i386/pc/multiboot2.c: Likewise.
12811 * loader/i386/xnu.c: Likewise.
12812 * loader/ieee1275/multiboot2.c: Likewise.
12813 * loader/macho.c: Likewise.
12814 * loader/machoXX.c: Likewise.
12815 * loader/multiboot2.c: Likewise.
12816 * loader/multiboot_loader.c: Likewise.
12817 * loader/powerpc/ieee1275/linux.c: Likewise.
12818 * loader/sparc64/ieee1275/linux.c: Likewise.
12819 * loader/xnu.c: Likewise.
12820 * loader/xnu_resume.c: Likewise.
12821 * mmap/i386/pc/mmap.c: Likewise.
12822 * normal/menu_viewer.c: Likewise.
12823 * partmap/acorn.c: Likewise.
12824 * partmap/amiga.c: Likewise.
12825 * partmap/apple.c: Likewise.
12826 * script/lexer.c: Likewise.
12827 * term/gfxterm.c: Likewise.
12828 * term/i386/pc/serial.c: Likewise.
12829 * term/i386/pc/vga.c: Likewise.
12830 * term/ieee1275/ofconsole.c: Likewise.
12831 * term/terminfo.c: Likewise.
12832 * video/bitmap.c: Likewise.
12833 * video/efi_gop.c: Likewise.
12834 * video/efi_uga.c: Likewise.
12835 * video/fb/video_fb.c: Likewise.
12836 * video/i386/pc/vbe.c: Likewise.
12837 * video/readers/tga.c: Likewise.
12838 * video/video.c: Likewise.
12839
12840 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
12841
12842 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
12843 * commands/lspci.c: Likewise.
12844 * commands/probe.c: Likewise.
12845 * commands/xnu_uuid.c: Likewise.
12846 * conf/i386-coreboot.rmk: Likewise.
12847 * conf/i386-efi.rmk: Likewise.
12848 * conf/i386-ieee1275.rmk: Likewise.
12849 * conf/i386-pc.rmk: Likewise.
12850 * conf/powerpc-ieee1275.rmk: Likewise.
12851 * conf/sparc64-ieee1275.rmk: Likewise.
12852 * conf/x86_64-efi.rmk: Likewise.
12853 * fs/i386/pc/pxe.c: Likewise.
12854 * gettext/gettext.c: Likewise.
12855 * include/grub/efi/graphics_output.h: Likewise.
12856 * include/grub/i386/pc/memory.h: Likewise.
12857 * kern/env.c: Likewise.
12858 * kern/i386/qemu/startup.S: Likewise.
12859 * lib/i386/pc/biosnum.c: Likewise.
12860 * lib/i386/relocator.c: Likewise.
12861 * lib/i386/relocator_asm.S: Likewise.
12862 * lib/relocator.c: Likewise.
12863 * loader/i386/bsd.c: Likewise.
12864 * loader/i386/multiboot.c: Likewise.
12865 * loader/i386/pc/chainloader.c: Likewise.
12866 * loader/i386/xnu.c: Likewise.
12867 * loader/xnu.c: Likewise.
12868 * normal/main.c: Likewise.
12869 * normal/menu_text.c: Likewise.
12870 * util/getroot.c: Likewise.
12871 * util/grub-mkconfig_lib.in: Likewise.
12872 * util/grub.d/00_header.in: Likewise.
12873 * util/i386/pc/grub-mkimage.c: Likewise.
12874 * util/mkisofs/eltorito.c: Likewise.
12875 * util/mkisofs/exclude.h: Likewise.
12876 * util/mkisofs/hash.c: Likewise.
12877 * util/mkisofs/iso9660.h: Likewise.
12878 * util/mkisofs/joliet.c: Likewise.
12879 * util/mkisofs/mkisofs.c: Likewise.
12880 * util/mkisofs/mkisofs.h: Likewise.
12881 * util/mkisofs/multi.c: Likewise.
12882 * util/mkisofs/name.c: Likewise.
12883 * util/mkisofs/rock.c: Likewise.
12884 * util/mkisofs/tree.c: Likewise.
12885 * util/mkisofs/write.c: Likewise.
12886 * video/efi_gop.c: Likewise.
12887
12888 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12889
12890 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
12891 size counting.
12892
12893 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12894
12895 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
12896 * genmk.rb (class SCRIPT): Modify the target file instead of source.
12897
12898 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12899
12900 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
12901 (GRUB_MOD_INIT(memrw)): Update help line.
12902
12903 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12904
12905 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
12906 Use grub_extcmd_t. All users updated.
12907 (options): New variable.
12908 (grub_cmd_read): Restructure for readability. Support "-v" option.
12909 (grub_cmd_write): Restructure for readability.
12910
12911 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12912
12913 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
12914
12915 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12916
12917 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
12918 with the actual contents of the correspondending make variable.
12919 * util/grub-mkrescue.in (pkglib_DATA): New variable.
12920 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
12921 specifying `*.lst' and `efiemu??.o'
12922
12923 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12924
12925 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
12926 after function name.
12927 Noticed by Rene Engelhard <rene@debian.org>.
12928
12929 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12930
12931 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
12932 (options): New variable.
12933 (iospace): Likewise.
12934 (grub_lspci_iter): List IO spaces if "-i" was given.
12935 (grub_cmd_lspci): Parse options.
12936 (GRUB_MOD_INIT(lspci)): Use extcmd.
12937 (GRUB_MOD_FINI(lspci)): Likewise.
12938
12939 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12940
12941 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
12942 `function' keyword.
12943 Patch by Tony Mancill <tmancill@debian.org>.
12944
12945 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12946
12947 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
12948 (grub_uhci_portstatus): Likewise.
12949 (grub_uhci_portstatus): Add necessary delay.
12950 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
12951
12952 2009-12-21 Carles Pina i Estany <carles@pina.cat>
12953
12954 * commands/acpi.c (options): Fix capitalizations and/or full stops.
12955 (GRUB_MOD_INIT): Likewise.
12956 * commands/boot.c (GRUB_MOD_INIT): Likewise.
12957 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
12958 * commands/echo.c (options): Fix capitalizations and/or full stops.
12959 * commands/efi/loadbios.c (enable_rom_area): Likewise.
12960 (enable_rom_area): Likewise.
12961 (GRUB_MOD_INIT): Likewise.
12962 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12963 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
12964 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12965 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
12966 * commands/hexdump.c (options): Likewise.
12967 * commands/i386/cpuid.c (options): Likewise.
12968 (GRUB_MOD_INIT): Likewise.
12969 * commands/i386/pc/drivemap.c (options): Likewise.
12970 (GRUB_MOD_INIT): Likewise.
12971 * commands/i386/pc/halt (options): Likewise.
12972 (GRUB_MOD_INIT): Likewise.
12973 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12974 * commands/i386/pc/pxecmd.c (options): Likewise.
12975 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
12976 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
12977 * commands/keystatus.c (options): Likewise.
12978 (GRUB_MOD_INIT): Likewise.
12979 * commands/loadenv.c (options): Likewise.
12980 * commands/ls.c (options): Likewise.
12981 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12982 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12983 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12984 * commands/parttool.c (helpmsg): Likewise.
12985 * commands/probe.c (options): Likewise.
12986 * commands/read.c (GRUB_MOD_INIT): Likewise.
12987 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
12988 * commands/search.c (options): Likewise.
12989 * commands/sleep.c (options): Likewise.
12990 * commands/test.c (GRUB_MOD_INIT): Likewise.
12991 * commands/true.c (GRUB_MOD_INIT): Likewise.
12992 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
12993 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
12994 * lib/arg.c (help_options): Likewise.
12995 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
12996 `$(XGETTEXT)'.
12997 * po/POTFILES: Add `commands/loadenv.c'.
12998
12999 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
13000
13001 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
13002 instead of specifying them explicit.
13003
13004 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13005
13006 * NEWS: Add grub-probe support for GNU/Hurd.
13007
13008 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13009
13010 * NEWS: gettext was added after 1.97.
13011
13012 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13013
13014 * util/mkisofs/msdos_partition.h: New file (based on
13015 include/grub/msdos_partition.h).
13016 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
13017 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
13018 (ld_options, main): Recognize --protective-msdos-label.
13019 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
13020 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
13021 (padblock_write): If `use_protective_msdos_label' is set, patch a
13022 protective DOS-style label in the output image.
13023
13024 * util/grub-mkrescue.in: Use --protective-msdos-label.
13025
13026 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13027
13028 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
13029 boot.
13030
13031 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13032
13033 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
13034 variables.
13035 (ld_options, main): Recognize `--embedded-boot'.
13036 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
13037 declarations.
13038 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
13039 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
13040 (padblock_write): Likewise. Rewrite to support embedded boot image.
13041
13042 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
13043 for BIOS-based disk boot instead of only ElTorito.
13044
13045 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13046
13047 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
13048 build (not needed for bootstrap).
13049
13050 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13051
13052 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
13053 from i386-pc build (not needed for bootstrap).
13054 Rewrite a pair of strings.
13055
13056 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13057
13058 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
13059
13060 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
13063
13064 2009-12-21 Andreas Born <futur.andy@googlemail.com>
13065
13066 * kern/env.c (grub_env_context_open): Mark exported variable for
13067 reexport.
13068
13069 2009-12-21 Andreas Born <futur.andy@googlemail.com>
13070
13071 * kern/env.c (grub_env_export): Create nonexistent variables before
13072 exporting.
13073
13074 2009-12-20 Carles Pina i Estany <carles@pina.cat>
13075
13076 * include/grub/auth.h: Include `<grub/i18n.h>'.
13077 (GRUB_GET_PASSWORD): Gettextizze string.
13078 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
13079 menu_text.c.
13080 (grub_utf8_to_ucs4_alloc): Fix indentation.
13081 (grub_print_ucs4): Likewise.
13082 (grub_getstringwidth): Likewise.
13083 (print_message_indented): New declaration.
13084 * normal/auth.c: Include `<grub/i18n.h>'.
13085 (grub_auth_check_authentication): Gettexttize string.
13086 * normal/cmdline.c: Include `<grub/i18n.h>'.
13087 (grub_cmdline_get): Gettextizze.
13088 * normal/color.c: Include `<grub/i18n.h>'.
13089 (grub_parse_color_name_pair): Gettexttize strings.
13090 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
13091 string (use `print_message_indented').
13092 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
13093 `include/grub/normal.h'.
13094 (print_message_indented): Renamed to ...
13095 (grub_print_message_indented): ... this. Remove `static' qualifer (now
13096 used in normal/main.c).
13097 (print_message): Use `grub_print_message_indented' instead of
13098 `print_message_indented'.
13099 (print_timeout): Likewise.
13100 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
13101 (grub_normal_print_device_info): Gettexttize strings.
13102 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
13103
13104 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
13107 of arguments. Return number of tokens and not arguments. All users
13108 updated.
13109
13110 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
13113 non-MSDOS paritions.
13114
13115 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * include/grub/types.h (UNUSED): Removed since it conflicts with
13118 NetBSD headers. All users changed to direct __attribute__ ((unused)).
13119 Reported by Grégoire Sutre.
13120
13121 2009-12-19 Carles Pina i Estany <carles@pina.cat>
13122
13123 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
13124 (grub_print_ucs4_alloc): Likewise.
13125 (grub_getstringwidth): Likewise.
13126 * normal/main.c (grub_normal_init_page): Gettextize version string.
13127 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
13128 (getstringwidth): Renamed to ...
13129 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
13130 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
13131 (grub_print_ucs4): Remove `static' qualifer (now used in
13132 normal/main.c).
13133 * po/POTFILES: Add normal/main.c.
13134
13135 2009-12-19 Carles Pina i Estany <carles@pina.cat>
13136
13137 * normal/menu_text.c (STANDARD_MARGIN): New macro.
13138 (print_message_indented): Add `margin_left' and `margin_right'
13139 parameters.
13140 (print_message): Update `print_message_indented' calls. Adds '\n' to the
13141 strings.
13142 (print_timeout): Use `print_message_indented' to print the message.
13143 Deletes `second_stage' parameter.
13144 (run_menu): Update `print_timeout' calls.
13145
13146 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13147
13148 Fix console palette on OpenFirmware.
13149
13150 * term/ieee1275/ofconsole.c (MAX): Removed.
13151 (colors): Redone based on VGA palette.
13152 (grub_ofconsole_setcolor): Discard brightness bit since only 8
13153 colors are supported.
13154 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
13155
13156 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13157
13158 Fix potential EfiEmu double prepare.
13159
13160 * efiemu/main.c (prepared): New variable
13161 (grub_efiemu_unload): Set prepare to '0'.
13162 (grub_efiemu_prepare): Return if already prepared. Set prepared.
13163
13164 set_virtual_address_map support.
13165
13166 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
13167 prototype.
13168 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
13169 prototype.
13170 (grub_efiemu_crc32): Likewise.
13171 (grub_efiemu_crc64): Likewise.
13172 (grub_efiemu_set_virtual_address_map): Likewise.
13173 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
13174 New definition.
13175 (grub_autoefi_set_virtual_address_map): Likewise.
13176 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
13177 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
13178 Restructure flow to accomodate it.
13179 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
13180 (grub_efiemu_crc): Recompute CRC32.
13181 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
13182 (efiemu_ptv_relocated): ... this. Made global. All users updated.
13183 * efiemu/symbols.c (relocated_handle): New variable.
13184 (grub_efiemu_free_syms): Free relocated_handle.
13185 (grub_efiemu_alloc_syms): Allocate relocated_handle.
13186 (grub_efiemu_write_sym_markers): New function.
13187 (grub_efiemu_set_virtual_address_map): Likewise.
13188
13189 Newer XNU parameters.
13190
13191 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
13192 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
13193 (grub_xnu_fill_devicetree): New prototype.
13194 (grub_xnu_heap_real_start): New variable.
13195 * loader/xnu.c (get_name_ptr): New function.
13196 (grub_xnu_load_driver): Fill namelen and name.
13197
13198 64-bit xnu support.
13199
13200 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
13201 and 'loader/macho64.c'.
13202 * conf/i386-pc.rmk: Likewise.
13203 * conf/x86_64-efi.rmk: Likewise.
13204 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
13205 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
13206 * include/grub/macho.h (grub_macho_segment64): New structure.
13207 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
13208 (grub_macho_size32): ... to this.
13209 (grub_macho32_get_entry_point): Renamed from ...
13210 (grub_macho_get_entry_point32): ... to this.
13211 (grub_macho_contains_macho64): New prototype.
13212 (grub_macho_size64): Likewise.
13213 (grub_macho_get_entry_point64): Likewise.
13214 (grub_macho32_load): Renamed from ...
13215 (grub_macho_load32): ... to this.
13216 (grub_macho32_filesize): Renamed from ...
13217 (grub_macho_filesize32): ... to this.
13218 (grub_macho32_readfile): Renamed from ...
13219 (grub_macho_readfile32): ... to this.
13220 (grub_macho_filesize64): New prototype.
13221 (grub_macho_readfile64): Likewise.
13222 (grub_macho_parse32): Likewise.
13223 (grub_macho_parse64): Likewise.
13224 * loader/macho.c: Split into ...
13225 * loader/machoXX.c: ... and this. Replace 32 with XX.
13226 * loader/macho32.c: New file.
13227 * loader/macho64.c: Likewise.
13228 * loader/xnu.c (grub_xnu_is_64bit): New variable.
13229 (grub_cmd_xnu_kernel): Make 32-bit only.
13230 (grub_cmd_xnu_kernel64): New function.
13231 (grub_xnu_load_driver): Support Mach-O 64.
13232 (grub_cmd_xnu_mkext): Likewise.
13233 * util/grub.d/30_os-prober.in (osx_entry): New function.
13234 Generate entries for 64-bit boot too.
13235
13236 Eliminate ad-hoc tree format in XNU and EfiEmu.
13237
13238 * efiemu/main.c (grub_efiemu_prepare): Update comment.
13239 * efiemu/pnvram.c: Rewritten to use environment variables.
13240 All users updated.
13241
13242 Inline utf16_to_utf8.
13243
13244 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
13245 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
13246 All users updated.
13247 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
13248
13249 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
13250 * commands/usbtest.c (grub_usb_get_string): ... move here.
13251 (usb_print_str): Fix error handling.
13252 * include/grub/usb.h (grub_usb_get_string): Remove.
13253
13254 UTF-8 to UTF-16 transformation.
13255
13256 * conf/common.rmk (pkglib_MODULES): Add charset.mod
13257 (charset_mod_SOURCES): New variable.
13258 (charset_mod_CFLAGS): Likewise.
13259 (charset_mod_LDFLAGS): Likewise.
13260 * include/grub/utf.h: New file.
13261 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
13262
13263 Support for device properties.
13264
13265 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
13266 (grub_xnu_devprop_device_header): Likewise.
13267 (grub_xnu_devprop_device_descriptor): Likewise.
13268 (grub_xnu_devprop_add_device): New prototype.
13269 (grub_xnu_devprop_remove_device): Likewise.
13270 (grub_xnu_devprop_remove_property): Likewise.
13271 (grub_xnu_devprop_add_property_utf8): Likewise.
13272 (grub_xnu_devprop_add_property_utf16): Likewise.
13273 (grub_cpu_xnu_init): Likewise.
13274 (grub_cpu_xnu_fini): Likewise.
13275 (grub_cpu_xnu_unload): Likewise.
13276 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
13277 (property_descriptor): Likewise.
13278 (devices): New variable.
13279 (grub_xnu_devprop_remove_property): New function.
13280 (grub_xnu_devprop_add_device): Likewise.
13281 (grub_xnu_devprop_remove_device): Likewise.
13282 (grub_xnu_devprop_add_property): Likewise.
13283 (grub_xnu_devprop_add_property_utf8): Likewise.
13284 (grub_xnu_devprop_add_property_utf16): Likewise.
13285 (hextoval): Likewise.
13286 (grub_cpu_xnu_fill_devprop): Likewise.
13287 (grub_cmd_devprop_load): Likewise.
13288 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
13289 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
13290 (cmd_devprop_load): New variable.
13291 (grub_cpu_xnu_init): New function.
13292 (grub_cpu_xnu_fini): Likewise.
13293 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
13294 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
13295 (grub_cmd_xnu_devtree): Likewise.
13296 (hextoval): New function.
13297 (unescape): Likewise.
13298 (grub_xnu_fill_devicetree): Likewise.
13299
13300 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
13301 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
13302
13303 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 Workaround for broken ATI VBE.
13306
13307 * video/i386/pc/vbe.c (last_set_mode): New variable.
13308 (grub_vbe_set_video_mode): Set 'last_set_mode'.
13309 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
13310 (grub_video_vbe_setup): Don't check for reserved flag.
13311
13312 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
13313
13314 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
13315 the `find' command.
13316
13317 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13318
13319 UUID support for HFS.
13320
13321 * fs/hfs.c (grub_hfs_uuid): New function.
13322 (grub_hfs_fs): New value .uuid.
13323 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
13324
13325 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
13326
13327 Fix a segfault with parsing unknown long options.
13328
13329 * util/grub-mkrelpath.c (options): Zero terminate it.
13330
13331 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13332
13333 * include/grub/misc.h (grub_puts): New declaration.
13334 (grub_puts_): Likewise.
13335 * kern/misc.c (grub_puts): New definition.
13336 (grub_puts_): Likewise.
13337
13338 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13339
13340 * util/grub-probe.c (probe): Improve error message.
13341
13342 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13343
13344 * loader/i386/multiboot_elfxx.c
13345 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
13346 initialization.
13347
13348 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 Relocator framework
13351
13352 * loader/i386/xnu_helper.S: Removed. All users updated.
13353 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
13354 (relocator_mod_SOURCES): New variable.
13355 (relocator_mod_CFLAGS): Likewise.
13356 (relocator_mod_LDFLAGS): Likewise.
13357 (relocator_mod_ASFLAGS): Likewise.
13358 * conf/x86_64.rmk: Likewise.
13359 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
13360 (grub_multiboot_payload_entry_offset): Likewise.
13361 (grub_multiboot_forward_relocator): Likewise.
13362 (grub_multiboot_forward_relocator_end): Likewise.
13363 (grub_multiboot_backward_relocator): Likewise.
13364 (grub_multiboot_backward_relocator_end): Likewise.
13365 (grub_multiboot_payload_eip): New variable.
13366 (grub_multiboot_payload_orig): Likewise.
13367 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
13368 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
13369 * include/grub/i386/memory.h
13370 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
13371 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
13372 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
13373 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
13374 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
13375 * include/grub/i386/relocator.h: New file.
13376 * include/grub/x86_64/relocator.h: Likewise.
13377 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
13378 (XNU_RELOCATOR): New macro.
13379 (grub_xnu_launcher_start): Remove.
13380 (grub_xnu_launcher_end): Likewise.
13381 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
13382 (grub_xnu_heap_real_start): Remove.
13383 (grub_xnu_heap_start): Change to void *. All users updated.
13384 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
13385 * lib/i386/relocator.c: New file.
13386 * lib/i386/relocator_asm.S: Likewise.
13387 * lib/i386/relocator_backward.S: Likewise.
13388 * lib/mips/relocator.c: Likewise.
13389 * lib/mips/relocator_asm.S: Likewise.
13390 * lib/relocator.c: Likewise.
13391 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
13392 (entry): Removed.
13393 (playground): Likewise.
13394 (grub_multiboot_payload_orig): New variable.
13395 (grub_multiboot_payload_dest): Likewise.
13396 (grub_multiboot_payload_size): Likewise.
13397 (grub_multiboot_payload_eip): Likewise.
13398 (grub_multiboot_payload_esp): Likewise.
13399 (grub_multiboot_boot): Use grub_relocator32_boot.
13400 (grub_multiboot_unload): Free relocators.
13401 (grub_multiboot): Setup stack. Use relocators.
13402 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
13403 (grub_multiboot_load_elfXX): Use relocators.
13404 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
13405 (grub_multiboot_payload_size): Likewise.
13406 (grub_multiboot_payload_dest): Likewise.
13407 (grub_multiboot_payload_entry_offset): Likewise.
13408 (grub_multiboot_forward_relocator): Likewise.
13409 (grub_multiboot_backward_relocator): Likewise.
13410 (grub_multiboot_real_boot): Likewise.
13411 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
13412 (grub_xnu_entry_point): Likewise.
13413 (grub_xnu_arg1): Likewise.
13414 (grub_xnu_stack): Likewise.
13415 (grub_xnu_launch): Removed.
13416 (grub_xnu_boot_resume): New function.
13417 (grub_xnu_boot): Use relocators.
13418 * loader/i386/xnu_helper.S: Removed.
13419 * loader/xnu.c (grub_xnu_heap_start): New variable.
13420 (grub_xnu_heap_size): Likewise.
13421 (grub_xnu_heap_malloc): Use relocators.
13422 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
13423
13424 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13425
13426 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
13427 anything.
13428
13429 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13430
13431 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
13432 GRUB_ERR_NONE before calling grub_env_set.
13433
13434 2009-12-12 Robert Millan <rmh@aybabtu.com>
13435
13436 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
13437 * genmk.rb (video): New variable.
13438 (CLEANFILES, VIDEOFILES): Add #{video}.
13439 (#{video}): New target rule.
13440 * genvideolist.sh: New file.
13441 * Makefile.in (pkglib_DATA): Add video.lst.
13442 (video.lst): New target rule.
13443 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
13444 `video.lst'.
13445 * util/grub.d/30_os-prober.in: Replace `vbe' with
13446 ${GRUB_VIDEO_BACKEND}.
13447
13448 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
13449
13450 * THANKS: Add David Miller.
13451
13452 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
13453
13454 libpciaccess support.
13455
13456 * Makefile.in (LIBPCIACCESS): New variable.
13457 (enable_grub_emu_pci): Likewise.
13458 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
13459 util/pci.c and commands/lspci.c.
13460 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
13461 * configure.ac (grub-emu-pci): New option.
13462 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
13463 (grub_pci_device_unmap_range): Likewise.
13464 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
13465 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
13466 (grub_pci_address_t) [!GRUB_UTIL]: New type.
13467 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
13468 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
13469 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
13470 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
13471 * include/grub/pciutils.h: New file.
13472 * util/pci.c: Likewise.
13473
13474 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
13475
13476 * util/misc.c: Don't include <errno.h> twice.
13477
13478 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
13479
13480 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
13481 name in an error message.
13482 (grub_biosdisk_rw): Likewise.
13483
13484 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13485
13486 Eliminate NTFS 4Gib barrier.
13487
13488 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
13489 (read_run_data): Likewise.
13490 (grub_ntfs_read_run_list): Likewise.
13491 (grub_ntfs_read_block): Likewise.
13492 (grub_ntfs_iterate_dir): Likewise.
13493 (read_mft): Likewise.
13494 (read_data): Likewise.
13495 Use COM_LOG_LEN.
13496 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
13497 to avoid 64-bit division
13498 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
13499 (grub_ntfs_rlst): Use grub_disk_addr_t.
13500
13501 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13502
13503 Eliminate grub-fstest 4Gib barrier.
13504
13505 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
13506 (read_file): Fix error reporting.
13507
13508 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13509
13510 Eliminate hexdump 4Gib barrier.
13511
13512 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
13513 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
13514
13515 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13516
13517 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
13518 Fixes amarsh bug.
13519
13520 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
13521
13522 Remove miscellaneous files in distclean target.
13523
13524 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
13525
13526 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
13527
13528 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
13529 if they're already set. This resolves the conflict between my
13530 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
13531 fixing the --grub-probe option again.
13532 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
13533 change on 2009-10-06, so that we now once again source
13534 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13535
13536 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
13537
13538 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
13539 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
13540 `util/devicemap.c'.
13541
13542 2009-12-08 Carles Pina i Estany <carles@pina.cat>
13543
13544 * include/grub/misc.h (grub_printf_): New declaration.
13545 * kern/misc.c (grub_printf_): New definition.
13546 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
13547 instead of `grub_printf' and `_'.
13548 * normal/menu_entry.c (store_completion): Likewise.
13549 (run): Likewise.
13550 (grub_menu_entry_run): Likewise.
13551 * normal/menu_text.c (grub_wait_after_message): Likewise.
13552 (notify_booting): Likewise.
13553 (notify_fallback): Likewise.
13554 (notify_execution_failure): Likewise.
13555
13556 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
13557
13558 * configure.ac: Check for vasprintf.
13559 * util/misc.c (asprintf): Move allocation from here ...
13560 (vasprintf): ... to here. New function.
13561 (xasprintf): New function.
13562 * include/grub/util/misc.h (vasprintf, xasprintf): Add
13563 prototypes.
13564 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13565 * util/grub-mkfont.c (write_font): Likewise.
13566 * util/grub-probe.c (probe): Likewise.
13567 * util/hostdisk.c (make_device_name): Likewise.
13568
13569 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
13570
13571 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
13572 anything even prefixed with 'cdrom' as a cdrom.
13573
13574 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
13575
13576 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
13577 mount points.
13578
13579 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13580
13581 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
13582 grub_gettext_msg_list.
13583 (grub_gettext_gettranslation_from_position): Return const char *
13584 and not char *.
13585 (grub_gettext_translate): Add the translated strings into a list,
13586 returns from the list if existing there.
13587 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
13588 (grub_gettext_delete_list): Delete the list.
13589 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
13590 lang environment variable is changed.
13591 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
13592
13593 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13594
13595 Rename kernel.mod to kernel.img.
13596
13597 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
13598 (kernel_mod_EXPORTS): Rename to ...
13599 (kernel_img_EXPORTS): ... this.
13600 (kernel_mod_SOURCES): Rename to ...
13601 (kernel_img_SOURCES): ... this.
13602 (kernel_mod_HEADERS): Rename to ...
13603 (kernel_img_HEADERS): ... this. All users updated.
13604 (kernel_mod_CFLAGS): Rename to ...
13605 (kernel_img_CFLAGS): ... this.
13606 (kernel_mod_ASFLAGS): Rename to ...
13607 (kernel_img_ASFLAGS): ... this.
13608 (kernel_mod_LDFLAGS): Rename to ...
13609 (kernel_img_LDFLAGS): ... this.
13610 * conf/x86_64-efi.rmk: Likewise.
13611 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
13612 (read_kernel_image): ... this. All users updated.
13613 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
13614
13615 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13616
13617 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
13618 (print_spaces): New function.
13619 (grub_print_ucs4): New function.
13620 (getstringwidth): New function.
13621 (print_message_indented): New function.
13622 (print_message): Gettexttize strings using print_message_indented.
13623 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
13624 width.
13625 (get_entry_number): Gettextize and uses dynamic terminal width.
13626 (notify_booting, notify_fallback, notify_execution_failure):
13627 Gettextize.
13628 * normal/menu_entry.c (store_completion): Cleanup the gettextized
13629 string.
13630 (run): Likewise.
13631 (grub_menu_entry_run): Likewise.
13632 * PO/POTFILES: Add normal/menu_entry.c.
13633
13634 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
13637
13638 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13639
13640 * util/grub-install.in: Install gettext .mo files.
13641 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
13642
13643 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13644
13645 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
13646 grub_dprintf.
13647
13648 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
13649
13650 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
13651 non-firmware-dependant one in realmode.S takes precedence.
13652
13653 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
13654
13655 * commands/halt.c: Replace misc arch-specific headers with
13656 `<grub/misc.h>'.
13657 * commands/reboot.c: Likewise.
13658 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
13659 `<grub/misc.h>'.
13660 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
13661 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
13662 (kernel_img_SOURCES): ... to here.
13663
13664 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
13665 * include/grub/i386/pc/init.h: Likewise.
13666 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13667 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13668
13669 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
13670
13671 * include/grub/i386/halt.h: Remove.
13672 * include/grub/i386/reboot.h: Likewise.
13673
13674 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
13675
13676 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
13677
13678 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
13679 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
13680 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
13681 "progname.h"
13682 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13683 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13684 (usage): Add missing comma in printf.
13685
13686 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
13687
13688 Use the same reboot approach on i386 coreboot and qemu as we do on
13689 BIOS.
13690
13691 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
13692 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
13693 * kern/i386/reboot.c: Remove.
13694 * include/grub/i386/reboot.h (grub_reboot): Export function.
13695 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
13696 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
13697 0xf000:0xfff0 instead of 0xffff:0x0000.
13698 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
13699 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
13700
13701 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
13702
13703 Fix $srcdir != $objdir build.
13704
13705 * Makefile.in (po/%.po): Rewrite as ...
13706 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
13707
13708 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
13709
13710 Fix GNU/Hurd grub-install crash.
13711 * util/grub-probe.c (probe): Try to access `path' only when it is not
13712 NULL.
13713
13714 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13715
13716 Correct module naming.
13717
13718 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13719 (GRUB_MOD_INIT(efi_uga)): ... to this
13720 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13721 (GRUB_MOD_FINI(efi_uga)): ... to this
13722 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13723 (GRUB_MOD_INIT(efi_gop)): ... to this
13724 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13725 (GRUB_MOD_FINI(efi_gop)): ... to this
13726
13727 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
13728
13729 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
13730 translatable.
13731 (usage): Translate `arg' strings using gettext().
13732 Thanks to Jordi Mallach for the suggestion.
13733
13734 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13735
13736 GOP support. Based on patch from Bean
13737 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13738
13739 * video/efi_gop.c: New file.
13740 * include/grub/efi/graphics_output.h: Likewise.
13741 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
13742 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13743 variables.
13744 * conf/x86_64-efi.rmk: Likewise.
13745
13746 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 Rename efi_fb to efi_uga.
13749
13750 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13751 'efi_uga.mod'.
13752 (efi_fb_mod_SOURCES): Rename this ...
13753 (efi_uga_mod_SOURCES): ... to this.
13754 (efi_fb_mod_CFLAGS): Rename this ...
13755 (efi_uga_mod_CFLAGS): ... to this.
13756 (efi_fb_mod_LDFLAGS): Rename this ...
13757 (efi_uga_mod_LDFLAGS): ... to this.
13758 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13759 'efi_uga.mod'.
13760 (efi_fb_mod_SOURCES): Rename this ...
13761 (efi_uga_mod_SOURCES): ... to this.
13762 (efi_fb_mod_CFLAGS): Rename this ...
13763 (efi_uga_mod_CFLAGS): ... to this.
13764 (efi_fb_mod_LDFLAGS): Rename this ...
13765 (efi_uga_mod_LDFLAGS): ... to this.
13766 * video/efi_fb.c: Move this ...
13767 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
13768
13769 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13770
13771 * po/README: New file. Explain our PO file workflow.
13772
13773 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13774
13775 * po/ChangeLog: Remove. Move relevant entries back to ...
13776 * ChangeLog: ... here.
13777 * po/ca.po: Remove (now handled by TLP).
13778 * po/id.po: Likewise.
13779 * po/zh_CN.po: Likewise.
13780 * Makefile.in (LINGUAS): Initialize in a way that supports
13781 empty set.
13782
13783 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13784
13785 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
13786 reliing on po/LINGUAS.
13787 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
13788 (po/%.po): ... this.
13789
13790 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13791
13792 * util/i386/efi/grub-mkimage.c: Include "progname.h".
13793 (main): Use `program_name' instead of nonexistent `progname'.
13794
13795 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13796
13797 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13798 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
13799
13800 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13801
13802 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
13803 commit.
13804 * conf/i386-efi.rmk: Likewise.
13805 * conf/i386-ieee1275.rmk: Likewise.
13806 * conf/powerpc-ieee1275.rmk: Likewise.
13807 * conf/sparc64-ieee1275.rmk: Likewise.
13808 * conf/x86_64-efi.rmk: Likewise.
13809
13810 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13811
13812 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
13813
13814 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13815
13816 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
13817
13818 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13819
13820 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
13821 (grub_mkdevicemap_SOURCES): New variable.
13822 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
13823 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
13824 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
13825 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
13826 (grub_mkdevicemap_SOURCES): Remove.
13827 * conf/i386-efi.rmk: Likewise.
13828 * conf/i386-ieee1275.rmk: Likewise.
13829 * conf/i386-pc.rmk: Likewise.
13830 * conf/powerpc-ieee1275.rmk: Likewise.
13831 * conf/sparc64-ieee1275.rmk: Likewise.
13832 * conf/x86_64-efi.rmk: Likewise.
13833 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
13834 (usage): Fix strings to use `program_name'.
13835 (main): Initialize gettext.
13836 * util/grub-editenv.c: Likewise.
13837 * util/grub-emu.c: Likewise.
13838 * util/grub-fstest.c: Likewise.
13839 * util/grub-mkdevicemap.c: Likewise.
13840 * util/grub-mkfont.c: Likewise.
13841 * util/grub-mkrelpath.c: Likewise.
13842 * util/grub-pe2elf.c: Likewise.
13843 * util/grub-probe.c: Likewise.
13844 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13845 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13846 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13847
13848 * util/misc.c: Include `"progname.h"'.
13849 (progname): Remove variable.
13850 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
13851
13852 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
13853
13854 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
13855 printf and print a newline after the menuentry header line.
13856 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13857
13858 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
13859
13860 autoconf >= 2.60 support $(localedir).
13861
13862 * INSTALL: Note that autoconf 2.60 is required.
13863 * configure.ac (AC_PREREQ): Bump to 2.60.
13864 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
13865 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13866
13867 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
13868
13869 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
13870 aclocal is run.
13871
13872 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13873
13874 * normal/main.c (grub_normal_read_line): Fix off-by-one
13875 buffer overflow.
13876
13877 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13878
13879 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
13880 "parser.grub" in grub_command_execute() call.
13881
13882 2009-11-24 Carles Pina i Estany <carles@pina.cat>
13883
13884 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
13885 * conf/i386-efi.rmk: Likewise.
13886 * conf/i386-ieee1275.rmk: Likewise.
13887 * conf/i386-pc.rmk: Likewise.
13888 * conf/powerpc-ieee1275.rmk: Likewise.
13889 * conf/sparc64-ieee1275.rmk: Likewise.
13890 * conf/x86_64-efi.rmk: Likewise.
13891 * gettext/gettex.c: Include <grub/i18n.h>.
13892 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
13893 here ...
13894 * include/grub/i18n.h: ... to here
13895 * include/grub/i18n.h: ... to here.
13896 * kern/misc.c: Include <grub/i18n.h>
13897 (grub_gettext_dummy): Move above user.
13898
13899 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13900
13901 * util/Makefile.in (install-local): Convert a `for' into a normal
13902 shell expansion.
13903
13904 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
13905
13906 * autogen.sh: Add automake call.
13907 * config.guess: Remove.
13908 * config.sub: Likewise.
13909 * install-sh: Likewise.
13910
13911 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13912
13913 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
13914
13915 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13916
13917 * util/Makefile.in (install-local): Convert a make `$(foreach)'
13918 function to a normal shell `for'.
13919
13920 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13921
13922 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13923
13924 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13925
13926 * util/grub-mkrelpath.c: New file.
13927 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
13928 (grub_mkrelpath_SOURCES): New variable.
13929 * include/grub/util/misc.h: New function prototype.
13930 * util/misc.c (make_system_path_relative_to_its_root): New function.
13931
13932 * util/grub-mkconfig_lib.in (bindir): New variable.
13933 (grub_mkrelpath): Likewise.
13934 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
13935
13936 * util/probe.c (probe): Make the file path relative to its root.
13937 Change a info message to use the GRUB path. Enable again the
13938 check if we can read the file with GRUB facilities.
13939
13940 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
13941 to its root.
13942
13943 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13944
13945 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
13946 platform.
13947
13948 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13949
13950 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
13951 strncmp().
13952
13953 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13954
13955 * util/getroot.c (grub_util_is_dmraid): New function.
13956 (grub_util_get_dev_abstraction): Treat dmraid and multipath
13957 devices as normal ones, not as LVM.
13958
13959 2009-11-23 Carles Pina i Estany <carles@pina.cat>
13960
13961 * conf/common.rmk: Add grub-gettext_lib target and updates
13962 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
13963 LDFLAGS.
13964 * gettext/gettext.c: New file. (Reads mo files).
13965 * include/grub/file.h (grub_file_pread): New prototype.
13966 * include/grub/i18n.h (_): New prototype.
13967 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
13968 prototypes.
13969 * kern/misc.c (grub_gettext_dummy): New function.
13970 * normal/menu_text.c: Include <grub/i18n.h>.
13971 * normal/menu_text.c (print_timeout): Gettexttize string.
13972 * normal/menu_text.c (print_message): Gettexttize string.
13973 * po/POTFILES: Add `normal/menu_text.c'.
13974 * po/ca.po: Add new translations.
13975 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
13976 gettext module and defines locale_dir and lang in grub.cfg.
13977 * NEWS: Add gettext support.
13978
13979 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13980
13981 * util/hostdisk.c: Include `<grub/i18n.h>'.
13982 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
13983 (make_device_name): Rewrite using asprintf.
13984 (convert_system_partition_to_system_disk): Replace 0 with NULL.
13985 (find_system_device): If a device is not found, generate one just
13986 by reusing the OS path name.
13987 (read_device_map): Make it permissible for device.map not to exist.
13988
13989 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13990
13991 * script/sh/execute.c: Move from here ...
13992 * script/execute.c: ... to here. Update all users.
13993 * script/sh/function.c: Move from here ...
13994 * script/function.c: ... to here. Update all users.
13995 * script/sh/lexer.c: Move from here ...
13996 * script/lexer.c: ... to here. Update all users.
13997 * script/sh/main.c: Move from here ...
13998 * script/main.c: ... to here. Update all users.
13999 * script/sh/parser.y: Move from here ...
14000 * script/parser.y: ... to here. Update all users.
14001 * script/sh/script.c: Move from here ...
14002 * script/script.c: ... to here. Update all users.
14003
14004 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14005
14006 * configure.ac: Detect all `emu' platforms. Define
14007 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
14008 --enable-grub-emu logic. Disable include/grub/machine
14009 symlink on `emu' platforms.
14010
14011 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
14012 * gensymlist.sh.in: Likewise.
14013
14014 * include/grub/i386/coreboot/machine.h: Remove file.
14015 * include/grub/i386/efi/machine.h: Likewise.
14016 * include/grub/i386/ieee1275/machine.h: Likewise.
14017 * include/grub/i386/pc/machine.h: Likewise.
14018 * include/grub/i386/qemu/machine.h: Likewise.
14019 * include/grub/powerpc/ieee1275/machine.h: Likewise.
14020 * include/grub/sparc64/ieee1275/machine.h: Likewise.
14021 * include/grub/x86_64/efi/machine.h: Likewise.
14022
14023 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
14024 * commands/halt.c: Likewise.
14025 * commands/reboot.c: Likewise.
14026 * include/grub/autoefi.h: Likewise.
14027 * include/grub/i386/at_keyboard.h: Likewise.
14028 * include/grub/i386/kernel.h: Likewise.
14029 * include/grub/i386/loader.h: Likewise.
14030 * include/grub/i386/pc/memory.h: Likewise.
14031 * kern/dl.c: Likewise.
14032 * kern/i386/coreboot/init.c: Likewise.
14033 * loader/i386/bsd.c: Likewise.
14034 * loader/i386/linux.c: Likewise.
14035 * loader/multiboot_loader.c: Likewise.
14036 * term/i386/pc/serial.c: Likewise.
14037 * term/usb_keyboard.c: Likewise.
14038
14039 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
14040 `<grub/machine/machine.h>'
14041 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
14042 * util/misc.c: Remove `<grub/machine/machine.h>' and
14043 `<grub/machine/time.h>'.
14044
14045 * Makefile.in (enable_grub_emu): Remove variable.
14046 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
14047
14048 * conf/any-emu.rmk: New file.
14049 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
14050 (grub_emu_init.c): Move from here ...
14051 * conf/any-emu.rmk: ... to here.
14052
14053 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
14054 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
14055 * conf/any-emu.rmk: ... to here.
14056
14057 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14058
14059 * include/grub/parser.h (grub_parser_register): Document need
14060 of `name' parameter.
14061 * normal/main.c (grub_normal_read_line): Simplify prompt string.
14062 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
14063 "sh" to "grub".
14064
14065 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14066
14067 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
14068 `$(XGETTEXT)'.
14069 * include/grub/i18n.h (N_): New macro.
14070 * util/mkisofs/mkisofs.h: Likewise.
14071 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
14072 around N_().
14073 (usage): Use gettext() to translate help strings when printing them.
14074
14075 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14076
14077 Based on patch from Bean
14078 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
14079
14080 * video/efi_fb.c: New file.
14081 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
14082 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
14083 variables.
14084 * conf/x86_64-efi.rmk: Likewise.
14085
14086 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
14087
14088 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
14089 * util/i386/pc/grub-setup.c: Likewise.
14090
14091 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14092
14093 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
14094 <hurd/fs.h>
14095 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
14096 file_get_storage_info to implement grub_guess_root_device.
14097
14098 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14099
14100 * Makefile.in (target): Use make's builtin $(shell) function
14101 instead of calling directly $(SHELL) to create the locale directories,
14102 inside the $(foreach) function.
14103
14104 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14105
14106 * util/grub-mkrescue.in: Print an error and usage if output option
14107 has not been given.
14108
14109 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14110
14111 Patch from Loïc Minier <loic.minier@ubuntu.com>.
14112 * util/grub.d/30_os-prober.in: Cope with Linux entries where
14113 root and /boot are on different devices.
14114
14115 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14116
14117 Fix build for srcdir != objdir.
14118
14119 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
14120 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
14121 $(srcdir).
14122 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
14123 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
14124 reference for input.
14125
14126 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14127
14128 * util/grub-mkrescue.in: Use source directory direcly (without copiing
14129 or hardlinking it). Remove -J option, Joliet is not compatible with
14130 multiple source directories.
14131
14132 2009-11-21 Carles Pina i Estany <carles@pina.cat>
14133 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14134
14135 * util/grub-mkrescue.in: Recognize `--override-directory' option.
14136 (process_input_dir): New function. Process an arbitrary input
14137 directory.
14138 Misc adjustments to support both "override mode" and system-wide mode.
14139
14140 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
14141
14142 * configure.ac (UNIFONT_BDF): Rename to ...
14143 (FONT_SOURCE): ... this. Update all users.
14144
14145 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
14146
14147 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
14148 to the list of unifont files to look for.
14149
14150 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14151
14152 Patch from Joe Auricchio <jauricchio@gmail.com>
14153 * commands/minicmd.c (grub_mini_cmd_clear): New function.
14154 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
14155 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
14156
14157 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
14158
14159 * Makefile.in (install-local): Add a missing backslash.
14160
14161 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
14162
14163 * include/grub/x86_64/io.h: New file.
14164
14165 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14166
14167 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
14168 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
14169 Include `"progname.h"'.
14170 (main): Initialize gettext.
14171 * util/i386/pc/grub-setup.c: Gettexttize.
14172 * util/i386/pc/grub-mkimage.c: Likewise.
14173
14174 * Makefile.in (po/*.po): Redefine as ...
14175 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
14176
14177 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
14178
14179 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14180
14181 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
14182 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
14183 (program_name): Remove.
14184 (main): Initialize gettext support.
14185 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
14186 Include `<libintl.h>'.
14187 (_): New macro.
14188
14189 * util/mkisofs/eltorito.c: Gettexttize.
14190 * util/mkisofs/joliet.c: Likewise.
14191 * util/mkisofs/mkisofs.c: Likewise.
14192 * util/mkisofs/multi.c: Likewise.
14193 * util/mkisofs/rock.c: Likewise.
14194 * util/mkisofs/tree.c: Likewise.
14195 * util/mkisofs/write.c: Likewise.
14196
14197 * po/POTFILES: Update with new files.
14198
14199 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14200
14201 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
14202 * util/mkisofs/iso9660.h: Likewise.
14203 * util/mkisofs/joliet.c: Likewise.
14204 * util/mkisofs/mkisofs.c: Likewise.
14205 * util/mkisofs/mkisofs.h: Likewise.
14206 * util/mkisofs/rock.c: Likewise.
14207 * util/mkisofs/tree.c: Likewise.
14208 * util/mkisofs/write.c: Likewise.
14209
14210 * util/mkisofs/eltorito.c (rcsid): Remove.
14211 * util/mkisofs/hash.c: Likewise.
14212 * util/mkisofs/joliet.c: Likewise.
14213 * util/mkisofs/name.c: Likewise.
14214 * util/mkisofs/rock.c: Likewise.
14215 * util/mkisofs/tree.c: Likewise.
14216 * util/mkisofs/write.c: Likewise.
14217
14218 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14219
14220 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
14221 instead of static allocation.
14222 * util/mkisofs/match.h: Likewise.
14223
14224 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14225
14226 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
14227 and `util/grub.d/10_linux.in'.
14228 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
14229 translatable Shell files.
14230
14231 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14232
14233 * Makefile.in ($(srcdir)/aclocal.m4): New target.
14234
14235 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14236
14237 * INSTALL: Document Automake is needed for bootstrap.
14238 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
14239 * util/grub.d/10_kfreebsd.in (bindir): New variable.
14240 Add gettext initialization.
14241 (kfreebsd_entry): Make menuentry output translatable.
14242
14243 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14244
14245 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
14246 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
14247 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
14248 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
14249 (LINGUAS): Auto-generate using `po/LINGUAS'.
14250 * po/LINGUAS: New file.
14251
14252 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14253
14254 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
14255 other things).
14256 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
14257 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
14258 bindtextdomain() calls for gettext initialization.
14259
14260 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14261
14262 * gnulib/progname.c: New file (imported from Gnulib).
14263 * gnulib/progname.h: Likewise.
14264 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14265 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
14266 (usage): Replace `progname' with `program_name'.
14267 (main): Use set_program_name() for program name initialization.
14268
14269 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14270
14271 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
14272 from here ...
14273 * Makefile.in (CPPFLAGS): ... to here.
14274
14275 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14276
14277 * aclocal.m4: Move from here ...
14278 * acinclude.m4: ... to here.
14279 * autogen.sh: Add call to `aclocal'.
14280 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
14281
14282 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14283
14284 * Makefile.in (CLEANFILES): Add `po/*.mo'.
14285 (LINGUAS): New variable.
14286 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
14287 (install-local): Install MO files.
14288 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
14289 * include/grub/i18n.h: New file.
14290 * po/POTFILES: New file.
14291 * po/ca.po: New file.
14292 * util/grub.d/10_linux.in (bindir): New variable.
14293 Add gettext initialization.
14294 (linux_entry): Make menuentry output translatable.
14295 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
14296 (usage): Make --help output translatable.
14297 (main): Initialize gettext.
14298
14299 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14300
14301 * import_gcry.py: New file (written by Vladimir with minor
14302 adjustments).
14303 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
14304 ciphers.
14305 * INSTALL: Document that Python is required for bootstrap.
14306
14307 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14308
14309 Import ciphers from libgcrypt 1.4.4.
14310
14311 * lib/libgcrypt/cipher/ChangeLog
14312 * lib/libgcrypt/cipher/ac.c
14313 * lib/libgcrypt/cipher/arcfour.c
14314 * lib/libgcrypt/cipher/bithelp.h
14315 * lib/libgcrypt/cipher/blowfish.c
14316 * lib/libgcrypt/cipher/camellia-glue.c
14317 * lib/libgcrypt/cipher/camellia.c
14318 * lib/libgcrypt/cipher/camellia.h
14319 * lib/libgcrypt/cipher/cast5.c
14320 * lib/libgcrypt/cipher/cipher.c
14321 * lib/libgcrypt/cipher/crc.c
14322 * lib/libgcrypt/cipher/des.c
14323 * lib/libgcrypt/cipher/dsa.c
14324 * lib/libgcrypt/cipher/ecc.c
14325 * lib/libgcrypt/cipher/elgamal.c
14326 * lib/libgcrypt/cipher/hash-common.c
14327 * lib/libgcrypt/cipher/hash-common.h
14328 * lib/libgcrypt/cipher/hmac-tests.c
14329 * lib/libgcrypt/cipher/md.c
14330 * lib/libgcrypt/cipher/md4.c
14331 * lib/libgcrypt/cipher/md5.c
14332 * lib/libgcrypt/cipher/primegen.c
14333 * lib/libgcrypt/cipher/pubkey.c
14334 * lib/libgcrypt/cipher/rfc2268.c
14335 * lib/libgcrypt/cipher/rijndael-tables.h
14336 * lib/libgcrypt/cipher/rijndael.c
14337 * lib/libgcrypt/cipher/rmd.h
14338 * lib/libgcrypt/cipher/rmd160.c
14339 * lib/libgcrypt/cipher/rsa.c
14340 * lib/libgcrypt/cipher/seed.c
14341 * lib/libgcrypt/cipher/serpent.c
14342 * lib/libgcrypt/cipher/sha1.c
14343 * lib/libgcrypt/cipher/sha256.c
14344 * lib/libgcrypt/cipher/sha512.c
14345 * lib/libgcrypt/cipher/tiger.c
14346 * lib/libgcrypt/cipher/twofish.c
14347 * lib/libgcrypt/cipher/whirlpool.c
14348
14349 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14350
14351 Fix build for systems without error().
14352
14353 * gnulib/error.c: New file (imported from Gnulib).
14354 * gnulib/error.h: Likewise.
14355 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
14356 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
14357 (this variable is now used by error()).
14358
14359 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14360
14361 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
14362 instead of relying that char is signed.
14363
14364 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
14367 blocksize different from specified.
14368 (grub_pxefs_read): Likewise.
14369
14370 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14371
14372 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
14373
14374 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
14375 (grub_ata_readwrite): Likewise. Update 2 format strings.
14376 (grub_atapi_read): Likewise.
14377
14378 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
14379 * conf/i386.rmk (pkglib_MODULES): ... to here ...
14380 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
14381 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
14382 (ata_mod_LDFLAGS): Move from here ...
14383 * conf/i386.rmk: ... to here ...
14384 * conf/x86_64-efi.rmk: ... and here.
14385 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
14386 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
14387
14388 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14389
14390 Relicense multiboot.h, with RMS' blessing.
14391
14392 * include/multiboot.h: Change to X11 license.
14393
14394 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
14395
14396 Support --version in grub-mkisofs.
14397
14398 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
14399 (OPTION_VERSION): New macro.
14400 (ld_options): Recognize --version.
14401 (usage): Move `program_name' from here ...
14402 (program_name): ... to here. Add `static' qualifier.
14403 (main): Recognize `OPTION_VERSION'.
14404
14405 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
14406
14407 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
14408 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
14409
14410 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14411
14412 Fix help2man generation for mkisofs.
14413
14414 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
14415 (usage): Send output to stdout (rather than stderr).
14416
14417 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14418
14419 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
14420 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14421 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
14422 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14423 (bin_SCRIPTS): Add `grub-mkfloppy'.
14424 (grub_mkfloppy_SOURCES): New variable.
14425
14426 * util/grub-mkrescue.in: New file.
14427 * util/i386/pc/grub-mkfloppy.in: New file.
14428
14429 * util/i386/coreboot/grub-mkrescue.in: Remove.
14430 * util/i386/pc/grub-mkrescue.in: Remove.
14431
14432 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14433
14434 * include/grub/multiboot.h (struct grub_multiboot_header): Move
14435 from here ...
14436 * include/multiboot.h (struct multiboot_header): ... to here. Update
14437 all users.
14438 * include/grub/multiboot.h (struct grub_multiboot_info): Move
14439 from here ...
14440 * include/multiboot.h (struct multiboot_info): ... to here. Update
14441 all users.
14442 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
14443 from here ...
14444 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
14445 Update all users.
14446 * include/grub/multiboot.h (struct grub_mod_list): Move
14447 from here ...
14448 * include/multiboot.h (struct multiboot_mod_list): ... to here.
14449 Update all users.
14450
14451 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14452
14453 * include/multiboot2.h (multiboot_word): Rename from this ...
14454 (multiboot2_word): ... to this. Update all users.
14455 (multiboot_header): Rename from this ...
14456 (multiboot2_header): ... to this. Update all users.
14457 (multiboot_tag_header): Rename from this ...
14458 (multiboot2_tag_header): ... to this. Update all users.
14459 (multiboot_tag_start): Rename from this ...
14460 (multiboot2_tag_start): ... to this. Update all users.
14461 (multiboot_tag_name): Rename from this ...
14462 (multiboot2_tag_name): ... to this. Update all users.
14463 (multiboot_tag_module): Rename from this ...
14464 (multiboot2_tag_module): ... to this. Update all users.
14465 (multiboot_tag_memory): Rename from this ...
14466 (multiboot2_tag_memory): ... to this. Update all users.
14467 (multiboot_tag_unused): Rename from this ...
14468 (multiboot2_tag_unused): ... to this. Update all users.
14469 (multiboot_tag_end): Rename from this ...
14470 (multiboot2_tag_end): ... to this. Update all users.
14471
14472 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14473
14474 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
14475 this platform we should support Multiboot1 first.
14476
14477 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14478 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
14479 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
14480
14481 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14482
14483 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
14484 of write calls (converting them to fwrite() if they aren't already).
14485 (get_torito_desc): Likewise.
14486 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
14487
14488 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14489
14490 * util/i386/pc/grub-install.in: Move from here ...
14491 * util/grub-install.in: ... to here. Update all users.
14492
14493 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
14494
14495 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
14496
14497 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14498
14499 Support for El Torito without floppy emulation.
14500
14501 * util/mkisofs/eltorito.c: Include `<errno.h>'.
14502 (init_boot_catalog): Improve error handling.
14503 (get_torito_desc): Don't use floppy emulation unless requested by
14504 user. Patch boot information table when requested via
14505 `-boot-info-table'.
14506 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
14507 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
14508 (use_boot_info_table): New variables.
14509 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
14510 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
14511 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
14512 `--eltorito-emul-floppy'.
14513 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
14514 and `OPTION_ELTORITO_EMUL_FLOPPY'.
14515 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
14516 (use_boot_info_table, get_731): New prototypes.
14517 * util/mkisofs/write.c (get_731): New function.
14518
14519 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
14520
14521 Fix the generation of the man page.
14522
14523 * util/pc/i386/grub-install.in: Source
14524 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14525
14526 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14527
14528 Large file support for grub-mkisofs.
14529
14530 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
14531 * util/mkisofs/mkisofs.c (next_extent, last_extent)
14532 (session_start): Upgrade type to `uint64_t'. Update all users.
14533 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
14534 (struct directory_entry): Upgrade type of `starting_block' and
14535 `size' to `uint64_t'. Update all users.
14536 (struct deferred): Remove unused structure.
14537 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
14538 Update all users.
14539 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
14540 file is larger than `UINT32_MAX'.
14541 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
14542 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
14543 return value.
14544 (struct deferred_write): Upgrade type of `extent' and `size' to
14545 `uint64_t'. Update all users.
14546 (last_extent_written): Upgrade type to `uint64_t'. Update all
14547 users.
14548 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
14549 Update all users. Upgrade type of `remain' to `int64_t' and
14550 `use' to `size_t'. Use error() to handle fread() errors.
14551 (write_files): Rely on write_one_file() rather than calling
14552 xfwrite() directly.
14553
14554 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
14555
14556 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
14557
14558 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14559
14560 * util/mkisofs/fnmatch.c: Remove.
14561 * util/mkisofs/getopt1.c: Likewise.
14562 * util/mkisofs/getopt.c: Likewise.
14563 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
14564 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
14565 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
14566 `gnulib/getopt1.c' and `gnulib/getopt.c'.
14567 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
14568
14569 * configure.ac: Detect `mingw32msvc' host_os.
14570 Check for lstat(), getuid() and getgid().
14571
14572 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
14573 instances of `u_char' with `uint8_t'.
14574
14575 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
14576 [!HAVE_GETUID] (getuid): New function (stub).
14577 [!HAVE_GETGID] (getgid): Likewise.
14578 [!HAVE_LSTAT] (lstat): Likewise.
14579 [!S_IROTH] (S_IROTH): New macro (dummy).
14580 [!S_IRGRP] (S_IRGRP): Likewise.
14581
14582 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14583
14584 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
14585 conditional expression).
14586
14587 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14588
14589 Import from Gnulib.
14590
14591 * gnulib/fnmatch.c: New file.
14592 * gnulib/fnmatch.h: Likewise.
14593 * gnulib/fnmatch_loop.c: Likewise.
14594 * gnulib/getopt.c: Likewise.
14595 * gnulib/getopt.h: Likewise.
14596 * gnulib/getopt1.c: Likewise.
14597 * gnulib/getopt_int.h: Likewise.
14598 * gnulib/gettext.h: Likewise.
14599
14600 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14601
14602 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
14603 * normal/handler.c (read_handler_list): Likewise.
14604
14605 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14606
14607 Misc cleanup.
14608
14609 * kern/command.c (grub_register_command_prio): Use
14610 grub_zalloc() instead of explicitly zeroing data.
14611 * kern/list.c: Include `<grub/mm.h>'.
14612 (grub_named_list_find): Replace `0' with `NULL'.
14613 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
14614 (fs_module_list): Change type to `grub_named_list_t'. Update all
14615 users.
14616 * normal/dyncmd.c (read_command_list): Add space between function
14617 call and parenthesis.
14618 * normal/handler.c (read_handler_list): Likewise.
14619
14620 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14621
14622 * normal/auth.c (punishment_delay): Moved from here ...
14623 (grub_auth_strcmp): ... to here (inside function).
14624
14625 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14626
14627 * include/grub/list.h (struct grub_named_list): Remove `const'
14628 qualifier from `name'.
14629 (struct grub_prio_list): Likewise.
14630
14631 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14632
14633 * normal/auth.c: Include `<grub/time.h>'.
14634 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
14635
14636 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14637
14638 * normal/auth.c (punishment_delay): New variable.
14639 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
14640 (grub_auth_check_authentication): Punish failed login attempts with
14641 an incremental (2^N) delay.
14642
14643 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14644
14645 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
14646 path with $(srcdir).
14647
14648 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14649
14650 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
14651
14652 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14653
14654 * util/i386/coreboot/grub-mkrescue.in: New file.
14655 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
14656 variables.
14657
14658 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
14659 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
14660 * configure.ac: Add header and function checks to satisfy grub-mkisofs
14661 requirements.
14662 * util/mkisofs/defaults.h: New file.
14663 * util/mkisofs/eltorito.c: Likewise.
14664 * util/mkisofs/exclude.h: Likewise.
14665 * util/mkisofs/fnmatch.c: Likewise.
14666 * util/mkisofs/getopt.c: Likewise.
14667 * util/mkisofs/getopt1.c: Likewise.
14668 * util/mkisofs/hash.c: Likewise.
14669 * util/mkisofs/include/fctldefs.h: Likewise.
14670 * util/mkisofs/include/mconfig.h: Likewise.
14671 * util/mkisofs/include/prototyp.h: Likewise.
14672 * util/mkisofs/include/statdefs.h: Likewise.
14673 * util/mkisofs/iso9660.h: Likewise.
14674 * util/mkisofs/joliet.c: Likewise.
14675 * util/mkisofs/match.c: Likewise.
14676 * util/mkisofs/match.h: Likewise.
14677 * util/mkisofs/mkisofs.c: Likewise.
14678 * util/mkisofs/mkisofs.h: Likewise.
14679 * util/mkisofs/multi.c: Likewise.
14680 * util/mkisofs/name.c: Likewise.
14681 * util/mkisofs/rock.c: Likewise.
14682 * util/mkisofs/tree.c: Likewise.
14683 * util/mkisofs/write.c: Likewise.
14684
14685 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
14688 being insecure.
14689
14690 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14691
14692 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
14693 `grub-mkimage' (and use $0 when possible).
14694
14695 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14696
14697 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
14698 error message for excessively large memory map.
14699
14700 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14701
14702 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
14703 executable bit.
14704
14705 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14706
14707 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
14708 message for coreboot users.
14709
14710 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
14711
14712 Fix build with GNU gold.
14713
14714 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
14715 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
14716 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
14717 link addresses.
14718 * aclocal.m4: Likewise.
14719
14720 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
14721
14722 * configure.ac (AC_PREREQ): Bump to 2.59d.
14723 * INSTALL: Make it more clear when Autoconf and Ruby are
14724 needed and when to run `./autogen.sh'.
14725
14726 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
14727
14728 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
14729 OSes.
14730
14731 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14732
14733 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
14734
14735 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14736
14737 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
14738 giving it to GNU Mach.
14739
14740 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14741
14742 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
14743 GNU partition number to get internal GRUB partition number.
14744
14745 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14746
14747 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
14748 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
14749
14750 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
14751
14752 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
14753 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
14754 case.
14755
14756 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
14757
14758 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
14759
14760 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14761
14762 Fix build problem.
14763
14764 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
14765 `-isystem=$(srcdir)/include'.
14766
14767 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14768
14769 * util/i386/pc/grub-install.in: Remove hint that device.map should be
14770 checked (grub-install doesn't currently rely on it).
14771
14772 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
14773
14774 Revert SVN r2660.
14775
14776 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
14777 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14778 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
14779 * conf/i386-ieee1275.rmk: Likewise.
14780 * conf/i386-pc.rmk: Likewise.
14781 * conf/powerpc-ieee1275.rmk: Likewise.
14782 * conf/sparc64-ieee1275.rmk: Likewise.
14783 * conf/x86_64-efi.rmk: Likewise.
14784
14785 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14786
14787 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
14788
14789 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14790
14791 * include/grub/misc.h: Stop checking for APPLE_CC.
14792
14793 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14794
14795 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
14796 doesn't cause an infinite call loop.
14797
14798 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
14799
14800 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
14801 strings.
14802
14803 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14804
14805 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
14806 variable.
14807 * Makefile.in: Likewise.
14808
14809 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14810
14811 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
14812
14813 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14814
14815 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
14816
14817 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14818
14819 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
14820
14821 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14822
14823 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
14824 from here ...
14825 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
14826
14827 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14828
14829 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
14830 in $(MAKEINFO) invocation. This makes it clear in output that
14831 errors are being ignored.
14832
14833 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14834
14835 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
14836 from here ...
14837 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14838 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
14839 * conf/i386-ieee1275.rmk: Likewise.
14840 * conf/i386-pc.rmk: Likewise.
14841 * conf/powerpc-ieee1275.rmk: Likewise.
14842 * conf/sparc64-ieee1275.rmk: Likewise.
14843 * conf/x86_64-efi.rmk: Likewise.
14844
14845 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
14846
14847 * util/grub-editenv.c (main): If only a command is given, use
14848 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
14849 (usage): FILENAME is now optional and has a default.
14850
14851 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
14852
14853 Improve grub-mkconfig performance when there are several menu
14854 entries on a single filesystem.
14855
14856 * util/grub.d/10_linux.in (linux_entry): Cache the output of
14857 prepare_grub_to_access_device.
14858 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14859 * util/grub.d/30_os-prober.in: Likewise.
14860
14861 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14862
14863 * util/grub.d/10_freebsd.in: Remove.
14864 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
14865 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
14866
14867 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14868
14869 * docs/grub.cfg: Fix example usage of *BSD loaders.
14870
14871 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14872
14873 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
14874 grub_util_error() call.
14875
14876 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14877
14878 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
14879 `reserved_first_sector' member.
14880 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
14881 `reserved_first_sector' to 1.
14882 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
14883 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
14884 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
14885 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
14886 filesystems which begin at first sector.
14887 (options): New option --skip-fs-probe.
14888 (main): Handle --skip-fs-probe and pass it to setup().
14889
14890 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14891
14892 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
14893 (memset): Fix function prototype.
14894
14895 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14896 2009-10-25 Vasily Averin <vvs@parallels.com>
14897
14898 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
14899 `dirent.direntlen == 0'.
14900
14901 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14902
14903 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
14904 `cpio'.
14905 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
14906
14907 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14908
14909 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
14910 `__trampoline_setup' and `__ucmpdi2'.
14911 * include/grub/powerpc/libgcc.h: Only export symbols for functions
14912 that libgcc provides.
14913
14914 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14915
14916 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
14917 * include/grub/sparc64/libgcc.h (memset): Likewise.
14918 * include/grub/misc.h (memset, memcmp): New function prototypes.
14919
14920 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14921
14922 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
14923 `cpio'.
14924 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
14925
14926 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14927
14928 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
14929 * docs/grub.cfg: Compensate for recent change in multiboot
14930 loader (since 2009-08-14 it won't pass filename to payload).
14931 * util/grub.d/10_hurd.in: Likewise.
14932
14933 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
14934
14935 * config.guess: Update to latest version from config git
14936 repository.
14937 * config.sub: Likewise.
14938
14939 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
14940
14941 Fix build on sparc64.
14942
14943 * configure.ac: Perform checks for libgcc symbols before
14944 adding `-nostdlib' to LDFLAGS.
14945
14946 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14947
14948 Let user specify OpenBSD root device.
14949
14950 * loader/i386/bsd.c (openbsd_root): New variable.
14951 (openbsd_opts): New option 'root'.
14952 (OPENBSD_ROOT_ARG): New macro.
14953 (grub_openbsd_boot): Use 'openbsd_root'.
14954 (grub_cmd_openbsd): Fill 'openbsd_root'.
14955
14956 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14957
14958 * NEWS: Misc adjustments.
14959
14960 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14961
14962 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
14963
14964 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14965
14966 * configure.ac: Bump version to 1.97.
14967
14968 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
14969
14970 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
14971 -mno-3dnow on x86 architectures. Some toolchains enable these
14972 features by default, but they rely on registers that aren't enabled
14973 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
14974
14975 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
14976
14977 Make entry text a bit more readable.
14978
14979 * util/grub.d/10_linux.in: Add `with' before `Linux'.
14980
14981 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14982
14983 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
14984
14985 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14986
14987 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
14988 operations.
14989
14990 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14991
14992 * configure.ac: Add missing dollar.
14993
14994 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14995
14996 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
14997
14998 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
14999 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
15000 exports.
15001 * include/grub/sparc64/libgcc.h: Likewise. Use
15002 preprocessor conditionals.
15003
15004 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15005
15006 * conf/common.rmk (grub-dumpbios): Remove rule.
15007 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
15008 * util/grub-dumpbios.in: Remove file.
15009
15010 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15011
15012 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
15013 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
15014
15015 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
15016 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
15017 users.
15018
15019 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
15020 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
15021 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
15022 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
15023 users.
15024
15025 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
15026
15027 * term/tparm.c: Switch to GPLv3.
15028
15029 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15030
15031 * include/grub/i386/cpuid.h: Add header protection.
15032
15033 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15034
15035 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
15036
15037 * include/grub/i386/cpuid.h: New file.
15038 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
15039 (has_longmode): Rename to ...
15040 (grub_cpuid_has_longmode): ... this. Update all users. Remove
15041 `static' attribute.
15042 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
15043 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
15044 on a CPU that doesn't implement AMD64 instruction set.
15045
15046 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15047
15048 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
15049 that version.texi is rebuilt on version number changes.
15050
15051 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15052
15053 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
15054 Fixes bug #27602.
15055
15056 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15057
15058 * util/i386/pc/grub-install.in: Source
15059 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
15060 that the --grub-probe option will work.
15061 * util/sparc64/ieee1275/grub-install.in: Likewise.
15062
15063 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
15064
15065 * configure.ac: Bump version to 1.97~beta4.
15066
15067 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
15068
15069 Resync grub-mkdevicemap in x86_64-efi.
15070
15071 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
15072 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
15073 `util/devicemap.c'.
15074
15075 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
15076
15077 * util/grub-editenv.c (create_envblk_file): Write new block with a
15078 .new suffix and then rename it into place, to ensure atomic
15079 creation.
15080
15081 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
15082
15083 Do not automatically install headers.
15084
15085 * Makefile.in (include_DATA): Remove. Update all users.
15086
15087 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
15088
15089 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
15090 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
15091
15092 * util/osdetect.lua: Remove.
15093 * script/lua/lauxlib.c: Likewise.
15094 * script/lua/ldebug.c: Likewise.
15095 * script/lua/grub_main.c: Likewise.
15096 * script/lua/lauxlib.h: Likewise.
15097 * script/lua/ldebug.h: Likewise.
15098 * script/lua/ltablib.c: Likewise.
15099 * script/lua/liolib.c: Likewise.
15100 * script/lua/lstrlib.c: Likewise.
15101 * script/lua/lualib.h: Likewise.
15102 * script/lua/ldo.c: Likewise.
15103 * script/lua/ldump.c: Likewise.
15104 * script/lua/ldo.h: Likewise.
15105 * script/lua/loslib.c: Likewise.
15106 * script/lua/lundump.c: Likewise.
15107 * script/lua/grub_lib.c: Likewise.
15108 * script/lua/ldblib.c: Likewise.
15109 * script/lua/lundump.h: Likewise.
15110 * script/lua/lmem.c: Likewise.
15111 * script/lua/grub_lib.h: Likewise.
15112 * script/lua/lmathlib.c: Likewise.
15113 * script/lua/lstate.c: Likewise.
15114 * script/lua/ltm.c: Likewise.
15115 * script/lua/lvm.c: Likewise.
15116 * script/lua/lmem.h: Likewise.
15117 * script/lua/lstate.h: Likewise.
15118 * script/lua/ltm.h: Likewise.
15119 * script/lua/ltable.c: Likewise.
15120 * script/lua/lvm.h: Likewise.
15121 * script/lua/llex.c: Likewise.
15122 * script/lua/lgc.c: Likewise.
15123 * script/lua/grub_lua.h: Likewise.
15124 * script/lua/loadlib.c: Likewise.
15125 * script/lua/lfunc.c: Likewise.
15126 * script/lua/lopcodes.c: Likewise.
15127 * script/lua/lparser.c: Likewise.
15128 * script/lua/ltable.h: Likewise.
15129 * script/lua/llex.h: Likewise.
15130 * script/lua/lgc.h: Likewise.
15131 * script/lua/lfunc.h: Likewise.
15132 * script/lua/lbaselib.c: Likewise.
15133 * script/lua/lopcodes.h: Likewise.
15134 * script/lua/lparser.h: Likewise.
15135 * script/lua/lzio.c: Likewise.
15136 * script/lua/linit.c: Likewise.
15137 * script/lua/lobject.c: Likewise.
15138 * script/lua/llimits.h: Likewise.
15139 * script/lua/lstring.c: Likewise.
15140 * script/lua/lzio.h: Likewise.
15141 * script/lua/lapi.c: Likewise.
15142 * script/lua/lcode.c: Likewise.
15143 * script/lua/lua.h: Likewise.
15144 * script/lua/lobject.h: Likewise.
15145 * script/lua/lstring.h: Likewise.
15146 * script/lua/lapi.h: Likewise.
15147 * script/lua/lcode.h: Likewise.
15148 * script/lua/luaconf.h: Likewise.
15149
15150 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
15151
15152 * docs/grub.texi (Command-line and menu entry commands): Document
15153 date and echo commands.
15154
15155 2009-09-24 Pavel Roskin <proski@gnu.org>
15156
15157 * include/grub/kernel.h (struct grub_module_header): Remove
15158 `grub_module_header_types'. Make `type' unsigned. Make `size'
15159 32-bit on all platforms.
15160 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
15161 8-bit field. Use grub_host_to_target32() for `size'.
15162 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
15163 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
15164 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
15165
15166 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15167
15168 Fix "lost keypress" bug in at_keyboard.
15169
15170 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
15171 Checks for readyness of input buffer (without flushing it).
15172 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
15173 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
15174
15175 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15176
15177 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
15178 size check within GRUB_MACHINE_PCBIOS section.
15179
15180 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15181
15182 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
15183 return value.
15184 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
15185 KEYBOARD_ISREADY check.
15186 (grub_at_keyboard_checkkey): Rename to ...
15187 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
15188 Remove gratuitous cast.
15189
15190 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
15191
15192 * configure.ac: Call AC_PROG_MKDIR_P.
15193 * Makefile.in (docs/stamp-vti): Create docs directory. Create
15194 version.texi in $(builddir) rather than $(srcdir).
15195 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
15196 to makeinfo's @include search path.
15197
15198 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
15199
15200 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
15201
15202 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
15203
15204 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
15205 for `*.dpkg-new'.
15206
15207 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
15208
15209 Build info documentation. Some code borrowed from Automake.
15210
15211 * configure.ac: Check for makeinfo.
15212 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
15213 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
15214 docs/version.texi.
15215 (MOSTLYCLEANFILES): Add vti.tmp.
15216 (docs/version.texi, docs/stamp-vti): Update automatically.
15217 (docs/grub.info): Build info documentation. Use --force and ignore
15218 errors for now.
15219 (all-local): Add $(INFOS).
15220 (install-local): Install info files.
15221 (uninstall): Uninstall info files.
15222 * docs/version.texi: Remove from revision control. This file is
15223 automatically generated on build now.
15224 * gendistlist.sh: Add `*.info'.
15225
15226 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
15227
15228 * kern/term.c: Fix indentation.
15229
15230 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
15231
15232 * util/hostdisk.c: Fix a comment.
15233
15234 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
15235
15236 Fix regression introduced in r2539.
15237
15238 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
15239 to 0xA1.
15240
15241 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
15242
15243 * util/grub.d/30_os-prober.in: Don't throw away stderr from
15244 os-prober. Under normal operation, it does not print anything to
15245 stderr; if it does, we need to debug it, and throwing away stderr
15246 makes that excessively difficult.
15247
15248 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
15251
15252 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15253
15254 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
15255 AC_LANG_PROGRAM from autoconf.
15256 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
15257 prototypes (fixes warning).
15258
15259 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
15260 `--disable-werror' was used.
15261
15262 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15263
15264 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
15265 uninitialized `lastaddr'.
15266
15267 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
15270
15271 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
15272
15273 * commands/test.c (get_fileinfo): Return immediately if
15274 grub_fs_probe fails.
15275
15276 2009-09-14 José Martínez <xosemp@gmail.com>
15277
15278 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
15279
15280 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
15281
15282 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
15283 output.
15284
15285 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
15286
15287 * configure.ac: Remove --enable-grub-pe2elf. Only build
15288 grub-pe2elf when needed by the build system itself.
15289 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
15290
15291 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15292
15293 * configure.ac: Bump version to 1.97~beta3.
15294 * docs/version.texi: Likewise.
15295
15296 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15297
15298 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
15299 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
15300 from here ...
15301 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
15302 (grub_linux_setup_video): ... to here (with some adjustments).
15303
15304 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15305
15306 Fix memory corruption issue (spotted by Colin Watson).
15307
15308 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
15309 causing returned size to be stored in an incorrect memory location.
15310 Fix use of uninitialized value when storing the returned size.
15311
15312 2009-09-12 Yves Blusseau <blusseau@zetam.org>
15313
15314 Change clean rules to properly remove files
15315
15316 * genmk.rb: add new clean rules
15317 * Makefile.in (clean): add the new targets
15318 (mostlyclean): likewise
15319
15320 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
15321
15322 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
15323 to grub_uint64_t.
15324 * fs/ntfs.c (init_file): Understand 64-bit sizes for
15325 non-resident files.
15326
15327 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
15328
15329 * configure.ac: Don't look for help2man when cross-compiling. Fixes
15330 part of bug #27349.
15331
15332 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
15333
15334 * util/grub-mkconfig.in: Make the created config mode 400 and
15335 print a warning if it fails.
15336
15337 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
15338
15339 * util/grub.d/40_custom.in: Ask user to type custom entries below
15340 comment, rather than below 'exec tail' line.
15341
15342 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
15343
15344 * util/grub.d/40_custom.in: Make sure that the explanatory text is
15345 visible in grub.cfg.
15346
15347 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
15348
15349 * util/grub.d/40_custom.in: Make it a little clearer how to use this
15350 file.
15351
15352 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
15353
15354 * docs/grub.cfg: Add an example menu entry for memtest86+.
15355
15356 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
15357
15358 * config.guess: Update to latest version from config git.
15359 * config.sub: Likewise.
15360
15361 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
15362
15363 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
15364 unknown-command case. Fixes bug #27320.
15365
15366 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
15367
15368 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
15369 `help' if the command exists.
15370
15371 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
15372
15373 * INSTALL: Require GCC 4.1.3 or later.
15374
15375 2009-09-06 Yves Blusseau <blusseau@zetam.org>
15376
15377 * Makefile.in (RMKFILES): add i386-qemu.rmk
15378 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
15379 $(srcdir)/stamp-h.in
15380
15381 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
15382
15383 * util/grub-probe.c (probe): Comment out buggy codepath, which
15384 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
15385 should be re-enabled after 1.97.
15386
15387 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
15388
15389 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
15390 find searches for.
15391
15392 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15393
15394 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
15395 unnecessary calls to grub_error.
15396
15397 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
15398
15399 * NEWS: Mention `keystatus' and Unicode fonts.
15400
15401 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
15402
15403 * configure.ac: Bump version to 1.97~beta2.
15404 * docs/version.texi: Likewise.
15405
15406 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15407
15408 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
15409 containing unwind information in some cases where it previously did
15410 not. Use -fno-dwarf2-cfi-asm if available to restore the old
15411 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
15412 discussion.
15413
15414 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
15415
15416 Embedding loadenv module into grub-emu
15417
15418 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
15419 commands/loadenv.c
15420 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
15421 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
15422 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
15423 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
15424 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
15425 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
15426
15427 2009-09-03 Magnus Granberg <zorry@ume.nu>
15428
15429 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
15430 include -fPIE in the default specs.
15431 * configure.ac: Check if pie_possible is yes and add -fno-PIE
15432 to TARGET_CFLAGS.
15433
15434 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
15435
15436 * INSTALL: Note that GNU Bison 2.3 or later is required.
15437
15438 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15439
15440 * kern/i386/pc/startup.S: Fix typo.
15441
15442 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
15445 according to GCS.
15446
15447 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15448
15449 * docs/grub.texi (Naming convention): Describe one-based partition
15450 numbering.
15451 (Device syntax): Likewise.
15452 (File name syntax): Likewise.
15453 (Block list syntax): Likewise.
15454 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
15455 menu.lst.
15456 (File name syntax): Likewise.
15457 (Command-line and menu entry commands): Document acpi, blocklist,
15458 crc, export, insmod, keystatus, ls, set, and unset commands.
15459
15460 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15461
15462 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
15463 to avoid implying that only one of --shift, --ctrl, or --alt may be
15464 used.
15465
15466 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15467
15468 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
15469 rather than comparing against S_IFREG, which will almost never work.
15470
15471 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15472
15473 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
15474 (write_blocklists): Likewise.
15475
15476 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
15477
15478 * script/lua/grub_lua.h (fputs): Supply a format string as the first
15479 argument to grub_printf.
15480
15481 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
15482
15483 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
15484 non GNU test.
15485
15486 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15487
15488 * kern/file.c (grub_file_read): Spelling fix
15489
15490 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
15493 loading of headers in some cases.
15494
15495 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
15496
15497 * configure.ac: Bump version to 1.97~beta1.
15498 * docs/version.texi: Likewise.
15499
15500 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15501
15502 * include/grub/i386/xnu.h: Add license header.
15503 include grub/err.h explicitly.
15504
15505 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15506
15507 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
15508 to `ufs' in the vfs.root.mountfrom kernel parameter.
15509
15510 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15511
15512 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
15513
15514 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
15515 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
15516
15517 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
15518 `ARRAY_SIZE' macro.
15519
15520 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15521
15522 * kern/file.c (grub_file_read): Check offset.
15523 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
15524 * fs/jfs.c (grub_jfs_read_file): Likewise.
15525 * fs/ntfs.c (grub_ntfs_read): Likewise.
15526 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
15527 * fs/minix.c (grub_minix_read_file): Correct offset check.
15528 * fs/ufs.c (grub_ufs_read_file): Likewise.
15529
15530 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15531
15532 * term/i386/pc/console.c (bios_data_area): Cast
15533 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
15534
15535 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15536
15537 1-bit optimised blitters.
15538
15539 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
15540 prototype.
15541 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15542 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15543 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15544 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15545 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15546 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15547 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
15548 function.
15549 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15550 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15551 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15552 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15553 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15554 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15555 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
15556 when possible.
15557 * video/video.c (grub_video_get_blit_format): Return
15558 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
15559
15560 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15561
15562 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
15563 the first argument to grub_printf.
15564
15565 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15566 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
15567
15568 Add `getkeystatus' terminal method. Add a new `keystatus' command
15569 to query it.
15570
15571 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
15572 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
15573 modifier key bitmasks.
15574 (struct grub_term_input): Add `getkeystatus' member.
15575 (grub_getkeystatus): Add prototype.
15576 * kern/term.c (grub_getkeystatus): New function.
15577
15578 * include/grub/i386/pc/memory.h
15579 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
15580 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
15581 Data Area layout.
15582 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
15583 (grub_console_term_input): Set `getkeystatus' member.
15584 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
15585 constants.
15586 (grub_usb_keyboard_getreport): Likewise.
15587 (grub_usb_keyboard_checkkey): Likewise.
15588 (grub_usb_keyboard_getkeystatus): New function.
15589 (grub_usb_keyboard_term): Set `getkeystatus' member.
15590
15591 * commands/keystatus.c: New file.
15592 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
15593 (keystatus_mod_SOURCES): New variable.
15594 (keystatus_mod_CFLAGS): Likewise.
15595 (keystatus_mod_LDFLAGS): Likewise.
15596 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
15597 commands/keystatus.c.
15598 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15599 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15600 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15602 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15603 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15604
15605 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15606
15607 Split befs.mod and afs.mod into *_be.mod and *.mod
15608
15609 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
15610 (grub_fstest_SOURCES): Likewise.
15611 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
15612 (afs_be_mod_SOURCES): New variable.
15613 (afs_be_mod_CFLAGS): Likewise.
15614 (afs_be_mod_LDFLAGS): Likewise.
15615 (befs_be_mod_SOURCES): Likewise.
15616 (befs_be_mod_CFLAGS): Likewise.
15617 (befs_be_mod_LDFLAGS): Likewise.
15618 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
15619 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15620 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15621 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15622 (grub_emu_SOURCES): Likewise.
15623 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15624 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15625 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15626 * fs/afs_be.c: New file.
15627 * fs/befs_be.c: New file.
15628 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
15629 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
15630 (U16): Replaced with ...
15631 (grub_afs_to_cpu16): ...this. All users updated.
15632 (U32): Replaced with ...
15633 (grub_afs_to_cpu32): ...this. All users updated.
15634 (U64): Replaced with ...
15635 (grub_afs_to_cpu64): ...this. All users updated.
15636 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
15637 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
15638 (grub_afs_validate_sblock): Check only one endianness.
15639 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15640 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15641 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15642 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15643 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15644 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15645 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15646 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15647
15648 2009-08-26 Bean <bean123ch@gmail.com>
15649
15650 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
15651 64-bit number.
15652 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15653 (grub_xfs_inode_block): Change return type to grub_uint64_t.
15654 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
15655
15656 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15657
15658 NetBSD memory map support.
15659
15660 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
15661 (grub_netbsd_btinfo_mmap_header): New structure.
15662 (grub_netbsd_btinfo_mmap_entry): Likewise.
15663 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
15664
15665 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15666
15667 Enable bsd.mod on coreboot.
15668
15669 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
15670 (bsd_mod_SOURCES): New variable.
15671 (bsd_mod_CFLAGS): Likewise.
15672 (bsd_mod_LDFLAGS): Likewise.
15673 (bsd_mod_ASFLAGS): Likewise.
15674 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
15675 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
15676
15677 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15678
15679 Cleanup NetBSD root support.
15680
15681 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
15682 grub_bsd_get_device.
15683 Fix typo.
15684
15685 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
15686
15687 * util/grub.d/00_header.in: Move check for the video backend of
15688 gfxterm from here ...
15689 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
15690 a suitable video backend.
15691
15692 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15693
15694 Fix breakage in grub-setup.
15695
15696 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
15697 "msdos_partition_map".
15698
15699 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15700
15701 Fix breakage in normal/auth.c.
15702
15703 * normal/auth.c (grub_iswordseparator): New function.
15704
15705 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15706
15707 Authentication support.
15708
15709 * commands/password.c: New file.
15710 * conf/common.rmk (pkglib_MODULES): Add password.mod.
15711 (password_mod_SOURCES): New variable.
15712 (password_mod_CFLAGS): Likewise.
15713 (password_mod_LDFLAGS): Likewise.
15714 (normal_mod_SOURCES): Add normal/auth.c.
15715 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
15716 normal/auth.c.
15717 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15718 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15719 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15720 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15721 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15722 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15723 * include/grub/auth.h: New file.
15724 * include/grub/err.h (grub_err_t): New enum value
15725 GRUB_ERR_ACCESS_DENIED.
15726 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
15727 'users'.
15728 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
15729 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
15730 users updated.
15731 * normal/auth.c: New file.
15732 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
15733 (grub_cmdline_run): Don't allow to go to command line without
15734 authentication.
15735 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
15736 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
15737 menuentry without superuser rights.
15738 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
15739 user isn't a superuser.
15740
15741 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15742
15743 Save space by inlining misc.c functions.
15744
15745 * kern/misc.c (grub_iswordseparator): Made static.
15746 * kern/misc.c (grub_strcat): Moved from here ...
15747 * include/grub/misc.h (grub_strcat): ... here. Inlined.
15748 * kern/misc.c (grub_strncat): Moved from here ...
15749 * include/grub/misc.h (grub_strncat): ... here. Inlined.
15750 * kern/misc.c (grub_strcasecmp): Moved from here ...
15751 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
15752 * kern/misc.c (grub_strncasecmp): Moved from here ...
15753 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
15754 * kern/misc.c (grub_isalpha): Moved from here ...
15755 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
15756 * kern/misc.c (grub_isdigit): Moved from here ...
15757 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
15758 * kern/misc.c (grub_isgraph): Moved from here ...
15759 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
15760 * kern/misc.c (grub_tolower): Moved from here ...
15761 * include/grub/misc.h (grub_tolower): ... here. Inlined.
15762
15763 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * script/sh/function.c (grub_script_function_find): Cut error message
15766 not to flood terminal.
15767 * script/sh/lexer.c (grub_script_yylex): Remove command line length
15768 limit.
15769 * script/sh/script.c (grub_script_arg_add): Duplicate string.
15770
15771 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
15772
15773 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
15774 `report' grub_uint8_t *.
15775 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
15776 Use a 50-millisecond timeout rather than just repeating
15777 grub_usb_keyboard_getreport 50 times.
15778 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
15779
15780 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15781
15782 Rename *_partition_map to part_*
15783
15784 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
15785 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
15786 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
15787 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
15788 All users updated.
15789 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
15790 All users updated.
15791 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
15792 * util/grub-probe.c (probe_partmap): Don't transform partition name
15793 to get module name.
15794
15795 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15796
15797 Fix OpenBSD and NetBSD support.
15798
15799 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
15800 memory address conflict.
15801 (OPENBSD_MMAP_ACPI): New definition.
15802 (OPENBSD_MMAP_NVS): Likewise.
15803 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
15804 and OPENBSD_MMAP_NVS.
15805 Add memory map terminator
15806 Explicit cast when calling grub_unix_real_boot.
15807 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
15808
15809 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 Let user specify NetBSD root device.
15812
15813 * loader/i386/bsd.c (netbsd_root): New variable.
15814 (netbsd_opts): New option 'root'.
15815 (NETBSD_ROOT_ARG): New macro.
15816 (grub_netbsd_boot): Use 'netbsd_root'.
15817 (grub_bsd_unload): Free 'netbsd_root'.
15818 (grub_cmd_netbsd): Fill 'netbsd_root'.
15819
15820 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15821
15822 Support for 64-bit NetBSD.
15823
15824 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
15825 point when booting non-FreeBSD.
15826
15827 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 Support --no-smp and --no-acpi for NetBSD.
15830
15831 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
15832 (NETBSD_AB_NOACPI): Likewise.
15833 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
15834 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
15835
15836 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15837
15838 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
15839 errors.
15840 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
15841 errors. Call grub_error when needed.
15842
15843 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15844
15845 * commands/search.c (search_fs): Try searching without autoload first.
15846 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15847 filesystem module explicitly for faster booting.
15848
15849 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
15850
15851 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
15852
15853 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
15854
15855 * util/grub.d/30_os-prober.in: Disable os-prober if
15856 `GRUB_DISABLE_OS_PROBER' was set to true.
15857
15858 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
15859
15860 * partmap/pc.c: Rename to ...
15861 * partmap/msdos.c: ... this. Update all users.
15862 (grub_pc_partition_map): Rename to ...
15863 (grub_msdos_partition_map): ... this. Update all users.
15864
15865 * parttool/pcpart.c: Rename to ...
15866 * parttool/msdospart.c: ... this. Update all users.
15867
15868 * include/grub/pc_partition.h: Rename to ...
15869 * include/grub/msdos_partition.h: ... this. Update all users.
15870 (grub_pc_partition_bsd_entry): Rename to ...
15871 (grub_msdos_partition_bsd_entry): ... this. Update all users.
15872 (grub_pc_partition_disk_label): Rename to ...
15873 (grub_msdos_partition_disk_label): ... this. Update all users.
15874 (grub_pc_partition_entry): Rename to ...
15875 (grub_msdos_partition_entry): ... this. Update all users.
15876 (grub_pc_partition_mbr): Rename to ...
15877 (grub_msdos_partition_mbr): ... this. Update all users.
15878 (grub_pc_partition): Rename to ...
15879 (grub_msdos_partition): ... this. Update all users.
15880 (grub_pc_partition_is_empty): Rename to ...
15881 (grub_msdos_partition_is_empty): ... this. Update all users.
15882 (grub_pc_partition_is_extended): Rename to ...
15883 (grub_msdos_partition_is_extended): ... this. Update all users.
15884 (grub_pc_partition_is_bsd): Rename to ...
15885 (grub_msdos_partition_is_bsd): ... this. Update all users.
15886
15887 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
15888 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
15889 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
15890 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
15891 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
15892 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
15893 (gpt_mod_LDFLAGS): Rename to ...
15894 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
15895 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
15896 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
15897 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
15898 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
15899 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
15900 (part_gpt_mod_LDFLAGS): ... this.
15901 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
15902 `pcpart.mod' to `msdospart.mod'.
15903 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
15904 to ...
15905 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
15906 (msdospart_mod_LDFLAGS): ... this.
15907
15908 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15909
15910 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
15911 (openbsd_opts): Likewise.
15912 (netbsd_opts): Likewise.
15913 (freebsd_flags): Added 0 terminator.
15914 (openbsd_flags): Likewise.
15915 (netbsd_flags): Likewise.
15916 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
15917 (grub_cmd_freebsd): Transformed into extended command.
15918 (grub_cmd_openbsd): Likewise.
15919 (grub_cmd_netbsd): Likewise.
15920 (cmd_freebsd): Changed type to grub_extcmd_t.
15921 (cmd_openbsd): Likewise.
15922 (cmd_netbsd): Likewise.
15923 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
15924 grub_cmd_openbsd as extended commands.
15925 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
15926 cmd_netbsd and cmd_openbsd
15927
15928 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
15931
15932 2009-08-21 Pavel Roskin <proski@gnu.org>
15933
15934 * Makefile.in (install-local): When checking if a file is in the
15935 build directory, use "test -e" to detect symlinks.
15936
15937 * Makefile.in (install-local): Remove all files in
15938 $(DESTDIR)$(pkglibdir) before installing new files there.
15939
15940 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
15941
15942 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
15943 grub-mkelfimage.
15944
15945 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
15946
15947 * util/grub-mkconfig.in: Don't use gfxterm by default if not
15948 explicitly specified by the user.
15949
15950 2009-08-18 Pavel Roskin <proski@gnu.org>
15951
15952 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
15953 grub_uint8_t pointer for data.
15954 * include/grub/fbutil.h (struct grub_video_fbblit_info):
15955 Likewise.
15956 * video/fb/fbutil.c: Remove unnecessary casts.
15957
15958 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15959
15960 VBE cleanup.
15961
15962 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
15963 (grub_vbe_set_video_mode): Save active mode info
15964 only after setting the mode.
15965 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
15966 second argument.
15967
15968 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15969
15970 Rename variables for clarity.
15971
15972 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
15973 (active_vbe_mode_info): ... this. All users updated.
15974 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
15975 All users updated.
15976 (initial_mode): Rename to ...
15977 (initial_vbe_mode): ... this. All users updated.
15978 (mode_in_use): Rename to ..
15979 (vbe_mode_in_use): ... this. All users updated.
15980 (mode_list): Rename to ..
15981 (vbe_mode_list): ... this. All users updated.
15982 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
15983 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
15984 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
15985 'mode_list_size' to 'vbe_mode_list_size'.
15986 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
15987 'best_mode_info' to 'best_vbe_mode_info' and
15988 'best_mode' to 'best_vbe_mode'
15989
15990 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15991
15992 Remove duplicate grub_video_fb_get_video_ptr.
15993
15994 * include/grub/fbutil.h (get_data_ptr): Rename to ...
15995 (grub_video_fb_get_video_ptr): ... this.
15996 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
15997 * video/fb/fbutil.c: Add comment about addressing.
15998 (get_data_ptr): Rename to ...
15999 (grub_video_fb_get_video_ptr): ... this. All users updated.
16000 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
16001
16002 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16003
16004 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
16005 grub_dprintf() that was just added.
16006
16007 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16008
16009 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
16010 (DEFAULT_VIDEO_MODE): Remove macros.
16011 (grub_linux_boot): Remove assumption that Linux has FB support,
16012 and use "text" as default video mode.
16013
16014 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
16015
16016 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
16017 grub_dprintf.
16018 * fs/fat.c (grub_fat_read_data): Likewise.
16019
16020 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16021
16022 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
16023 payload.
16024 (grub_module): Likewise.
16025
16026 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16027
16028 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
16029 mbi->cmdline but free playground.
16030
16031 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16032
16033 Handle group offset on UFS1.
16034
16035 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
16036 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
16037
16038 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16039
16040 Split ufs.mod into ufs1.mod and ufs2.mod.
16041
16042 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
16043 (grub_fstest_SOURCES): Likewise.
16044 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
16045 (ufs_mod_SOURCES): Remove.
16046 (ufs_mod_CFLAGS): Likewise.
16047 (ufs_mod_LDFLAGS): Likewise.
16048 (ufs1_mod_SOURCES): New variable.
16049 (ufs1_mod_CFLAGS): Likewise.
16050 (ufs1_mod_LDFLAGS): Likewise.
16051 (ufs2_mod_SOURCES): New variable.
16052 (ufs2_mod_CFLAGS): Likewise.
16053 (ufs2_mod_LDFLAGS): Likewise.
16054 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
16055 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16056 Likewise.
16057 (grub_emu_SOURCES): Likewise.
16058 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16059 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16060 (grub_setup_SOURCES): Likewise.
16061 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16062 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
16063 (grub_setup_SOURCES): Likewise.
16064 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16065 Likewise.
16066 * fs/ufs2.c: New file.
16067 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
16068
16069 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 Framebuffer split.
16072
16073 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
16074 subsystem at the end.
16075 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
16076 (video_fb_mod_SOURCES): New variable.
16077 (video_fb_mod_CFLAGS): Likewise.
16078 (video_fb_mod_LDFLAGS): Likewise.
16079 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
16080 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
16081 * video/i386/pc/vbeblit.c: Moved from here ...
16082 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
16083 * video/i386/pc/vbefill.c: Moved from here ...
16084 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
16085 * video/i386/pc/vbeutil.c: Moved from here ...
16086 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
16087 * include/grub/i386/pc/vbeblit.h: Moved from here ...
16088 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
16089 * include/grub/i386/pc/vbefill.h: Moved from here ...
16090 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
16091 * include/grub/i386/pc/vbeutil.h: Moved from here ...
16092 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
16093 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
16094 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
16095 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
16096 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
16097 (grub_video_adapter): Added 'get_info_and_fini'.
16098 (grub_video_get_info_and_fini): New prototype.
16099 (grub_video_set_mode): make modestring const char *.
16100 * loader/i386/linux.c (grub_linux_setup_video): Use
16101 grub_video_get_info_and_fini.
16102 (grub_linux_boot): Move modesetting just before booting.
16103 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
16104 grub_video_get_info_and_fini.
16105 * video/i386/pc/vbe.c: Moved framebuffer part ...
16106 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
16107 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
16108 grub_video_fbstd_colors and grub_video_fb_set_palette.
16109 (grub_video_vbe_init): Clear 'framebuffer' variable and use
16110 grub_video_fb_init.
16111 (grub_video_vbe_fini): Use grub_video_fb_fini.
16112 (grub_video_vbe_setup): Use framebuffer.render_target instead of
16113 render_target and use grub_video_fb_set_active_render_target and
16114 grub_video_fb_set_palette.
16115 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
16116 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
16117 (grub_video_vbe_adapter): Use framebuffer.
16118 * video/video.c (grub_video_get_info_and_fini): New function.
16119 (grub_video_set_mode): Make modestring const char *.
16120 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
16121 values are already initialised.
16122
16123 2009-08-14 Pavel Roskin <proski@gnu.org>
16124
16125 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
16126 ABS and APPLE_CC.
16127 * boot/i386/pc/diskboot.S: Likewise.
16128 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
16129 sectors allow compilation on MacOSX.
16130 * conf/i386-pc.rmk: Enable unconditional compilation of
16131 lnxboot.img.
16132
16133 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
16134
16135 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
16136 * util/grub.d/00_header.in: Enter interruptible sleep if
16137 GRUB_HIDDEN_TIMEOUT is set.
16138
16139 2009-08-13 Yves Blusseau <blusseau@zetam.org>
16140
16141 * include/grub/symbol.h: Add the LOCAL macro.
16142 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
16143 starting with "L_".
16144
16145 2009-08-13 Pavel Roskin <proski@gnu.org>
16146
16147 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
16148 any modern compilers we support.
16149
16150 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
16151 Use local labels starting with "L_" so that Apple assembler
16152 knows they are local.
16153
16154 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
16155
16156 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
16157 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
16158 (bsd_kernel_types): ... this enum.
16159
16160 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
16161 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
16162 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
16163
16164 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
16165 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
16166 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
16167 messages.
16168
16169 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16170
16171 * util/grub-dumpdevtree: Moved from here ...
16172 * util/i386/efi/grub-dumpdevtree: ... to here.
16173 (hexify): New function. Converts a string to its hex version.
16174 Generate hex versions of "efi" and "device-properties" by calling
16175 hexify() on the ASCII strings rather than by hardcoding numbers.
16176
16177 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16178
16179 * fs/jfs.c: Update copyright year.
16180
16181 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
16182
16183 * util/grub.d/00_header.in: Fix a comment.
16184 * util/grub.d/10_linux.in: Likewise.
16185 * util/grub.d/10_windows.in: Likewise.
16186 * util/grub.d/10_hurd.in: Likewise.
16187
16188 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
16189
16190 * util/grub-mkconfig.in: Allow the user to specify the used font
16191 with GRUB_FONT.
16192
16193 2009-08-08 Pavel Roskin <proski@gnu.org>
16194
16195 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
16196 available, xfs.mod needs it now.
16197
16198 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
16199 the "g" modifier in sed when the intention is to strip something
16200 once. This fixes comparison of kernels with multiple dashes.
16201
16202 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
16203 on it. Add missing space before closing bracket. Fix
16204 misleading formatting.
16205
16206 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16207
16208 * docs/grub.texi: Major overhaul. Remove all sections that are
16209 specific to GRUB Legacy, or mostly composed of Legacy-specific
16210 information.
16211
16212 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16213
16214 * docs/version.texi: New file. Provides version information for
16215 grub.texi.
16216
16217 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16218
16219 * docs/grub.texi: Update CVS information to SVN.
16220 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
16221
16222 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16223
16224 * util/grub-mkconfig.in: Remove a wrong `fi'.
16225
16226 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16227
16228 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
16229 (grub_jfs_uuid): New function.
16230 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
16231
16232 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16233
16234 * util/grub-mkconfig_lib.in (font_path): Move the functionality
16235 of it to ...
16236 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
16237 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
16238
16239 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16240
16241 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
16242 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
16243 Update all users.
16244
16245 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
16246 not just "vmlinu[zx]".
16247 Moved from here ...
16248 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
16249 all users.
16250
16251 * util/grub.d/10_linux.in (find_latest): Moved from here ...
16252 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
16253 all users.
16254
16255 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16256
16257 * util/grub.d/10_freebsd.in: Use an absolute device path for
16258 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
16259
16260 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
16261
16262 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
16263 handling of multiple abstraction modules.
16264
16265 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
16266
16267 Fix a bug resulting in black screen when loading Linux using a
16268 packed video mode.
16269
16270 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
16271 function.
16272
16273 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
16274 (grub_vbe_bios_getset_dac_palette_width): New function.
16275 (grub_vbe_bios_get_dac_palette_width)
16276 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
16277 grub_vbe_bios_getset_dac_palette_width()).
16278
16279 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
16280 check for return status.
16281 (grub_vbe_get_video_mode_info): When getting information for a packed
16282 mode (<= 8 bpp), obtain DAC palette width using
16283 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
16284 {red,green,blue}_mark_size.
16285
16286 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
16287
16288 * commands/search.c (options): Fix help output to match actual code.
16289
16290 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
16293 of homegrown code.
16294
16295 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16296
16297 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
16298 on XFS or ReiserFS.
16299
16300 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16301
16302 Support Apple partition map with sector size different from 512 bytes.
16303
16304 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
16305 (apple_partition_map_iterate): Respect 'aheader.blocksize'
16306 and 'apart.partmap_size'.
16307
16308 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16309 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
16310
16311 Fix cpuid command.
16312
16313 * commands/i386/cpuid.c (options): New variable.
16314 (grub_cmd_cpuid): Return real error.
16315 (GRUB_MOD_INIT(cpuid)): Declare options.
16316
16317 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
16318
16319 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
16320 valid.
16321
16322 2009-07-31 Bean <bean123ch@gmail.com>
16323
16324 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
16325 log2_inode.
16326 (grub_fshelp_node): Move inode field to the end.
16327 (grub_xfs_data): Remove inode field.
16328 (grub_xfs_inode_block): Calculate inode size using sblock.
16329 (grub_xfs_inode_offset): Likewise.
16330 (grub_xfs_read_inode): Calculate inode size using sblock.
16331 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
16332 (grub_xfs_iterate_dir): Calculate inode size using sblock.
16333 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
16334 to match inode size.
16335 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
16336 not accessible when data is null.
16337 (grub_xfs_open): Likewise.
16338
16339 2009-07-31 Bean <bean123ch@gmail.com>
16340
16341 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
16342 Don't change pv->disk if it's already set.
16343
16344 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
16345 (grub_raid_register): ... here.
16346 (grub_raid_rescan): Removed.
16347
16348 * include/grub/raid.h (grub_raid_rescan): Removed.
16349
16350 * util/grub-fstest.c: Remove include file <grub/raid.h>.
16351 (fstest): Replace grub_raid_rescan with module fini function followed
16352 by init function.
16353
16354 * util/grub-probe.c: Add include file <grub/raid.h>.
16355 (probe_raid_level): New function.
16356 (probe): Detect abstraction by walking the disk device, support two
16357 level of abstraction (LVM on RAID) when detecting partition map.
16358
16359 2009-07-31 Pavel Roskin <proski@gnu.org>
16360
16361 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
16362 to grub_zalloc(), it was erroneous.
16363 Reported by Bean <bean123ch@gmail.com>
16364
16365 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
16366
16367 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
16368 embedding zone, not only the first one.
16369
16370 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
16371
16372 * term/gfxterm.c (clear_char): New function.
16373 (grub_virtual_screen_setup): Use clear_char.
16374 (scroll_up): Likewise.
16375 (grub_virtual_screen_cls): Likewise.
16376
16377 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
16378
16379 * util/deviceiter.c (get_acceleraid_disk_name): New static
16380 function.
16381 (grub_util_iterate_devices): Handle Accelraid devices.
16382 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
16383
16384 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
16385
16386 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
16387 separator for the suggested gfxpayload string (';' collides with the
16388 parser and needs escaping).
16389
16390 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16391
16392 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
16393 Clear direction flag before jumping to OS.
16394 (grub_multiboot2_real_boot): Likewise.
16395
16396 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16397
16398 * util/i386/pc/grub-install: Fix parsing of --disk-module
16399 option.
16400
16401 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16402
16403 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
16404 when embedding.
16405
16406 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
16407
16408 * util/grub-mkconfig.in (package_version): New variable.
16409 Use it do display the version.
16410
16411 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16412
16413 * kern/file.c (grub_file_open): Revert to previous check with
16414 grub_errno.
16415
16416 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16417
16418 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
16419 from help line. It's out of sync with code.
16420
16421 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16422
16423 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
16424 entries on failed boot.
16425
16426 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16427
16428 * kern/file.c (grub_file_open): Fix an error check.
16429
16430 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
16431
16432 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
16433 partition map couldn't be identified.
16434
16435 2009-07-23 Pavel Roskin <proski@gnu.org>
16436
16437 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
16438 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
16439 case of little endian words becomes just an optimization.
16440 Respect const modifier.
16441 (md5_final): Use code that doesn't depend on endianness.
16442
16443 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
16444 to avoid loss of upper bits if align is unsigned and shorter
16445 than addr.
16446
16447 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16448
16449 UUID support for UFS
16450
16451 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
16452 (grub_ufs_uuid): New function.
16453 (grub_ufs_fs): add .uuid
16454
16455 2009-07-21 Pavel Roskin <proski@gnu.org>
16456
16457 * kern/dl.c (grub_dl_check_header): Make static.
16458
16459 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
16460
16461 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
16462 add drivemap for Vista. It breaks Windows 7.
16463
16464 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16465
16466 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
16467 128 bytes
16468
16469 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16470
16471 Add BFS support
16472
16473 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
16474 (grub_fstest_SOURCES): Likewise.
16475 (pkglib_MODULES): Add befs.mod.
16476 (befs_mod_SOURCES): New variable.
16477 (befs_mod_CFLAGS): Likewise.
16478 (befs_mod_LDFLAGS): Likewise.
16479 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16480 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16481 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16482 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16483 (grub_setup_SOURCES): Likewise.
16484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16485 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16486 (grub_setup_SOURCES): Likewise.
16487 * fs/befs.c: New file.
16488 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
16489 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
16490 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
16491 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
16492 (B_KEY_INDEX_ALIGN): New declaration.
16493 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
16494 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
16495 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
16496 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
16497 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
16498 (grub_afs_mount) [MODE_BFS]: Likewise.
16499 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
16500 (grub_afs_fs): Use GRUB_AFS_FSNAME
16501 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
16502 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
16503 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
16504 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
16505
16506 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
16507
16508 * util/getroot.c (find_root_device): Add support for MacOSX.
16509 * util/hostdisk.c: Likewise.
16510
16511 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 * font/font.c (find_glyph): Check whether a font is present to avoid
16514 segmentation fault.
16515
16516 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
16517
16518 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
16519
16520 2009-07-20 Pavel Roskin <proski@gnu.org>
16521
16522 * configure.ac: Trim excessively wordy excuses.
16523
16524 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16525
16526 Add symlink, mtime and label support to AtheFS.
16527
16528 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
16529 (grub_afs_iterate_dir): Handle symlinks.
16530 (grub_afs_open): Use grub_afs_read_symlink.
16531 (grub_afs_dir): Likewise.
16532 Pass mtime.
16533 (grub_afs_label): New function.
16534 (grub_afs_fs): Add grub_afs_label.
16535 (grub_afs_read_symlink): New function.
16536
16537 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16538
16539 Fix AtheFS support.
16540
16541 * fs/afs.c: Fix comments style.
16542 (grub_afs_blockrun): Declare as packed.
16543 (grub_afs_datastream): Likewise.
16544 (grub_afs_bnode): Likewise.
16545 (grub_afs_btree): Likewise.
16546 (grub_afs_sblock): Likewise.
16547 Declare `name' as char.
16548 (grub_afs_inode): Declare as packed.
16549 Change void *vnode to grub_uint32_t unused.
16550 (grub_afs_iterate_dir): Check that key_size is positive.
16551 (grub_afs_mount): Don't read superblock twice.
16552 (grub_afs_dir): Don't free node in case of error,
16553 grub_fshelp_find_file already handles this.
16554 (grub_afs_open): Likewise.
16555
16556 2009-07-19 Pavel Roskin <proski@gnu.org>
16557
16558 * Makefile.in: Remove LIBLZO and enable_lzo.
16559 * conf/i386-pc.rmk: Remove lzo support.
16560 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
16561 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
16562 support.
16563 * kern/i386/pc/lzo1x.S: Remove.
16564 * kern/i386/pc/startup.S: Remove lzo support.
16565 * util/i386/pc/grub-mkimage.c: Likewise.
16566
16567 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
16568
16569 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
16570 * fs/xfs.c (grub_xfs_dir): Likewise.
16571 * fs/afs.c (grub_afs_dir): Likewise.
16572 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
16573 (grub_iso9660_open): Likewise.
16574 * fs/jfs.c (grub_jfs_open): Likewise.
16575 * fs/ext2.c (grub_ext2_dir): Likewise.
16576 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
16577 * script/sh/lexer.c (grub_script_yylex): Likewise.
16578
16579 2009-07-16 Pavel Roskin <proski@gnu.org>
16580
16581 * configure.ac: Never add "-c" to CFLAGS.
16582
16583 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
16584
16585 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
16586 grub_cv_cc_efiemu should be used.
16587
16588 * configure.ac: Typo fixes.
16589
16590 * kern/mm.c (grub_zalloc): New function.
16591 (grub_debug_zalloc): Likewise.
16592 * include/grub/mm.h: Declare grub_zalloc() and
16593 grub_debug_zalloc().
16594 * util/misc.c (grub_zalloc): New function.
16595 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
16596 instead of grub_malloc(), remove unneeded initializations.
16597 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
16598 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
16599 * commands/parttool.c (grub_cmd_parttool): Likewise.
16600 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16601 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
16602 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
16603 * disk/usbms.c (grub_usbms_finddevs): Likewise.
16604 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
16605 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
16606 (grub_cmd_efiemu_pnvram): Likewise.
16607 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
16608 * fs/iso9660.c (grub_iso9660_mount): Likewise.
16609 (grub_iso9660_iterate_dir): Likewise.
16610 * fs/jfs.c (grub_jfs_opendir): Likewise.
16611 * fs/ntfs.c (list_file): Likewise.
16612 (grub_ntfs_mount): Likewise.
16613 * kern/disk.c (grub_disk_open): Likewise.
16614 * kern/dl.c (grub_dl_load_core): Likewise.
16615 * kern/elf.c (grub_elf_file): Likewise.
16616 * kern/env.c (grub_env_context_open): Likewise.
16617 (grub_env_set): Likewise.
16618 (grub_env_set_data_slot): Likewise.
16619 * kern/file.c (grub_file_open): Likewise.
16620 * kern/fs.c (grub_fs_blocklist_open): Likewise.
16621 * loader/i386/multiboot.c (grub_module): Likewise.
16622 * loader/xnu.c (grub_xnu_create_key): Likewise.
16623 (grub_xnu_create_value): Likewise.
16624 * normal/main.c (grub_normal_add_menu_entry): Likewise.
16625 (read_config_file): Likewise.
16626 * normal/menu_entry.c (make_screen): Likewise.
16627 * partmap/sun.c (sun_partition_map_iterate): Likewise.
16628 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
16629 * script/sh/script.c (grub_script_parse): Likewise.
16630 * video/bitmap.c (grub_video_bitmap_create): Likewise.
16631 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16632 * video/readers/png.c (grub_png_output_byte): Likewise.
16633 (grub_video_reader_png): Likewise.
16634
16635 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16636
16637 Enable all targets that can be built by default
16638
16639 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
16640 grub-mkfont and grub-fstest if they can be built
16641
16642 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16643
16644 Fix hang and segmentation fault in grub-emu-usb
16645
16646 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
16647 * util/usb.c (grub_libusb_devices): likewise
16648 (grub_libusb_init): rename to ...
16649 (GRUB_MOD_INIT (libusb)):...this
16650 (grub_libusb_fini): rename to ..
16651 (GRUB_MOD_FINI (libusb)):...this
16652 * disk/usbms.c (grub_usbms_transfer): fix retry logic
16653 * include/grub/disk.h (grub_raid_init): removed, it's useless
16654 (grub_raid_fini): likewise
16655 (grub_lvm_init): likewise
16656 (grub_lvm_fini): likewise
16657 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
16658 by grub_init_all
16659
16660 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16661
16662 Fix libusb
16663
16664 * Makefile.in (LIBUSB): new macro
16665 * genmk.rb (Utility/print_tail): new method
16666 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
16667 (top level): call util.print_tail at the end.
16668
16669 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16670
16671 Make FreeBSD accept zpool.cache
16672
16673 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
16674 type is /boot/zfs/zpool.cache
16675
16676 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16677
16678 Fix 64-bit efiemu
16679
16680 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
16681 correct wrong typedef
16682 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
16683
16684 2009-07-15 Pavel Roskin <proski@gnu.org>
16685
16686 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
16687 * kern/disk.c (struct grub_disk_cache): Likewise.
16688
16689 * commands/probe.c (options): Typo fix.
16690
16691 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
16692 Increase to 0x5a to accommodate FAT32. Adjust other offsets
16693 accordingly.
16694 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
16695
16696 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
16697 the end of "Error" to make the message more readable.
16698
16699 * boot/i386/pc/boot.S (kernel_segment): Remove.
16700 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
16701 for destination.
16702
16703 * boot/i386/pc/boot.S (boot_version): Remove.
16704 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16705 Remove.
16706
16707 * include/grub/i386/pc/boot.h: Sort all offsets.
16708 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
16709 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
16710 * boot/i386/pc/boot.S: Assert location of every offset listed in
16711 include/grub/i386/pc/boot.h.
16712
16713 2009-07-13 Pavel Roskin <proski@gnu.org>
16714
16715 * include/grub/i386/coreboot/machine.h: Rename
16716 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
16717 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
16718 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
16719
16720 * kern/dl.c: Force native word size to suppress warnings when
16721 compiling grub-emu.
16722
16723 * kern/device.c (grub_device_iterate): Change struct part_ent to
16724 hold the name, not a pointer to it. Use one grub_malloc() per
16725 partition, not two. Free partition_name if grub_malloc() fails.
16726 Set ents to NULL only before grub_partition_iterate() is called.
16727
16728 2009-07-11 Bean <bean123ch@gmail.com>
16729
16730 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
16731 childname.
16732
16733 2009-07-10 Bean <bean123ch@gmail.com>
16734 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
16735
16736 * kern/ieee1275/openfw.c (grub_children_iterate)
16737 (grub_devalias_iterate): Fix size evaluation for property or path
16738 strings, which was broken since r2132.
16739
16740 2009-07-07 Pavel Roskin <proski@gnu.org>
16741
16742 * commands/search.c (search_file): Merge into ...
16743 (search_fs): ... this. Accept search type as argument.
16744 (grub_cmd_search): Pass search type to search_fs().
16745
16746 * include/grub/util/console.h: New file.
16747 * util/console.c: Use it instead of grub/machine/console.h.
16748 * util/grub-emu.c: Likewise.
16749
16750 * lib/arg.c (find_long_option): Remove.
16751 (find_long): Add `len' argument, make `s' const char *.
16752 (grub_arg_parse): Parse long options in place, not in a
16753 temporary buffer.
16754
16755 2009-07-06 Pavel Roskin <proski@gnu.org>
16756
16757 * commands/search.c (search_fs): Fix potential NULL pointer
16758 dereference.
16759
16760 * commands/search.c (search_fs): Replace QUID macro with quid_fn
16761 function pointer.
16762
16763 2009-07-06 Daniel Mierswa <impulze@impulze.org>
16764
16765 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
16766 comparison.
16767
16768 2009-07-05 Pavel Roskin <proski@gnu.org>
16769
16770 * include/grub/i386/linux.h (struct linux_kernel_params):
16771 Restore padding3, it's still needed.
16772
16773 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
16774 FreeBSD.
16775 * util/osdetect.lua: Likewise.
16776
16777 2009-07-05 Bean <bean123ch@gmail.com>
16778
16779 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
16780
16781 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
16782 (grub_lua_getenv): Likewise.
16783 (grub_lua_setenv): Likewise.
16784 (save_errno): New function.
16785 (push_result): Likewise.
16786 (grub_lua_enum_device): Likewise.
16787 (grub_lua_enum_file): Likewise.
16788 (grub_lua_file_open): Likewise.
16789 (grub_lua_file_close): Likewise.
16790 (grub_lua_file_seek): Likewise.
16791 (grub_lua_file_read): Likewise.
16792 (grub_lua_file_getline): Likewise.
16793 (grub_lua_file_getsize): Likewise.
16794 (grub_lua_file_getpos): Likewise.
16795 (grub_lua_file_eof): Likewise.
16796 (grub_lua_file_exist): Likewise.
16797 (grub_lua_add_menu): Likewise.
16798
16799 * script/lua/grub_lua.h (isupper): New inline function.
16800 (islower): Likewise.
16801 (ispunct): Likewise.
16802 (isxdigit): Likewise.
16803 (strcspn): Change to normal function.
16804 (strpbkr): New function declaration.
16805 (memchr): Likewise.
16806
16807 * script/lua/grub_main.c (scan_str): New function.
16808 (strcspn): Likewise.
16809 (strpbrk): Likewise.
16810 (memchr): Likewise.
16811
16812 * script/lua/linit.c (lualibs): Enable the string library.
16813
16814 * util/osdetect.lua: New file.
16815
16816 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
16817
16818 * include/grub/i386/linux.h (struct linux_kernel_params): Add
16819 `capabilities' member.
16820
16821 2009-07-02 Pavel Roskin <proski@gnu.org>
16822
16823 * genparttoollist.sh: Add missing newline at the end.
16824
16825 2009-07-01 Pavel Roskin <proski@gnu.org>
16826
16827 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
16828
16829 * util/hostdisk.c (open_device): Remove `const' from
16830 `sysctl_size', as sysctlbyname() can change it (in this case it
16831 doesn't actually happen).
16832
16833 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
16834 using signed long int constants.
16835
16836 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
16837 constant to avoid a warning on FreeBSD.
16838
16839 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
16840 where it's needed.
16841
16842 * Makefile.in: Install include/grub/machine symlink.
16843
16844 * Makefile.in: When installing symlinks, use "cp -fR", which
16845 works on FreeBSD and MacOSX.
16846 From Yves Blusseau <cl7m42e02@sneakemail.com>
16847
16848 * kern/dl.c (grub_dl_resolve_symbol): Make static.
16849 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
16850
16851 * util/misc.c: Move grub_reboot() and grub_halt() ...
16852 * util/grub-emu.c: ... here. Make main_env static.
16853 * include/grub/util/misc.h: Remove main_env.
16854
16855 * kern/mm.c: Use correct format to print size_t.
16856
16857 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
16858 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
16859 * kern/powerpc/dl.c: Likewise.
16860 * kern/sparc64/dl.c: Likewise.
16861 * kern/x86_64/dl.c: Likewise.
16862
16863 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16864
16865 Fix grub-emu build on sparc64-ieee1275.
16866
16867 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
16868 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
16869
16870 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16871
16872 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
16873 (grub_reboot, grub_halt): New functions.
16874
16875 * util/i386/pc/misc.c: Delete. Update all users.
16876 * util/sparc64/ieee1275/misc.c: Likewise.
16877 * util/powerpc/ieee1275/misc.c: Likewise.
16878
16879 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16880
16881 * conf/i386.rmk (setjmp_mod_SOURCES)
16882 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
16883 * conf/common.rmk (setjmp_mod_SOURCES)
16884 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
16885 to use $(target_cpu).
16886 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
16887 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
16888 * conf/powerpc-ieee1275.rmk: Likewise.
16889 * conf/sparc64-ieee1275.rmk: Likewise.
16890
16891 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
16892 $(target_cpu) for kern/$(target_cpu)/dl.c.
16893 * conf/i386-efi.rmk: Likewise.
16894 * conf/i386-ieee1275.rmk: Likewise.
16895 * conf/x86_64-efi.rmk: Likewise.
16896 * conf/i386-coreboot.rmk: Likewise.
16897 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
16898 $(target_cpu) for kern/$(target_cpu)/dl.c and for
16899 kern/$(target_cpu)/cache.S.
16900 * conf/sparc64-ieee1275.rmk: Likewise.
16901
16902 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16903
16904 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
16905 type to `grub_uint8_t', and adjust `padding9' accordingly.
16906
16907 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16908
16909 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
16910
16911 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
16912 assembly in final jump, using register constraints.
16913
16914 (grub_linux_boot): For text mode, initialize `have_vga' using
16915 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
16916
16917 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
16918 right before the final jump.
16919
16920 Set `video_mode' to 0x3.
16921
16922 Document initialization of `video_page', `video_mode' and
16923 `video_ega_bx'.
16924
16925 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16926
16927 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
16928 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
16929 and set GRUB_LINUX_FLAG_QUIET appropriately.
16930
16931 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16932
16933 Fix build on Debian / sparc.
16934
16935 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
16936
16937 2009-06-28 Pavel Roskin <proski@gnu.org>
16938
16939 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
16940 fix a warning.
16941
16942 * util/grub.d/10_linux.in: Match SUSE style initrd names.
16943
16944 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16945
16946 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
16947 `err'.
16948
16949 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16950
16951 Revert r2338.
16952
16953 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
16954 file can't be opened. grub_file_open() is already supposed to set
16955 grub_errno / grub_errmsg appropriately.
16956 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16957
16958 2009-06-27 Pavel Roskin <proski@gnu.org>
16959 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16960
16961 * include/grub/dl.h: Include grub/elf.h.
16962 (struct grub_dl): Add symtab field.
16963 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
16964 GRUB_MODULES_MACHINE_READONLY.
16965 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
16966 of the header for read-only modules.
16967 (grub_dl_unload): Free mod->symtab for read-only modules.
16968 * kern/i386/dl.c: Use mod->symtab.
16969 * kern/powerpc/dl.c: Likewise.
16970 * kern/sparc64/dl.c: Likewise.
16971 * kern/x86_64/dl.c: Likewise.
16972
16973 * conf/i386-qemu.rmk: New file.
16974 * kern/i386/qemu/startup.S: Likewise.
16975 * kern/i386/qemu/mmap.c: Likewise.
16976 * boot/i386/qemu/boot.S: Likewise.
16977 * include/grub/i386/qemu/time.h: Likewise.
16978 * include/grub/i386/qemu/serial.h: Likewise.
16979 * include/grub/i386/qemu/kernel.h: Likewise.
16980 * include/grub/i386/qemu/console.h: Likewise.
16981 * include/grub/i386/qemu/boot.h: Likewise.
16982 * include/grub/i386/qemu/init.h: Likewise.
16983 * include/grub/i386/qemu/machine.h: Likewise.
16984 * include/grub/i386/qemu/loader.h: Likewise.
16985 * include/grub/i386/qemu/memory.h: Likewise.
16986
16987 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
16988 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
16989 [qemu] (pkglib_IMAGES): Add `boot.img'.
16990 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
16991 [qemu] (boot_img_FORMAT): New variables.
16992 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
16993 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
16994 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
16995 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16996 [qemu] (kernel_img_FORMAT): New variables.
16997
16998 * configure.ac: Recognise `i386-qemu'.
16999
17000 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
17001 (for no compression).
17002 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
17003 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
17004 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
17005 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
17006 ifdefs).
17007
17008 2009-06-27 Pavel Roskin <proski@gnu.org>
17009
17010 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
17011 read.
17012 * efiemu/prepare32.c: Likewise.
17013 * efiemu/prepare64.c: Likewise.
17014
17015 2009-06-26 Pavel Roskin <proski@gnu.org>
17016
17017 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
17018 * include/grub/elf.h: Define symbols without "32" or "64" based
17019 on GRUB_TARGET_WORDSIZE.
17020 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
17021 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
17022 ELF definitions.
17023 * efiemu/loadcore64.c: Likewise.
17024 * loader/i386/bsd32.c: Likewise.
17025 * loader/i386/bsd64.c: Likewise.
17026 * kern/dl.c: Remove own ELF definitions.
17027 * util/i386/efi/grub-mkimage.c: Likewise.
17028
17029 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
17030
17031 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
17032 segment 0x0 unconditionally, because the reference generated by
17033 GAS is an absolute address.
17034
17035 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17036
17037 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
17038 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
17039
17040 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17041
17042 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
17043 indexes. Check for -f explicitly.
17044 (search_file): Improve error message.
17045 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
17046
17047 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17048
17049 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
17050 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
17051
17052 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17053
17054 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
17055 * conf/i386-ieee1275.rmk: Likewise.
17056 * conf/i386-coreboot.rmk: Likewise.
17057
17058 * kern/i386/pc/startup.S (grub_stop): Remove function.
17059 * kern/i386/ieee1275/startup.S: Likewise.
17060 * kern/i386/coreboot/startup.S: Likewise.
17061 * kern/i386/misc.S (grub_stop): New function.
17062
17063 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17064
17065 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
17066 * kern/i386/realmode.S (real_to_prot): ... to here.
17067
17068 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17069
17070 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
17071 with `kernel.img'.
17072 (kernel_elf_SOURCES): Rename to ...
17073 (kernel_img_SOURCES): ... this.
17074 (kernel_elf_HEADERS): Rename to ...
17075 (kernel_img_HEADERS): ... this. Update all users.
17076 (kernel_elf_ASFLAGS): Rename to ...
17077 (kernel_img_ASFLAGS): ... this.
17078 (kernel_elf_CFLAGS): Rename to ...
17079 (kernel_img_CFLAGS): ... this.
17080 (kernel_elf_LDFLAGS): Rename to ...
17081 (kernel_img_LDFLAGS): ... this.
17082 * conf/i386-coreboot.rmk: Likewise.
17083 * conf/powerpc-ieee1275.rmk: Likewise.
17084
17085 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
17086 with "kernel.img".
17087
17088 2009-06-21 Pavel Roskin <proski@gnu.org>
17089
17090 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
17091 to match nested functions.
17092 * loader/sparc64/ieee1275/linux.c: Likewise.
17093
17094 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
17095
17096 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17097
17098 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
17099 all i386 platforms.
17100
17101 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17102
17103 Fix asm file handling on ELF, and remove workarounds.
17104
17105 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
17106 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
17107 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
17108 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
17109
17110 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
17111
17112 Load BSD ELF modules
17113
17114 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
17115 and loader/i386/bsd64.c
17116 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
17117 (FREEBSD_MODTYPE_ELF_MODULE): New definition
17118 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
17119 (grub_freebsd_load_elfmodule32): New declaration
17120 (grub_freebsd_load_elfmoduleobj64): Likewise
17121 (grub_freebsd_load_elf_meta32): Likewise
17122 (grub_freebsd_load_elf_meta64): Likewise
17123 (grub_freebsd_add_meta): Likewise
17124 (grub_freebsd_add_meta_module): Likewise
17125 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
17126 (grub_freebsd_add_meta_module): Likewise and move module-specific
17127 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
17128 (grub_cmd_freebsd): Add elf-kernel specific parts
17129 based on grub_freebsd_add_meta_module
17130 (grub_cmd_freebsd_module): Add type parsing moved from
17131 grub_freebsd_add_meta_module
17132 (grub_cmd_freebsd_module_elf): New function
17133 (cmd_freebsd_module_elf): New variable
17134 (GRUB_MOD_INIT): Register freebsd_module_elf
17135 * loader/i386/bsd32.c: New file
17136 * loader/i386/bsd64.c: Likewise
17137 * loader/i386/bsdXX.c: Likewise
17138 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
17139 (grub_elf64_load): Likewise
17140 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
17141 All users updated
17142 (grub_elf64_load_hook_t): Likewise
17143
17144 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
17145
17146 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
17147 variable.
17148 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
17149 don't write a menu entry for recovery mode.
17150
17151 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17152
17153 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
17154 after it's no longer needed.
17155
17156 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17157
17158 * include/grub/i386/loader.h (grub_linux_prot_size)
17159 (grub_linux_tmp_addr, grub_linux_real_addr)
17160 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
17161 GRUB_MACHINE_PCBIOS.
17162 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
17163 common grub_util_info() call to ...
17164 (generate_image): ... here.
17165 Fix use of uninitialized memory, comparison of signed with
17166 unsigned integers and memory leak.
17167 Remove bogus module address message.
17168
17169 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17170
17171 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
17172 grub_raid_register
17173 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
17174
17175 2009-06-19 Pavel Roskin <proski@gnu.org>
17176
17177 * configure.ac: Remove stray AC_MSG_CHECKING.
17178
17179 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
17180
17181 * disk/scsi.c (grub_scsi_open): use continue instead of big if
17182
17183 2009-06-18 Pavel Roskin <proski@gnu.org>
17184
17185 * conf/common.rmk: Add fs_file.mod.
17186 * disk/fs_file.c: New file.
17187 * include/grub/disk.h (enum grub_disk_dev_id): Add
17188 GRUB_DISK_DEVICE_FILE_ID.
17189
17190 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17191
17192 Fix build with Apple's toolchain. Part 2
17193
17194 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
17195 a fake start
17196
17197 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17198
17199 Fix build with Apple's toolchain. Part 1
17200
17201 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
17202 for long calls
17203 * configure.ac: remove a leftover AC_MSG_RESULT
17204 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
17205 Apple's toolchain
17206
17207 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 Fix warnings
17210
17211 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
17212 (decomp_block): initialize ch
17213 use grub_memcpy instead of memcpy
17214
17215 2009-06-17 Pavel Roskin <proski@gnu.org>
17216
17217 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
17218 version, use declarations needed to use vga_text as the startup
17219 console.
17220
17221 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
17222 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
17223 the kernel.
17224 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
17225 and grub_at_keyboard_fini(), it's done on module load and
17226 unload.
17227
17228 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
17229
17230 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
17231 file can't be found.
17232 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17233
17234 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17235
17236 Fix newline handling
17237
17238 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
17239 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
17240 (grub_script_yylex): don't segfault on unterminated script
17241 newline terminates command and variable
17242
17243 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17244
17245 avoid double grub_adjust_range call. Bug reported by David Simner
17246
17247 * kern/disk.c (grub_disk_write): change to raw disk access before
17248 calling disk_read
17249
17250 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
17251
17252 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
17253 spaces, for the benefit of help2man.
17254 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17255
17256 2009-06-16 Pavel Roskin <proski@gnu.org>
17257
17258 * kern/i386/halt.c: Include grub/machine/init.h.
17259 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
17260
17261 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
17262
17263 * util/grub.d/30_os-prober.in: Use ${root} in the generated
17264 drivemap menuentry.
17265
17266 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
17267
17268 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
17269 `echo' command.
17270
17271 2009-06-16 Pavel Roskin <proski@gnu.org>
17272
17273 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
17274 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
17275 save %dx, we only need %dl and we never change it.
17276 * boot/i386/pc/cdboot.S: Don't set the root drive.
17277 * boot/i386/pc/pxeboot.S: Likewise.
17278 * include/grub/i386/pc/boot.h: Remove
17279 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
17280 GRUB_BOOT_MACHINE_DRIVE_CHECK.
17281 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
17282 * kern/i386/pc/init.c (make_install_device): Remove references
17283 to grub_root_drive.
17284 * kern/i386/pc/startup.S: Likewise.
17285 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
17286
17287 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17288
17289 xnu_uuid command
17290
17291 * commands/xnu_uuid.c: new file
17292 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
17293 (xnu_uuid_mod_SOURCES): new variable
17294 (xnu_uuid_mod_CFLAGS): likewise
17295 (xnu_uuid_mod_LDFLAGS): likewise
17296 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17297 * conf/i386-ieee1275.rmk: likewise
17298 * conf/i386-pc.rmk: likewise
17299 * conf/powerpc-ieee1275.rmk: likewise
17300 * conf/sparc64-ieee1275.rmk: likewise
17301 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
17302
17303 2009-06-16 Pavel Roskin <proski@gnu.org>
17304
17305 * configure.ac: Avoid '==' in test command, it's not portable.
17306
17307 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17308
17309 Probe command
17310
17311 * commands/probe.c: new file
17312 * conf/common.rmk (pkglib_MODULES): add probe.mod
17313 (probe_mod_SOURCES): new variable
17314 (probe_mod_CFLAGS): likewise
17315 (probe_mod_LDFLAGS): likewise
17316 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17317 * conf/i386-ieee1275.rmk: likewise
17318 * conf/i386-pc.rmk: likewise
17319 * conf/powerpc-ieee1275.rmk: likewise
17320 * conf/sparc64-ieee1275.rmk: likewise
17321
17322 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
17323
17324 Fix handling of string like \"hello\" and "a
17325 b"
17326
17327 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
17328 (grub_script_yylex): fix parsing of quoting, escaping and newline
17329
17330 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
17331
17332 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
17333 handling
17334
17335 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
17336
17337 * util/grub-mkconfig.in: Fix parsing of --output option.
17338
17339 2009-06-12 Pavel Roskin <proski@gnu.org>
17340
17341 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
17342 genmk.rb don't need to be generated or installed.
17343
17344 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17345
17346 * commands/i386/pc/drivemap_int13h.S: add more comments
17347
17348 2009-06-11 Pavel Roskin <proski@gnu.org>
17349
17350 * Makefile.in (uninstall): Uninstall manuals.
17351
17352 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
17353 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
17354 and update-grub_lib in two places.
17355 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
17356
17357 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
17358 a compiler warning.
17359
17360 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
17361 `entry_lo' to fix variable shadowing.
17362
17363 2009-06-11 Christian Franke <franke@computer.org>
17364
17365 * kern/misc.c (__enable_execute_stack): Add missing return type
17366 to prevent gcc warning.
17367
17368 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17369
17370 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
17371
17372 2009-06-11 Pavel Roskin <proski@gnu.org>
17373
17374 * Makefile.in: Don't rely on any scripts being executable.
17375 Always use $(SHELL) to run shell scripts.
17376
17377 * configure.ac: Always define ___main if using -nostdlib. This
17378 fixes tests on Cygwin.
17379
17380 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
17381
17382 UDF fix
17383
17384 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
17385 is in bytes and not in blocks
17386
17387 2009-06-11 Pavel Roskin <proski@gnu.org>
17388
17389 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
17390 warning.
17391
17392 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17393
17394 * util/grub.d/30_os-prober.in: Fix a comment. Source
17395 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
17396 to set the root device. Place drivemap command in the generated
17397 chain entry.
17398
17399 2009-06-11 Pavel Roskin <proski@gnu.org>
17400
17401 * configure.ac: Remove host_m32. Issues with 64-bit utilities
17402 have long been resolved.
17403
17404 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
17405
17406 * util/grub.d/10_linux.in: Capitalise "Linux".
17407
17408 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
17409
17410 2009-06-11 Pavel Roskin <proski@gnu.org>
17411
17412 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
17413 fix a gcc warning and ensure that the function won't ever exit.
17414
17415 * kern/i386/ieee1275/init.c: Add missing prototype for
17416 grub_stop_floppy().
17417
17418 * loader/ieee1275/multiboot2.c [__i386__]: Include
17419 grub/cpu/multiboot.h.
17420
17421 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
17422 casts to short - they are not portable and cause warnings. Fix
17423 use of uninitialized values in input_buf. Use ARRAY_SIZE.
17424
17425 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
17426
17427 Drivemap fixes
17428
17429 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
17430 new function
17431 (grub_get_root_biosnumber_saved): new variable
17432 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
17433 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
17434 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
17435 %dx after the call if necessary
17436 * conf/common.rmk (pkglib_MODULES): remove boot.mod
17437 (boot_mod_SOURCES): remove
17438 (boot_mod_CFLAGS): remove
17439 (boot_mod_LDFLAGS): remove
17440 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
17441 (boot_mod_SOURCES): new variable
17442 (boot_mod_CFLAGS): likewise
17443 (boot_mod_LDFLAGS): likewise
17444 * conf/i386-efi.rmk: likewise
17445 * conf/i386-ieee1275.rmk: likewise
17446 * conf/i386-pc.rmk: likewise
17447 * conf/powerpc-ieee1275.rmk: likewise
17448 * conf/sparc64-ieee1275.rmk: likewise
17449 * conf/x86_64-efi.rmk: likewise
17450 * include/grub/i386/pc/biosnum.h: new file
17451 * lib/i386/pc/biosnum.c: likewise
17452 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
17453 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
17454 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
17455
17456 2009-06-10 Pavel Roskin <proski@gnu.org>
17457
17458 * io/gzio.c (test_header): Don't reuse one buffer for all data.
17459 Use separate variables. Read only the file size at the end, but
17460 not the checksum that we don't use.
17461
17462 * kern/file.c (grub_file_read): Use void pointer for the buffer.
17463 Adjust all callers.
17464
17465 * kern/ieee1275/openfw.c: Remove libc includes.
17466 * kern/ieee1275/cmain.c: Likewise.
17467 * include/grub/ieee1275/ieee1275.h: Likewise.
17468
17469 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
17470 compiler warnings.
17471
17472 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17473
17474 * Makefile.in: Remove all trailing whitespace.
17475 * conf/i386-pc.rmk: Likewise.
17476 * conf/powerpc-ieee1275.rmk: Likewise.
17477 * conf/sparc64-ieee1275.rmk: Likewise.
17478 * docs/grub.texi: Likewise.
17479 * docs/texinfo.tex: Likewise.
17480 * disk/fs_uuid.c: Likewise.
17481 * disk/lvm.c: Likewise.
17482 * disk/scsi.c: Likewise.
17483 * disk/ata.c: Likewise.
17484 * disk/ieee1275/ofdisk.c: Likewise.
17485 * disk/i386/pc/biosdisk.c: Likewise.
17486 * disk/host.c: Likewise.
17487 * disk/raid.c: Likewise.
17488 * disk/efi/efidisk.c: Likewise.
17489 * disk/usbms.c: Likewise.
17490 * disk/memdisk.c: Likewise.
17491 * disk/loopback.c: Likewise.
17492 * kern/powerpc/dl.c: Likewise.
17493 * kern/device.c: Likewise.
17494 * kern/dl.c: Likewise.
17495 * kern/sparc64/dl.c: Likewise.
17496 * kern/ieee1275/ieee1275.c: Likewise.
17497 * kern/term.c: Likewise.
17498 * kern/fs.c: Likewise.
17499 * kern/i386/dl.c: Likewise.
17500 * kern/i386/pc/startup.S: Likewise.
17501 * kern/i386/pc/init.c: Likewise.
17502 * kern/i386/pc/mmap.c: Likewise.
17503 * kern/i386/pc/lzo1x.S: Likewise.
17504 * kern/i386/ieee1275/init.c: Likewise.
17505 * kern/i386/realmode.S: Likewise.
17506 * kern/i386/tsc.c: Likewise.
17507 * kern/partition.c: Likewise.
17508 * kern/corecmd.c: Likewise.
17509 * kern/file.c: Likewise.
17510 * kern/efi/efi.c: Likewise.
17511 * kern/efi/init.c: Likewise.
17512 * kern/efi/mm.c: Likewise.
17513 * kern/main.c: Likewise.
17514 * kern/err.c: Likewise.
17515 * kern/env.c: Likewise.
17516 * kern/disk.c: Likewise.
17517 * kern/generic/millisleep.c: Likewise.
17518 * kern/generic/rtc_get_time_ms.c: Likewise.
17519 * kern/misc.c: Likewise.
17520 * kern/parser.c: Likewise.
17521 * genmk.rb: Likewise.
17522 * configure.ac: Likewise.
17523 * boot/i386/pc/diskboot.S: Likewise.
17524 * boot/i386/pc/pxeboot.S: Likewise.
17525 * boot/i386/pc/boot.S: Likewise.
17526 * boot/i386/pc/lnxboot.S: Likewise.
17527 * boot/i386/pc/cdboot.S: Likewise.
17528 * parttool/pcpart.c: Likewise.
17529 * video/readers/tga.c: Likewise.
17530 * video/video.c: Likewise.
17531 * video/bitmap.c: Likewise.
17532 * lib/envblk.c: Likewise.
17533 * lib/i386/setjmp.S: Likewise.
17534 * fs/xfs.c: Likewise.
17535 * fs/afs.c: Likewise.
17536 * fs/fat.c: Likewise.
17537 * fs/ntfs.c: Likewise.
17538 * fs/udf.c: Likewise.
17539 * fs/affs.c: Likewise.
17540 * fs/iso9660.c: Likewise.
17541 * fs/hfs.c: Likewise.
17542 * fs/fshelp.c: Likewise.
17543 * fs/ext2.c: Likewise.
17544 * fs/jfs.c: Likewise.
17545 * fs/reiserfs.c: Likewise.
17546 * fs/hfsplus.c: Likewise.
17547 * fs/minix.c: Likewise.
17548 * fs/cpio.c: Likewise.
17549 * fs/sfs.c: Likewise.
17550 * fs/ufs.c: Likewise.
17551 * efiemu/prepare.c: Likewise.
17552 * efiemu/loadcore_common.c: Likewise.
17553 * efiemu/runtime/efiemu.sh: Likewise.
17554 * efiemu/runtime/efiemu.S: Likewise.
17555 * efiemu/runtime/efiemu.c: Likewise.
17556 * efiemu/pnvram.c: Likewise.
17557 * efiemu/main.c: Likewise.
17558 * efiemu/i386/pc/cfgtables.c: Likewise.
17559 * efiemu/i386/loadcore64.c: Likewise.
17560 * efiemu/i386/loadcore32.c: Likewise.
17561 * efiemu/loadcore.c: Likewise.
17562 * efiemu/symbols.c: Likewise.
17563 * efiemu/mm.c: Likewise.
17564 * include/grub/autoefi.h: Likewise.
17565 * include/grub/datetime.h: Likewise.
17566 * include/grub/term.h: Likewise.
17567 * include/grub/hfs.h: Likewise.
17568 * include/grub/lvm.h: Likewise.
17569 * include/grub/i386/tsc.h: Likewise.
17570 * include/grub/i386/linux.h: Likewise.
17571 * include/grub/i386/xnu.h: Likewise.
17572 * include/grub/i386/efiemu.h: Likewise.
17573 * include/grub/i386/pc/biosdisk.h: Likewise.
17574 * include/grub/i386/pc/memory.h: Likewise.
17575 * include/grub/i386/pc/vbe.h: Likewise.
17576 * include/grub/parttool.h: Likewise.
17577 * include/grub/video.h: Likewise.
17578 * include/grub/memory.h: Likewise.
17579 * include/grub/fs.h: Likewise.
17580 * include/grub/partition.h: Likewise.
17581 * include/grub/xnu.h: Likewise.
17582 * include/grub/efi/api.h: Likewise.
17583 * include/grub/efi/pe32.h: Likewise.
17584 * include/grub/efi/memory.h: Likewise.
17585 * include/grub/multiboot.h: Likewise.
17586 * include/grub/usbdesc.h: Likewise.
17587 * include/grub/multiboot2.h: Likewise.
17588 * include/grub/acpi.h: Likewise.
17589 * include/grub/efiemu/efiemu.h: Likewise.
17590 * include/grub/disk.h: Likewise.
17591 * include/grub/ieee1275/ieee1275.h: Likewise.
17592 * include/grub/net.h: Likewise.
17593 * include/grub/machoload.h: Likewise.
17594 * include/grub/macho.h: Likewise.
17595 * include/multiboot.h: Likewise.
17596 * genmoddep.awk: Likewise.
17597 * normal/main.c: Likewise.
17598 * normal/menu_entry.c: Likewise.
17599 * normal/menu_viewer.c: Likewise.
17600 * normal/completion.c: Likewise.
17601 * normal/cmdline.c: Likewise.
17602 * normal/misc.c: Likewise.
17603 * normal/datetime.c: Likewise.
17604 * bus/usb/usbtrans.c: Likewise.
17605 * bus/usb/ohci.c: Likewise.
17606 * bus/usb/uhci.c: Likewise.
17607 * bus/usb/usb.c: Likewise.
17608 * mmap/efi/mmap.c: Likewise.
17609 * mmap/i386/pc/mmap_helper.S: Likewise.
17610 * mmap/i386/pc/mmap.c: Likewise.
17611 * mmap/i386/mmap.c: Likewise.
17612 * mmap/i386/uppermem.c: Likewise.
17613 * mmap/mmap.c: Likewise.
17614 * commands/acpi.c: Likewise.
17615 * commands/echo.c: Likewise.
17616 * commands/blocklist.c: Likewise.
17617 * commands/loadenv.c: Likewise.
17618 * commands/usbtest.c: Likewise.
17619 * commands/boot.c: Likewise.
17620 * commands/parttool.c: Likewise.
17621 * commands/search.c: Likewise.
17622 * commands/cat.c: Likewise.
17623 * commands/i386/pc/play.c: Likewise.
17624 * commands/i386/pc/drivemap.c: Likewise.
17625 * commands/i386/pc/vbeinfo.c: Likewise.
17626 * commands/i386/pc/acpi.c: Likewise.
17627 * commands/i386/pc/vbetest.c: Likewise.
17628 * commands/ls.c: Likewise.
17629 * commands/cmp.c: Likewise.
17630 * commands/test.c: Likewise.
17631 * commands/efi/acpi.c: Likewise.
17632 * commands/gptsync.c: Likewise.
17633 * commands/help.c: Likewise.
17634 * partmap/amiga.c: Likewise.
17635 * partmap/apple.c: Likewise.
17636 * partmap/acorn.c: Likewise.
17637 * partmap/pc.c: Likewise.
17638 * partmap/sun.c: Likewise.
17639 * partmap/gpt.c: Likewise.
17640 * script/sh/lexer.c: Likewise.
17641 * script/sh/function.c: Likewise.
17642 * font/font.c: Likewise.
17643 * font/font_cmd.c: Likewise.
17644 * loader/powerpc/ieee1275/linux.c: Likewise.
17645 * loader/efi/chainloader.c: Likewise.
17646 * loader/multiboot_loader.c: Likewise.
17647 * loader/macho.c: Likewise.
17648 * loader/i386/multiboot.c: Likewise.
17649 * loader/i386/linux.c: Likewise.
17650 * loader/i386/pc/linux.c: Likewise.
17651 * loader/i386/pc/multiboot2.c: Likewise.
17652 * loader/i386/pc/chainloader.c: Likewise.
17653 * loader/i386/pc/xnu.c: Likewise.
17654 * loader/i386/bsd_trampoline.S: Likewise.
17655 * loader/i386/efi/linux.c: Likewise.
17656 * loader/i386/multiboot_elfxx.c: Likewise.
17657 * loader/i386/bsd_helper.S: Likewise.
17658 * loader/i386/bsd.c: Likewise.
17659 * loader/i386/linux_trampoline.S: Likewise.
17660 * loader/i386/xnu_helper.S: Likewise.
17661 * loader/i386/xnu.c: Likewise.
17662 * loader/i386/bsd_pagetable.c: Likewise.
17663 * loader/i386/multiboot_helper.S: Likewise.
17664 * loader/xnu.c: Likewise.
17665 * loader/xnu_resume.c: Likewise.
17666 * io/gzio.c: Likewise.
17667 * term/efi/console.c: Likewise.
17668 * term/terminfo.c: Likewise.
17669 * term/ieee1275/ofconsole.c: Likewise.
17670 * term/i386/pc/serial.c: Likewise.
17671 * term/i386/pc/vesafb.c: Likewise.
17672 * term/i386/pc/vga.c: Likewise.
17673 * term/usb_keyboard.c: Likewise.
17674 * term/gfxterm.c: Likewise.
17675 * aclocal.m4: Likewise.
17676 * util/lvm.c: Likewise.
17677 * util/grub.d/30_os-prober.in: Likewise.
17678 * util/grub.d/10_hurd.in: Likewise.
17679 * util/console.c: Likewise.
17680 * util/grub-macho2img.c: Likewise.
17681 * util/grub-probe.c: Likewise.
17682 * util/hostfs.c: Likewise.
17683 * util/i386/pc/grub-mkimage.c: Likewise.
17684 * util/i386/pc/grub-setup.c: Likewise.
17685 * util/i386/efi/grub-mkimage.c: Likewise.
17686 * util/grub-mkconfig.in: Likewise.
17687 * util/raid.c: Likewise.
17688 * util/resolve.c: Likewise.
17689 * util/grub-mkdevicemap.c: Likewise.
17690 * util/grub-emu.c: Likewise.
17691 * util/getroot.c: Likewise.
17692 * util/hostdisk.c: Likewise.
17693 * util/usb.c: Likewise.
17694 * util/grub-editenv.c: Likewise.
17695 * util/misc.c: Likewise.
17696
17697 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17698
17699 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
17700 `genparttoollist.sh'.
17701 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
17702 Add `*.sh' to the list find searches for and change `mdate.sh'
17703 to `mdate-sh'.
17704
17705 2009-06-10 Pavel Roskin <proski@gnu.org>
17706
17707 * include/grub/multiboot2.h: Provide compatibility defines for
17708 multiboot2.h.
17709 * include/multiboot2.h: Include stdint.h only if needed, using
17710 angle brackets.
17711 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
17712 grub/multiboot2.h.
17713 * loader/ieee1275/multiboot2.c: Likewise.
17714 * loader/multiboot2.c: Likewise.
17715 * loader/multiboot_loader.c: Likewise.
17716
17717 * configure.ac: Use -nostdlib when probing for the target. It
17718 should not be required to have libc for the target.
17719
17720 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
17721 they fail without libc headers for the target.
17722 * include/grub/powerpc/libgcc.h: Use weak attribute for all
17723 exports.
17724 * include/grub/sparc64/libgcc.h: Likewise. Don't use
17725 preprocessor conditionals.
17726
17727 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
17728 build system doesn't need to be aware of the tar.c internals.
17729
17730 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
17731
17732 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
17733
17734 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
17735
17736 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
17737 disk limit to 26 for IDE, Virtio, Xen and SCSI.
17738
17739 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
17740
17741 * util/i386/pc/grub-install.in: Change the error message if UUIDs
17742 aren't available if ata.mod gets used.
17743
17744 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
17745
17746 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
17747 initialising controller.
17748 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17749
17750 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17751
17752 * util/i386/pc/grub-install.in: Add a parameter --disk-module
17753 to choose between ata and biosdisk module on i386-pc.
17754
17755 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
17756
17757 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
17758 Subclass and Programming Interface fields in terms of the 3 byte
17759 Class Code register.
17760 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17761
17762 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
17763 interface is OHCI. Add grub_dprintf for symmetry with
17764 bus/usb/uhci.c.
17765 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
17766 interface is UHCI. Add interf variable for programming
17767 interface. Print interface with class/subclass.
17768
17769 * bus/usb/ohci.c: Set interf with correct field.
17770
17771 * bus/usb/uhci.c: Remove unneeded doubled lines.
17772 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
17773 Remove whitespace inside comment.
17774
17775 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
17776
17777 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
17778 as fallback an equivalent option without depth.
17779
17780 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17781
17782 Not fail if unable to retrieve C/H/S on LBA disks
17783
17784 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
17785 if unable to retrieve C/H/S on LBA disks
17786
17787 2009-06-08 Pavel Roskin <proski@gnu.org>
17788
17789 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
17790 about aliasing.
17791
17792 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17793
17794 * Makefile.in (uninstall): Remove all $lib_DATA files.
17795
17796 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17797
17798 Bugfix: install on partitionless device
17799
17800 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
17801 is a whole disk
17802
17803 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17804
17805 * Makefile.in (uninstall): Remove all $include_DATA files.
17806
17807 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17808
17809 * commands/true.c: New file. Implement the true and false commands.
17810 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
17811 (true_mod_SOURCES): New variable.
17812 (true_mod_CFLAGS): Likewise.
17813 (true_mod_LDFLAGS): Likewise.
17814
17815 2009-06-05 Colin D Bennett <colin@gibibit.com>
17816
17817 Optimized font character lookup using binary search instead of linear
17818 search. Fonts now are required to have the character index ordered by
17819 code point.
17820
17821 * font/font.c (load_font_index): Verify that fonts have ordered
17822 character indices.
17823 (find_glyph): Use binary search instead of linear search to find a
17824 character in a font.
17825
17826 2009-06-05 Michael Scherer <misc@mandriva.org>
17827
17828 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
17829 uses case sensitive btree.
17830 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
17831 only for case insensitive filesystems.
17832
17833 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
17834
17835 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
17836 * conf/common.rmk (search_mod_CFLAGS): likewise
17837
17838 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17839
17840 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
17841 compensate a compiler bug
17842
17843 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17844
17845 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
17846 instead of '\b'
17847
17848 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17849
17850 Definitions for creating asm symbols with Apple's CC
17851
17852 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
17853 [APPLE_CC] (VARIABLE): likewise
17854
17855 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17856
17857 Disable lnxboot.img when compiled
17858 with Apple's CC
17859
17860 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
17861 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
17862 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
17863 [! APPLE_CC] (CODE_LENG): skip
17864 [! APPLE_CC] (setup_sects): likewise
17865 [! APPLE_CC]: skip filling
17866
17867 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17868
17869 Address in trampolines based on 32-bit registers when compiled
17870 with Apple's CC
17871
17872 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
17873 for addresses
17874 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
17875
17876 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17877
17878 Avoid aliases when compiling with Apple's CC for PCBIOS machine
17879
17880 * kern/misc.c [APPLE_CC] (memcpy): new function
17881 [APPLE_CC] (memmove): likewise
17882 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
17883 (memcpy): define alias conditionally on !APPLE_CC
17884 (memset): likewise
17885 (abort): likewise
17886 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
17887 APPLE_CC are defined
17888 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
17889 (grub_assert_fail): make prototype conditional
17890
17891 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17892
17893 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
17894
17895 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
17896 grub-macho2img
17897 (CLEANFILES): add grub-macho2img
17898 (grub_macho2img_SOURCES): new variable
17899 * kern/i386/pc/startup.S (bss_start): new variable
17900 (bss_end): likewise
17901 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
17902 * util/grub-macho2img.c: new file
17903
17904 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17905
17906 Use objconv when compiling with Apple's CC
17907
17908 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
17909 (efiemu64.o): likewise
17910 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
17911 when compiling with Apple's CC
17912 (efiemu64_s.o): likewise
17913 * configure.ac: check for objconv when compiling with Apple's CC
17914 * genmk.rb: use objconv for modules when compiled with Apple's CC
17915
17916 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17917
17918 Define segment as well as section when compiling with
17919 Apple's CC
17920
17921 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
17922 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
17923 (efiemu_convert_pointer): likewise
17924 (efiemu_set_virtual_address_map): likewise
17925 (efiemu_convert_pointer): likewise
17926 (efiemu_getcrc32): likewise
17927 (init_crc32_table): likewise
17928 (reflect): likewise
17929 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
17930 (GRUB_MOD_DEP): likewise
17931
17932 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17933
17934 Allow a compilation without -mcmodel=large
17935
17936 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
17937 when compiled without -mcmodel=large
17938 (filter_memory_map): remove memory post 4 GiB when compiled
17939 without -mcmodel=large
17940 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
17941 TARGET_CFLAGS when -mcmodel=large isn't supported
17942
17943 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17944
17945 Remove nested functions in efiemu core
17946
17947 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
17948
17949 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17950
17951 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
17952
17953 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
17954 temporary storage
17955 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
17956 using Apple's CC
17957 (grub_cpu_is_tsc_supported): likewise
17958 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
17959
17960 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17961
17962 Absolute addressing through constant with Apple's cc
17963
17964 * kern/i386/pc/startup.S: Define necessary constants
17965 and address through it when using ABS with Apple's CC
17966 * boot/i386/pc/diskboot.S: likewise
17967 * boot/i386/pc/boot.S: likewise
17968 * boot/i386/pc/lnxboot.S: likewise
17969 * boot/i386/pc/cdboot.S: likewise
17970 * mmap/i386/pc/mmap_helper.S: likewise
17971 * commands/i386/pc/drivemap_int13h.S: likewise
17972
17973 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17974
17975 Check if compiler is apple cc
17976
17977 * Makefile.in (ASFLAGS): new variable
17978 (TARGET_ASFLAGS): likewise
17979 (TARGET_MODULE_FORMAT): likewise
17980 (TARGET_APPLE_CC): likewise
17981 (OBJCONV): likewise
17982 (TARGET_IMG_CFLAGS): likewise
17983 (TARGET_CPPFLAGS): add includedir
17984 * configure.ac: call grub_apple_cc and grub_apple_target_cc
17985 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
17986 Check for linker script only if compiler isn't Apple's CC
17987 (TARGET_MODULE_FORMAT): set
17988 (TARGET_APPLE_CC): likewise
17989 (TARGET_ASFLAGS): likewise
17990 (ASFLAGS): likewise
17991 Check for objcopy only if compiler isn't Apple's CC
17992 Check for BSS symbol only if compiler isn't Apple's CC
17993 * genmk.rb: adapt nm options if we use Apple's utils
17994 * aclocal.m4 (grub_apple_cc): new test
17995 (grub_apple_target_cc): likewise
17996
17997 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17998
17999 Simplify sed expressions and improve awk
18000
18001 * Makefile.in (install-local): simplify sed expression
18002 * gencmdlist.sh: likewise
18003 * genmoddep.awk: avoid adding module as a dependency of itself
18004
18005 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18006
18007 Add missing start symbols
18008
18009 * boot/i386/pc/boot.S: add start
18010 * boot/i386/pc/pxeboot.S: likewise
18011
18012 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18013
18014 Fix wrong assumptions with grub-mkimage on EFI
18015
18016 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
18017 (relocate_addresses): consider both r_addend and value at offset
18018 (make_mods_section): zerofill modinfo and header
18019 (convert_elf): write prefix here
18020
18021 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 Use .asciz instead of .string
18024
18025 * i386/pc/diskboot.S: use .asciz instead of .string
18026 * i386/pc/boot.S: likewise
18027 * include/grub/dl.h (GRUB_MOD_DEP): likewise
18028 (GRUB_MOD_NAME): likewise
18029
18030 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18031
18032 gfxpayload support
18033
18034 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
18035 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
18036 (grub_video_setup): remove
18037 (grub_video_set_mode): new prototype
18038 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
18039 (vid_mode): remove
18040 (linux_vesafb_res): compile only on PCBIOS
18041 (grub_linux_boot): support gfxpayload
18042 * loader/i386/pc/xnu.c (video_hook): new function
18043 (grub_xnu_set_video): support gfxpayload
18044 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
18045 (DEFAULT_VIDEO_HEIGHT): likewise
18046 (DEFAULT_VIDEO_FLAGS): likewise
18047 (DEFAULT_VIDEO_MODE): new definition
18048 (video_hook): new function
18049 (grub_gfxterm_init): use grub_video_set_mode
18050 * util/grub.d/30_os-prober.in: remove explicit modesetting before
18051 loading xnu
18052 * video/video.c (grub_video_setup): removed
18053 (grub_video_set_mode): new function based on grub_gfxterm_init and
18054 grub_video_setup
18055
18056 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 Avoid calling biosdisk in drivemap
18059
18060 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
18061 (revparse_biosdisk): likewise
18062 (list_mappings): derive name from id directly
18063 (grub_cmd_drivemap): use tryparse_diskstring
18064
18065 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18066
18067 Script fixes
18068
18069 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
18070 (grub_lexer_param): add tokenonhold
18071 (grub_script_create_cmdline): remove cmdline. All callers updated
18072 (grub_script_function_create): make functionname
18073 grub_script_arg. All callers updated
18074 (grub_script_execute_argument_to_string): new prototype
18075 * kern/parser.c (state_transitions): reorder
18076 (grub_parser_cmdline_state): fix a bug and make more compact
18077 * script/sh/execute.c (grub_script_execute_argument_to_string):
18078 make global
18079 (grub_script_execute_cmdline): use new format
18080 * script/sh/function.c (grub_script_function_create): make functionname
18081 grub_script_arg. All callers updated
18082 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
18083 (grub_script_yylex): remove
18084 (grub_script_yylex2): renamed to ...
18085 (grub_script_yylex): ...renamed
18086 parse the expressions like a${b}c
18087 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
18088 (GRUB_PARSER_TOKEN_VAR): remove
18089 (GRUB_PARSER_TOKEN_NAME): likewise
18090 ("if"): declare as typeless
18091 ("while"): likewise
18092 ("function"): likewise
18093 ("else"): likewise
18094 ("then"): likewise
18095 ("fi"): likewise
18096 (text): remove
18097 (argument): likewise
18098 (script): accept empty scripts and make exit on error
18099 (arguments): use GRUB_PARSER_TOKEN_ARG
18100 (function): likewise
18101 (command): move error handling to script
18102 (menuentry): move grub_script_lexer_ref before
18103 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
18104 argument. All callers updated
18105
18106 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18107
18108 Prevent GRUB from probing floppies during boot.
18109
18110 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
18111 * commands/search.c (options): Add --no-floppy.
18112 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
18113 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
18114 --no-floppy when searching for UUIDs.
18115
18116 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18117
18118 Simplify the code duplication in commands/search.c.
18119
18120 * commands/search.c (search_label, search_fs_uuid): Merge into ...
18121 (search_fs): ... this. Update all users.
18122
18123 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
18124
18125 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
18126
18127 2009-05-28 Pavel Roskin <proski@gnu.org>
18128
18129 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
18130 Remove the original symlink explicitly.
18131
18132 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
18133 just one slash. That's how grub_fshelp_find_file() does it.
18134
18135 2009-05-26 Pavel Roskin <proski@gnu.org>
18136
18137 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
18138 to `str'.
18139
18140 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
18141 possibly unused.
18142
18143 2009-05-25 Christian Franke <franke@computer.org>
18144
18145 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
18146 register.
18147 (grub_atapi_identify): Add wait after drive select.
18148 (grub_ata_identify): Do more strict status register check before
18149 calling grub_atapi_identify (). Suppress error message if status
18150 register is 0x00 after command failure. Add status register
18151 check after PIO read to avoid bogus identify due to stuck DRQ.
18152 Thanks to Pavel Roskin for testing.
18153 (grub_device_initialize): Remove unsafe status register check.
18154 Thanks to 'phcoder' for problem report and patch.
18155 Prevent sign extension in debug message.
18156
18157 2009-05-23 Colin D Bennett <colin@gibibit.com>
18158
18159 Cleaned up `include/grub/normal.h'. Grouped prototypes by
18160 definition file, and functions defined in `normal/menu.c' have had
18161 their prototypes moved to `include/grub/menu.h' for consistency.
18162
18163 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
18164 from normal.h.
18165 (grub_menu_get_entry): Likewise.
18166 (grub_menu_get_timeout): Likewise.
18167 (grub_menu_set_timeout): Likewise.
18168 (grub_menu_execute_entry): Likewise.
18169 (grub_menu_execute_with_fallback): Likewise.
18170 (grub_menu_entry_run): Likewise.
18171
18172 * include/grub/normal.h: Re-ordered and grouped function
18173 prototypes by file that the function is defined in.
18174 (grub_menu_execute_callback): Removed; moved to menu.h.
18175 (grub_menu_get_entry): Likewise.
18176 (grub_menu_get_timeout): Likewise.
18177 (grub_menu_set_timeout): Likewise.
18178 (grub_menu_execute_entry): Likewise.
18179 (grub_menu_execute_with_fallback): Likewise.
18180 (grub_menu_entry_run): Likewise.
18181 (grub_menu_addentry): Renamed from this ...
18182 (grub_normal_add_menu_entry): ... to this.
18183
18184 * normal/main.c (grub_menu_addentry): Renamed from this ...
18185 (grub_normal_add_menu_entry): ... to this.
18186
18187 * script/sh/execute.c (grub_script_execute_menuentry): Update
18188 reference to renamed grub_menu_addentry function.
18189
18190 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
18191
18192 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
18193
18194 2009-05-22 Pavel Roskin <proski@gnu.org>
18195
18196 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
18197 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
18198 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
18199 compiling for the i386 targets, but not for the utilities.
18200
18201 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
18202 to grub_uint8_t.
18203 (grub_root_drive): Likewise.
18204 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
18205 remove alignment.
18206 (grub_root_drive): Change size to byte.
18207 (grub_start_addr): Remove.
18208 (grub_end_addr): Likewise.
18209 (grub_apm_bios_info): Likewise.
18210
18211 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
18212
18213 * normal/i386: Remove.
18214 * normal/powerpc: Likewise.
18215 * normal/sparc64: Likewise.
18216 * normal/x86_64: Likewise.
18217
18218 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18219
18220 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
18221 * loader/i386/linux_trampoline.S: Fix indentation
18222 * loader/i386/xnu_helper.S: Likewise
18223
18224 2009-05-18 Colin D Bennett <colin@gibibit.com>
18225
18226 Display error messages when parsing a Lua statement fails.
18227 Previously, executing a syntactically invalid statement like
18228 ")foo" or "bar;" would silently fail.
18229
18230 * script/lua/grub_main.c (handle_lua_error): New function.
18231 (grub_lua_parse_line): Improved reporting of Lua parser and
18232 execution errors.
18233
18234 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18235
18236 Remove -Werror which causes build to fail on some systems
18237
18238 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
18239 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
18240 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18241
18242 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18243
18244 trampoline for linux on 64-bit platform
18245
18246 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
18247 loader/i386/efi/linux_trampoline.S
18248 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
18249 declaration
18250 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
18251 here
18252 * loader/i386/linux_trampoline.S: moved here
18253 * loader/i386/efi/linux.c (allocate_pages): reserve space for
18254 trampoline
18255 (jumpvector): removed
18256 (grub_linux_trampoline_start): new declaration
18257 (grub_linux_trampoline_end): likewise
18258 (grub_linux_boot): use trampoline when on 64-bit platform
18259 * loader/i386/linux.c: likewise
18260
18261 2009-05-16 Pavel Roskin <proski@gnu.org>
18262
18263 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
18264 const to avoid a warning.
18265 (grub_lua_setenv): Likewise.
18266 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
18267 lmsg to fix a warning.
18268
18269 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
18270
18271 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
18272 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18273 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
18274 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18275 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18276 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18277 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18278 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18279
18280 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
18281
18282 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
18283
18284 2009-05-16 Bean <bean123ch@gmail.com>
18285
18286 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
18287 (lua_mod_SOURCES): New variable.
18288 (lua_mod_CFLAGS): Likewise.
18289 (lua_mod_LDFLAGS): Likewise.
18290
18291 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
18292 (setjmp_mod_SOURCES): New variable.
18293 (setjmp_mod_CFLAGS): Likewise.
18294 (setjmp_LDFLAGS): Likewise.
18295
18296 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
18297 (setjmp_mod_SOURCES): New variable.
18298 (setjmp_mod_CFLAGS): Likewise.
18299 (setjmp_LDFLAGS): Likewise.
18300
18301 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18302 (setjmp_mod_SOURCES): New variable.
18303 (setjmp_mod_CFLAGS): Likewise.
18304 (setjmp_LDFLAGS): Likewise.
18305
18306 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18307 (setjmp_mod_SOURCES): New variable.
18308 (setjmp_mod_CFLAGS): Likewise.
18309 (setjmp_LDFLAGS): Likewise.
18310
18311 * normal/i386/setjmp.S: Moved from here ...
18312 * lib/i386/setjmp.S: ... Moved here
18313 * normal/x86_64/setjmp.S: Moved from here ...
18314 * lib/x86_64/setjmp.S: ... Moved here
18315 * normal/powerpc/setjmp.S: Moved from here ...
18316 * lib/powerpc/setjmp.S: ... Moved here
18317 * normal/sparc64/setjmp.S: Moved from here ...
18318 * lib/sparc64/setjmp.S: ... Moved here
18319
18320 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
18321 returns_twice in mingw.
18322
18323 * script/lua/grub_lib.c: New file.
18324 * script/lua/grub_lib.h: Likewise.
18325 * script/lua/grub_lua.h: Likewise.
18326 * script/lua/grub_main.c: Likewise.
18327 * script/lua/lapi.c: Likewise.
18328 * script/lua/lapi.h: Likewise.
18329 * script/lua/lauxlib.c: Likewise.
18330 * script/lua/lauxlib.h: Likewise.
18331 * script/lua/lbaselib.c: Likewise.
18332 * script/lua/lcode.c: Likewise.
18333 * script/lua/lcode.h: Likewise.
18334 * script/lua/ldblib.c: Likewise.
18335 * script/lua/ldebug.c: Likewise.
18336 * script/lua/ldebug.h: Likewise.
18337 * script/lua/ldo.c: Likewise.
18338 * script/lua/ldo.h: Likewise.
18339 * script/lua/ldump.c: Likewise.
18340 * script/lua/lfunc.c: Likewise.
18341 * script/lua/lfunc.h: Likewise.
18342 * script/lua/lgc.c: Likewise.
18343 * script/lua/lgc.h: Likewise.
18344 * script/lua/linit.c: Likewise.
18345 * script/lua/liolib.c: Likewise.
18346 * script/lua/llex.c: Likewise.
18347 * script/lua/llex.h: Likewise.
18348 * script/lua/llimits.h: Likewise.
18349 * script/lua/lmathlib.c: Likewise.
18350 * script/lua/lmem.c: Likewise.
18351 * script/lua/lmem.h: Likewise.
18352 * script/lua/loadlib.c: Likewise.
18353 * script/lua/lobject.c: Likewise.
18354 * script/lua/lobject.h: Likewise.
18355 * script/lua/lopcodes.c: Likewise.
18356 * script/lua/lopcodes.h: Likewise.
18357 * script/lua/loslib.c: Likewise.
18358 * script/lua/lparser.c: Likewise.
18359 * script/lua/lparser.h: Likewise.
18360 * script/lua/lstate.c: Likewise.
18361 * script/lua/lstate.h: Likewise.
18362 * script/lua/lstring.c: Likewise.
18363 * script/lua/lstring.h: Likewise.
18364 * script/lua/lstrlib.c: Likewise.
18365 * script/lua/ltable.c: Likewise.
18366 * script/lua/ltable.h: Likewise.
18367 * script/lua/ltablib.c: Likewise.
18368 * script/lua/ltm.c: Likewise.
18369 * script/lua/ltm.h: Likewise.
18370 * script/lua/lua.h: Likewise.
18371 * script/lua/luaconf.h: Likewise.
18372 * script/lua/lualib.h: Likewise.
18373 * script/lua/lundump.c: Likewise.
18374 * script/lua/lundump.h: Likewise.
18375 * script/lua/lvm.c: Likewise.
18376 * script/lua/lvm.h: Likewise.
18377 * script/lua/lzio.c: Likewise.
18378 * script/lua/lzio.h: Likewise.
18379
18380 2009-05-16 Bean <bean123ch@gmail.com>
18381
18382 * include/grub/kernel.h (grub_module_header_types): Add type
18383 OBJ_TYPE_CONFIG.
18384
18385 * kern/main.c (grub_load_config): New function.
18386 (grub_main): Call grub_load_config to read boot config.
18387
18388 * grub-mkimage (generate_image): New parameter config_path.
18389 (options): New option --config.
18390 (main): Parse --config option, and pass it to generate_image.
18391
18392 2009-05-14 Christian Franke <franke@computer.org>
18393
18394 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
18395 This fixes build on Cygwin.
18396
18397 2009-05-14 Pavel Roskin <proski@gnu.org>
18398
18399 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
18400 jump. This saves two bytes, so the typical case of 2 swapped
18401 drives would fit 32 bytes.
18402
18403 2009-05-13 Pavel Roskin <proski@gnu.org>
18404
18405 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
18406 grub_uint32_t to avoid a warning.
18407
18408 * loader/i386/linux.c (allocate_pages): When assigning
18409 real_mode_mem, cast through grub_size_t to fix a warning. The
18410 code already makes sure that the value would fit a pointer.
18411 (grub_linux_setup_video): Cast render_target->data to
18412 grub_size_t to fix a warning.
18413
18414 2009-05-13 Javier Martín <lordhabbit@gmail.com>
18415
18416 * commands/i386/pc/drivemap.c: New file - implement drivemap
18417 command.
18418 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
18419 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
18420
18421 2009-05-13 Pavel Roskin <proski@gnu.org>
18422
18423 * util/i386/pc/grub-setup.c (setup): Remove unused variable
18424 embedding_area_exists.
18425
18426 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
18427
18428 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
18429 it easier to understand / work with.
18430 Improve warning messages for cases where there's no embedding area,
18431 or when it is too small (or core.img too large).
18432
18433 2009-05-13 Pavel Roskin <proski@gnu.org>
18434
18435 * loader/i386/pc/multiboot2.c: Add necessary includes for
18436 grub_multiboot2_real_boot().
18437
18438 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
18439 PX record is always little-endian. We only need the lower 2
18440 bytes of the mode.
18441
18442 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
18443 facilitate code reuse.
18444 (grub_cpio_mount): Use "struct head", not a char buffer. This
18445 fixes a warning reported by gcc 4.4.
18446
18447 * kernel/disk.c (grub_disk_read): Use void pointer for the
18448 buffer.
18449 (grub_disk_write): Use const void pointer for the buffer.
18450 Adjust all callers. Remove unnecessary casts.
18451
18452 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
18453
18454 * util/i386/pc/grub-install.in: Update copyright year.
18455
18456 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18457
18458 gptsync
18459
18460 * commands/gptsync.c: new file
18461 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
18462 (gptsync_mod_SOURCES): new variable
18463 (gptsync_mod_CFLAGS): likewise
18464 (gptsync_mod_LDFLAGS): likewise
18465 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
18466 new definition
18467 (GRUB_PC_PARTITION_TYPE_HFS): likewise
18468 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
18469 * conf/i386-ieee1275.rmk: likewise
18470 * conf/i386-pc.rmk: likewise
18471 * conf/powerpc-ieee1275.rmk: likewise
18472
18473 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18474
18475 Fixed grub-emu
18476
18477 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
18478 (grub_dl_ref): likewise
18479
18480 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
18481
18482 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
18483 split in two functions (one for msdos and one for gpt).
18484
18485 2009-05-08 Pavel Roskin <proski@gnu.org>
18486
18487 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
18488 not modified.
18489
18490 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
18491 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
18492 Initialize them with -1. Add sanity check for bad1. Eliminate
18493 nerr variable.
18494
18495 2009-05-08 David S. Miller <davem@davemloft.net>
18496
18497 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
18498
18499 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
18500
18501 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
18502 existence.
18503
18504 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
18505
18506 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18507 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
18508
18509 2009-05-05 David S. Miller <davem@davemloft.net>
18510
18511 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
18512
18513 2009-05-05 Pavel Roskin <proski@gnu.org>
18514
18515 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
18516 of grub_dl_ref() and grub_dl_unref().
18517 * commands/parttool.c: Remove preprocessor conditionals around
18518 grub_dl_ref() and grub_dl_unref().
18519 * fs/affs.c: Likewise.
18520 * fs/afs.c: Likewise.
18521 * fs/cpio.c: Likewise.
18522 * fs/ext2.c: Likewise.
18523 * fs/fat.c: Likewise.
18524 * fs/hfs.c: Likewise.
18525 * fs/hfsplus.c: Likewise.
18526 * fs/iso9660.c: Likewise.
18527 * fs/jfs.c: Likewise.
18528 * fs/minix.c: Likewise.
18529 * fs/ntfs.c: Likewise.
18530 * fs/reiserfs.c: Likewise.
18531 * fs/sfs.c: Likewise.
18532 * fs/udf.c: Likewise.
18533 * fs/ufs.c: Likewise.
18534 * fs/xfs.c: Likewise.
18535 * include/grub/dl.h: Likewise.
18536 * loader/xnu.c: Likewise.
18537
18538 2009-05-04 Pavel Roskin <proski@gnu.org>
18539
18540 * commands/acpi.c: Remove unused variable my_mod.
18541 * partmap/amiga.c: Likewise.
18542 * partmap/apple.c: Likewise.
18543 * partmap/gpt.c: Likewise.
18544 * partmap/pc.c: Likewise.
18545 * partmap/sun.c: Likewise.
18546 * term/gfxterm.c: Likewise.
18547 * term/i386/pc/vesafb.c: Likewise.
18548 * term/i386/pc/vga.c: Likewise.
18549
18550 2009-05-04 David S. Miller <davem@davemloft.net>
18551
18552 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
18553 pointer args to grub_ieee1275_get_property().
18554
18555 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
18556
18557 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
18558 devices, and do not traverse down under controller nodes.
18559
18560 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
18561 (grub_ofdisk_open): Use it to un-escape "," characters.
18562 * kern/disk.c (find_part_sep): New.
18563 (grub_disk_open): Use it to find the first non-escaped ','
18564 character in the disk name.
18565 * util/ieee1275/devicemap.c (escape_of_path): New.
18566 (grub_util_emit_devicemap_entry): Use it.
18567 * util/sparc64/ieee1275/grub-install.in: Update script to
18568 strip partition specifiers properly by not triggering on
18569 '\' escaped ',' characters.
18570
18571 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18572
18573 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
18574 to 0x300.
18575 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
18576 resolutions.
18577 (linux_vesafb_modes): Add a lot of additional modes to the list (based
18578 on documentation from Wikipedia).
18579
18580 2009-05-04 Pavel Roskin <proski@gnu.org>
18581
18582 * disk/ata.c: Spelling fixes.
18583 * disk/raid.c: Likewise.
18584 * disk/usbms.c: Likewise.
18585 * disk/dmraid_nvidia.c: Likewise.
18586 * kern/ieee1275/openfw.c: Likewise.
18587 * kern/ieee1275/init.c: Likewise.
18588 * kern/ieee1275/cmain.c: Likewise.
18589 * boot/i386/pc/cdboot.S: Likewise.
18590 * video/readers/png.c: Likewise.
18591 * video/i386/pc/vbe.c: Likewise.
18592 * fs/udf.c: Likewise.
18593 * fs/hfs.c: Likewise.
18594 * fs/reiserfs.c: Likewise.
18595 * efiemu/runtime/efiemu.c: Likewise.
18596 * efiemu/main.c: Likewise.
18597 * efiemu/mm.c: Likewise.
18598 * include/grub/elf.h: Likewise.
18599 * include/grub/xnu.h: Likewise.
18600 * include/grub/usbdesc.h: Likewise.
18601 * include/grub/usb.h: Likewise.
18602 * include/grub/script_sh.h: Likewise.
18603 * include/grub/lib/LzmaEnc.h: Likewise.
18604 * include/grub/efiemu/efiemu.h: Likewise.
18605 * include/grub/command.h: Likewise.
18606 * normal/menu.c: Likewise.
18607 * normal/main.c: Likewise.
18608 * normal/datetime.c: Likewise.
18609 * bus/usb/uhci.c: Likewise.
18610 * mmap/i386/uppermem.c: Likewise.
18611 * mmap/mmap.c: Likewise.
18612 * commands/acpi.c: Likewise.
18613 * commands/test.c: Likewise.
18614 * partmap/apple.c: Likewise.
18615 * font/font.c: Likewise.
18616 * loader/sparc64/ieee1275/linux.c: Likewise.
18617 * loader/macho.c: Likewise.
18618 * loader/i386/bsd_trampoline.S: Likewise.
18619 * loader/i386/bsd.c: Likewise.
18620 * loader/xnu.c: Likewise.
18621 * term/i386/pc/vesafb.c: Likewise.
18622 * term/usb_keyboard.c: Likewise.
18623 * util/resolve.c: Likewise.
18624 * util/getroot.c: Likewise.
18625
18626 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18627
18628 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
18629
18630 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18631
18632 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
18633 build error.
18634
18635 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18636
18637 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
18638 parameter only available on BIOS.
18639
18640 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 Removed wrong semicolon in declaration
18643
18644 * grub/misc.h (grub_dprintf): remove semicolon
18645
18646 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18647
18648 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
18649 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
18650 is done by grub_cmd_linux() now).
18651 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
18652 restore video to text mode.
18653 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
18654 indicates lack of "vga=" parameter. "vga=0" is mapped to
18655 `GRUB_LINUX_VID_MODE_NORMAL'.
18656
18657 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18658
18659 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
18660 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
18661 and `normal/script.c'. Add `kern/rescue_reader.c',
18662 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
18663 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
18664 `grub_script.tab.c'.
18665
18666 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18667 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18669 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18670 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18671
18672 * Makefile.in: Remove duplicated 2008 in Copyright line.
18673
18674 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18675
18676 * util/misc.c (grub_util_warn): New function. Emits a warning
18677 unconditionally.
18678 * include/grub/util/misc.h (grub_util_warn): New declaration.
18679
18680 * util/i386/pc/grub-install.in: Understand --force and pass it down
18681 to grub-setup.
18682
18683 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
18684 down to setup().
18685 (setup): Improve error messages and add warnings when requested to
18686 install in odd layouts. Refuse to install using blocklists unless
18687 --force was set.
18688
18689 2009-05-04 martin f. krafft <madduck@madduck.net>
18690
18691 * disk/raid.c (grub_raid_scan_device): Improve debug message.
18692
18693 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18694
18695 Updated copyright year
18696
18697 * fs/hfsplus.c: updated copyright year
18698
18699 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18700
18701 HFS+ UUID
18702
18703 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
18704 in the space previously used by unused3
18705 (grub_hfsplus_uuid): new function
18706 (grub_hfsplus_fs): added uuid field
18707
18708 2009-05-03 Pavel Roskin <proski@gnu.org>
18709
18710 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
18711 suppress warnings. It's no longer needed.
18712 * disk/host.c: Likewise.
18713 * disk/ata_pthru.c: Likewise.
18714 * disk/loopback.c: Likewise.
18715 * hook/datehook.c: Likewise.
18716 * parttool/pcpart.c: Likewise.
18717 * fs/i386/pc/pxe.c: Likewise.
18718 * fs/ntfscomp.c: Likewise.
18719 * efiemu/main.c: Likewise.
18720 * mmap/mmap.c: Likewise.
18721 * commands/crc.c: Likewise.
18722 * commands/hexdump.c: Likewise.
18723 * commands/hdparm.c: Likewise.
18724 * commands/acpi.c: Likewise.
18725 * commands/echo.c: Likewise.
18726 * commands/minicmd.c: Likewise.
18727 * commands/blocklist.c: Likewise.
18728 * commands/memrw.c: Likewise.
18729 * commands/loadenv.c: Likewise.
18730 * commands/usbtest.c: Likewise.
18731 * commands/lsmmap.c: Likewise.
18732 * commands/boot.c: Likewise.
18733 * commands/parttool.c: Likewise.
18734 * commands/configfile.c: Likewise.
18735 * commands/search.c: Likewise.
18736 * commands/ieee1275/suspend.c: Likewise.
18737 * commands/cat.c: Likewise.
18738 * commands/i386/pc/pxecmd.c: Likewise.
18739 * commands/i386/pc/play.c: Likewise.
18740 * commands/i386/pc/halt.c: Likewise.
18741 * commands/i386/pc/vbeinfo.c: Likewise.
18742 * commands/i386/pc/vbetest.c: Likewise.
18743 * commands/lspci.c: Likewise.
18744 * commands/date.c: Likewise.
18745 * commands/handler.c: Likewise.
18746 * commands/ls.c: Likewise.
18747 * commands/test.c: Likewise.
18748 * commands/cmp.c: Likewise.
18749 * commands/efi/loadbios.c: Likewise.
18750 * commands/efi/fixvideo.c: Likewise.
18751 * commands/halt.c: Likewise.
18752 * commands/help.c: Likewise.
18753 * commands/reboot.c: Likewise.
18754 * hello/hello.c: Likewise.
18755 * script/sh/main.c: Likewise.
18756 * loader/xnu.c: Likewise.
18757 * term/terminfo.c: Likewise.
18758 * term/i386/pc/serial.c: Likewise.
18759 * term/usb_keyboard.c: Likewise.
18760
18761 2009-05-03 David S. Miller <davem@davemloft.net>
18762
18763 * normal/menu.c: Include grub/parser.h
18764
18765 2009-05-03 Pavel Roskin <proski@gnu.org>
18766
18767 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
18768 not char*.
18769 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
18770 Suggested by Javier Martín <lordhabbit@gmail.com>
18771
18772 * util/i386/pc/grub-mkrescue.in: Allow for the case when
18773 efiemu??.o doesn't exist.
18774 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
18775 copying.
18776
18777 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
18778
18779 FreeBSD 64-bit support
18780
18781 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
18782 and loader/i386/bsd_trampoline.S
18783 (bsd_mod_ASFLAGS): new variable
18784 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
18785 (FREEBSD_MODTYPE_KERNEL64): likewise
18786 (grub_bsd64_trampoline_start): likewise
18787 (grub_bsd64_trampoline_end): likewise
18788 (grub_bsd64_trampoline_selfjump): likewise
18789 (grub_bsd64_trampoline_gdt): likewise
18790 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
18791 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
18792 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
18793 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18794 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
18795 of "attrib" member
18796 * loader/i386/bsd_pagetable.c: new file
18797 * loader/i386/bsd_trampoline.S: likewise
18798 * loader/i386/bsd.c (ALIGN_QWORD): new macro
18799 (ALIGN_VAR): likewise
18800 (entry_hi): new variable
18801 (kern_end_mdofs): likewise
18802 (is_64bit): likewise
18803 (grub_freebsd_add_meta): use ALIGN_VAR
18804 (grub_e820_mmap): new declaration
18805 (grub_freebsd_add_mmap): new function
18806 (grub_freebsd_add_meta_module): support 64 bit kernels
18807 (grub_freebsd_list_modules): use ALIGN_VAR
18808 (gdt_descriptor): new declaration
18809 (grub_freebsd_boot): support 64 bit kernels
18810 (grub_bsd_elf64_hook): new function
18811 (grub_bsd_load_elf): support elf64
18812
18813 2009-05-03 Bean <bean123ch@gmail.com>
18814
18815 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
18816 after we get the result of if statement.
18817
18818 2009-05-03 Bean <bean123ch@gmail.com>
18819
18820 * Makefile.in (enable_efiemu): New variable.
18821
18822 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
18823 set.
18824 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
18825 path.
18826 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
18827 path, add -mno-red-zone option.
18828 (efiemu64_s.o): Likewise.
18829 (efiemu64.o): Use macro $^ for source file.
18830
18831 * configure.ac (--enable-efiemu): New option.
18832
18833 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18834
18835 xnu support
18836
18837 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
18838 (pkglib_MODULES): add xnu.mod
18839 (xnu_mod_SOURCES): new variable
18840 (xnu_mod_CFLAGS): likewise
18841 (xnu_mod_LDFLAGS): likewise
18842 (xnu_mod_ASFLAGS): likewise
18843 * conf/i386-pc.rmk: likewise
18844 * conf/x86_64-efi.rmk: likewise
18845 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
18846 new declaration
18847 * include/grub/i386/macho.h: new file
18848 * include/grub/i386/xnu.h: likewise
18849 * include/grub/macho.h: likewise
18850 * include/grub/machoload.h: likewise
18851 * include/grub/x86_64/macho.h: likewise
18852 * include/grub/x86_64/xnu.h: likewise
18853 * include/grub/xnu.h: likewise
18854 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
18855 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
18856 * loader/i386/efi/xnu.c: new file
18857 * loader/i386/pc/xnu.c: likewise
18858 * loader/i386/xnu.c: likewise
18859 * loader/i386/xnu_helper.S: likewise
18860 * loader/macho.c: likewise
18861 * loader/xnu.c: likewise
18862 * loader/xnu_resume.c: likewise
18863 * util/grub-dumpdevtree: likewise
18864 * include/grub/i386/pit.h: include grub/err.h
18865 (grub_pit_wait): export
18866 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
18867
18868 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18869
18870 Efiemu
18871
18872 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
18873 _linux_efi, linux_efi.
18874 new files in grub-emu
18875 new targets efiemu32.o and efiemu64.o
18876 * loader/linux_normal_efiemu.c: likewise
18877 * loader/i386/efi/linux.c: added preliminary efiemu support
18878 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
18879 files to copy
18880 * include/grub/autoefi.h: new file
18881 * include/grub/i386/efiemu.h: likewise
18882 * include/grub/i386/pc/efiemu.h: likewise
18883 * include/grub/efi/api.h: add LL suffix when necessary
18884 new definitions relating to tables
18885 * include/grub/efiemu/efiemu.h: new file
18886 * include/grub/efiemu/runtime.h: likewise
18887 * efiemu/prepare.c: likewise
18888 * efiemu/loadcore_common.c: likewise
18889 * efiemu/loadcore64.c: likewise
18890 * efiemu/runtime/efiemu.sh: likewise
18891 * efiemu/runtime/efiemu.S: likewise
18892 * efiemu/runtime/efiemu.c: likewise
18893 * efiemu/runtime/config.h: likewise
18894 * efiemu/prepare32.c: likewise
18895 * efiemu/main.c: likewise
18896 * efiemu/modules/pnvram.c: likewise
18897 * efiemu/modules/i386: likewise
18898 * efiemu/modules/i386/pc: likewise
18899 * efiemu/modules/acpi.c: likewise
18900 * efiemu/i386/pc/cfgtables.c: likewise
18901 * efiemu/i386/loadcore64.c: likewise
18902 * efiemu/i386/loadcore32.c: likewise
18903 * efiemu/prepare64.c: likewise
18904 * efiemu/loadcore.c: likewise
18905 * efiemu/symbols.c: likewise
18906 * efiemu/mm.c: likewise
18907 * efiemu/loadcore32.c: likewise
18908
18909 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18910
18911 ACPI spoofing
18912
18913 * commands/acpi.c: new file
18914 * commands/i386/pc/acpi.c: likewise
18915 * commands/efi/acpi.c: likewise
18916 * include/grub/acpi.h: likewise
18917 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
18918 (acpi_mod_SOURCES): new variable
18919 (acpi_mod_CFLAGS): likewise
18920 (acpi_mod_LDFLAGS): likewise
18921 * conf/i386-efi.rmk: likewise
18922 * conf/x86_64-efi.rmk: likewise
18923
18924 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18925
18926 Missing part from mmap patch
18927
18928 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
18929 (grub_mmap_unregister)
18930 (grub_mmap_free_and_unregister): use grub_mmap_register
18931
18932 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18933
18934 Mmap services
18935
18936 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
18937 * loader/i386/linux.c (find_mmap_size): likewise
18938 (allocate_pages): likewise
18939 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
18940 (grub_fill_multiboot_mmap): likewise
18941 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
18942 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
18943 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
18944 (OPENBSD_MMAP_RESERVED): likewise
18945 * include/grub/i386/pc/memory.h: include grub/memory.h
18946 (grub_lower_mem): removed
18947 (grub_upper_mem): likewise
18948 (GRUB_MACHINE_MEMORY_ACPI): new definition
18949 (GRUB_MACHINE_MEMORY_NVS): likewise
18950 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
18951 (GRUB_MACHINE_MEMORY_HOLE): likewise
18952 (grub_machine_mmap_register): likewise
18953 (grub_machine_mmap_unregister): likewise
18954 (grub_machine_get_upper): likewise
18955 (grub_machine_get_lower): likewise
18956 (grub_machine_get_post64): likewise
18957 * include/grub/i386/efi/memory.h: new file
18958 * include/grub/x86_64/efi/memory.h: likewise
18959 * include/grub/efi/memory.h: likewise
18960 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
18961 (mmap_mod_SOURCES): new variable
18962 (mmap_mod_LDFLAGS): likewise
18963 (mmap_mod_ASFLAGS): likewise
18964 * conf/i386-coreboot.rmk: likewise
18965 * conf/i386-ieee1275.rmk: likewise
18966 * conf/i386-efi.rmk: likewise
18967 * conf/x86_64-efi.rmk: likewise
18968 * include/grub/types.h (UINT_TO_PTR): new macro
18969 (PTR_TO_UINT32): likewise
18970 (PTR_TO_UINT64): likewise
18971 * include/grub/memory.h: new file
18972 * mmap/i386/pc/mmap.c: likewise
18973 * mmap/i386/pc/mmap_helper.S: likewise
18974 * mmap/i386/uppermem.c: likewise
18975 * mmap/mmap.c: likewise
18976 * mmap/efi/mmap.c: likewise
18977 * kern/i386/coreboot/init.c (grub_machine_init): don't use
18978 grub_upper_mem
18979 * kern/i386/pc/init.c (grub_lower_mem): removed variable
18980 (grub_upper_mem): likewise
18981 (grub_machine_init): don't use grub_upper_mem,
18982 make grub_lower_mem local
18983 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
18984 grub_mmap_iterate and grub_mmap_get_upper
18985 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
18986
18987 2009-05-02 Bean <bean123ch@gmail.com>
18988
18989 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
18990 script/sh/parser.y.
18991 (pkglib_MODULES): Add normal.mod and sh.mod.
18992 (normal_SOURCES): New variable.
18993 (normal_mod_CFLAGS): Likewise.
18994 (normal_mod_LDFLAGS): Likewise.
18995 (sh_mod_SOURCES): Likewise.
18996 (sh_mod_CFLAGS): Likewise.
18997 (sh_mod_LDFLAGS): Likewise.
18998
18999 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
19000 script/sh/lexer.c_DEPENDENCIES.
19001 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
19002 kern/rescue_reader.c and kern/rescue_parser.c.
19003 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
19004 (grub_emu_SOURCES): Change source files.
19005 (pkglib_MODULES): Remove normal.mod.
19006 (normal_SOURCES): Removed.
19007 (normal_mod_CFLAGS): Likewise.
19008 (normal_mod_LDFLAGS): Likewise.
19009 * conf/i386-coreboot.rmk: Likewise.
19010 * conf/i386-efi.rmk: Likewise.
19011 * conf/i386-ieee1276.rmk: Likewise.
19012 * conf/powerpc-ieee1275.rmk: Likewise.
19013 * conf/sparc64-ieee1275.rmk: Likewise.
19014 * conf/x86_64-efi.rmk: Likewise.
19015
19016 * include/grub/command.h (grub_command_execute): New inline function.
19017
19018 * include/grub/menu.h (grub_menu_entry): Removed commands field.
19019
19020 * include/grub/normal.h: Remove <grub/setjmp.h>.
19021 (grub_fs_module_list): Moved to normal/autofs.c.
19022 (grub_exit_env): Removed.
19023 (grub_command_execute): Likewise.
19024 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
19025 parameter script.
19026 (read_command_list): New function declaration.
19027 (read_fs_list): Likewise.
19028
19029 * include/parser.h: Include <grub/reader.h>.
19030 (grub_parser_split_cmdline): Change type of getline parameter.
19031 (grub_parser): New structure.
19032 (grub_parser_class): New variable.
19033 (grub_parser_execute): New function declaration.
19034 (grub_register_rescue_parser): Likewise.
19035 (grub_parser_register): New inline function.
19036 (grub_parser_unregister): Likewise.
19037 (grub_parser_get_current): Likewise.
19038 (grub_parser_set_current): Likewise.
19039
19040 * include/grub/reader.h: New file.
19041 * kern/reader.c: Likewise.
19042 * kern/rescue_parser.c: Likewise.
19043 * kern/rescue_reader.c: Likewise.
19044 * normal/autofs.c: Likewise.
19045 * normal/dyncmd.c: Likewise.
19046
19047 * include/grub/rescue.h: Removed.
19048 * normal/command.h: Likewise.
19049
19050 * include/grub/script.h: Moved to ...
19051 * include/grub/script_sh.h: ... Moved here.
19052 * normal/execute.c: Moved to ...
19053 * script/sh/execute.c: ... Moved here.
19054 * normal/function.c: Moved to ...
19055 * script/sh/function.c: ... Moved here.
19056 * normal/lexer.c: Moved to ...
19057 * script/sh/lexer.c: ... Moved here.
19058 * normal/parser.y: Moved to ...
19059 * script/sh/parser.y: ... Moved here.
19060 * normal/script.c: Moved to ...
19061 * script/sh/script.c: ... Moved here.
19062
19063 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
19064 <grub/reader.h>.
19065 (grub_exit_env): Removed.
19066 (fs_module_list): Moved to normal/autofs.c.
19067 (grub_file_getline): Don't handle comment here.
19068 (free_menu): Skip removed field entry->commands.
19069 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
19070 script parameter.
19071 (read_config_file): Removed nested parameter, change getline function.
19072 (grub_enter_normal_mode): Removed.
19073 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
19074 (read_command_list): Likewise.
19075 (autoload_fs_module): Moved to normal/autofs.c.
19076 (read_fs_list): Likewise.
19077 (reader_nested): New variable.
19078 (grub_normal_execute): Run parser.sh to switch to sh parser.
19079 (grub_cmd_rescue): Removed.
19080 (cmd_normal): Removed.
19081 (grub_cmd_normal): Unregister itself at the beginning. Don't register
19082 rescue command.
19083 (grub_cmdline_run): New function.
19084 (grub_normal_reader_init): Likewise.
19085 (grub_normal_read_line): Likewise.
19086 (grub_env_write_pager): Likewise.
19087 (cmdline): New variable.
19088 (grub_normal_reader): Likewise.
19089 (GRUB_MOD_INIT): Register normal reader and set as current, register
19090 pager hook, register normal command with grub_register_command_prio,
19091 so that it won't show up in command.lst.
19092 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
19093 grub_fs_autoload_hook.
19094
19095 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
19096 (grub_menu_execute_entry): Replace grub_script_execute with
19097 grub_parser_execute, change parameter to grub_command_execute.
19098
19099 * normal/menu_text.c: Remove <grub/script.h>.
19100
19101 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
19102 and <grub/parser.h>.
19103 (run): Change editor_getline to use new parser interface. Change
19104 parameter to grub_command_execute.
19105
19106 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
19107 <grub/reader.h> and <grub/parser.h>.
19108 (grub_load_normal_mode): Execute normal command.
19109 (grub_main): Call grub_register_core_commands,
19110 grub_register_rescue_parser and grub_register_rescue_reader, use
19111 grub_reader_loop to enter input loop.
19112
19113 * kern/parser.c (grub_parser_split_cmdline): Change type of
19114 getline parameter.
19115 (grub_parser_class): New variable.
19116 (grub_parser_execute): New function.
19117
19118 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
19119 * loader/multiboot2.c: Likewise.
19120 * loader/sparc64/ieee1275/linux.c: Likewise.
19121
19122 * util/grub-emu.c (read_command_list): New dummy function.
19123
19124 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19125
19126 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
19127 count to 16 for CCISS and IDA.
19128
19129 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19130
19131 * normal/menu_text.c (grub_wait_after_message): Print a newline
19132 after waiting for user input.
19133
19134 * loader/i386/linux.c: Include `<grub/normal.h>'.
19135 (grub_cmd_linux): Improve the error message about `ask' mode, by
19136 waiting for user input so it's not missed (we can do this, since
19137 user requested interaction).
19138
19139 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19140
19141 Added missing lst to grub-mkrescue
19142
19143 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
19144 and ${input_dir}/parttool.lst
19145
19146 2009-04-30 David S. Miller <davem@davemloft.net>
19147
19148 * util/hostdisk.c (device_is_wholedisk): New function.
19149 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
19150 zero only if device_is_wholedisk() returns true.
19151
19152 * util/hostdisk.c (convert_system_partition_to_system_disk):
19153 Handle virtual disk devices named /dev/vdiskX as found on sparc
19154 and powerpc.
19155
19156 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
19157 lettered partition specifier is found, convert to numbered.
19158
19159 2009-04-29 David S. Miller <davem@davemloft.net>
19160
19161 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
19162 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19163
19164 * normal/command.c: Add missing newline at end of file.
19165
19166 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
19167 warnings.
19168 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
19169 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
19170 grub_ofdisk_read): Likewise, and deal similarly with the fact that
19171 ihandles have a 32-bit type but need to be stored in a "void *".
19172
19173 2009-04-28 Pavel Roskin <proski@gnu.org>
19174
19175 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
19176 not disk. Adjust all dependencies.
19177 (grub_fs_uuid_close): Use grub_device_close(), not
19178 grub_disk_close().
19179
19180 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
19181 parent's partition, don't copy it by reference, as it gets freed
19182 on close.
19183
19184 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19185
19186 Preboot hooks support
19187
19188 * commands/boot.c (struct grub_preboot_t): new declaration
19189 (preboots_head): new variable
19190 (preboots_tail): likewise
19191 (grub_loader_register_preboot_hook): new function
19192 (grub_loader_unregister_preboot_hook): likewise
19193 (grub_loader_set): launch preboot hooks
19194 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
19195 (grub_loader_register_preboot_hook): new declaration
19196 (grub_loader_unregister_preboot_hook): likewise
19197
19198 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19199
19200 Warning fix
19201
19202 * disk/scsi.c (grub_scsi_open): added missing cast when
19203 calling grub_dprintf
19204
19205 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
19206
19207 Bug and warning fixes
19208
19209 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
19210 declaration
19211 * commands/test.c (test_parse): fixed bug with file tests and corrected
19212 declaration of find_file
19213
19214 2009-04-26 Pavel Roskin <proski@gnu.org>
19215
19216 * Makefile.in: Don't install empty manual pages if help2man is
19217 missing. Use help2man option for output, not shell redirection.
19218
19219 2009-04-26 David S. Miller <davem@davemloft.net>
19220
19221 * util/grub-mkdevicemap.c (make_device_map): Add missing
19222 NESTED_FUNC_ATTR to process_device().
19223
19224 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19225
19226 Test command
19227
19228 * commands/test.c: rewritten to use bash-like test
19229
19230 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19231
19232 Parttool autoloading and improvements
19233
19234 * Makefile.in (pkglib_DATA): add parttool.lst
19235 (parttool.lst): new target
19236 * genmk.rb: generate parttool-*
19237 (CLEANFILES): add #{parttool}
19238 (PARTTOOLFILES): new variable
19239 * genparttoollist.sh: new file
19240 * parttool/pcpart.c (grub_pcpart_boot): more feedback
19241 (grub_pcpart_type): likewise
19242 * commands/parttool.c (helpmsg): new variable
19243 (grub_cmd_parttool): output help if not enough arguments are supplied
19244 autoload modules
19245 (GRUB_MOD_INIT(parttool)): use helpmsg
19246
19247 2009-04-24 David S. Miller <davem@davemloft.net>
19248
19249 Avoiding opening same device multiple times in device iterator.
19250
19251 * kern/device.c: (grub_device_iterate): Define struct part_ent,
19252 and use it to build a list of partitions in iterate_disk() and
19253 iterate_partition().
19254
19255 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
19256 on disk->data.
19257
19258 * disk/ieee1275/nand.c (grub_nand_iterate): Return
19259 grub_devalias_iterate() result instead of unconditional 0.
19260 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
19261 Also, capture hook return value, either directly or via
19262 grub_children_iterate(), and propagate to caller.
19263 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
19264 grub_children_iterate): Return value is now 'int' instead of
19265 'grub_err_t'.
19266 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
19267 like a proper iterator, stopping when hooks return non-zero.
19268 (grub_devalias_iterate): Likewise.
19269
19270 2009-04-23 David S. Miller <davem@davemloft.net>
19271
19272 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
19273
19274 2009-04-22 David S. Miller <davem@davemloft.net>
19275
19276 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
19277 is larger than address_cells, use that value for address_cells too.
19278
19279 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
19280 IEEE1275_MAX_PATH_LEN): Define.
19281 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
19282 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
19283 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
19284 'devtype'. Explicitly NULL terminate devalias expansion.
19285
19286 * util/sparc64/ieee1275/misc.c: New file.
19287 * util/sparc64/ieee1275/grub-setup.c: New file.
19288 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
19289 * util/sparc64/ieee1275/grub-mkimage.c: New file.
19290 * util/sparc64/ieee1275/grub-install.in: New file.
19291 * util/ieee1275/ofpath.c: New file.
19292 * util/ieee1275/devicemap.c: New file.
19293 * util/devicemap.c: New file.
19294 * util/deviceiter.c: New file.
19295 * kern/sparc64/ieee1275/init.c: New file.
19296 * include/grub/util/ofpath.h: New file.
19297 * include/grub/util/deviceiter.h: New file.
19298 * util/grub-mkdevicemap.c: Include deviceiter.h.
19299 Implement using grub_util_emit_devicemap_entry and
19300 grub_util_iterate_devices.
19301 * conf/i386-corebook.rmk: Build util/deviceiter.c and
19302 util/devicemap.c into grub-mkdevicemap
19303 * conf/i386-efi.rmk: Likewise.
19304 * conf/i386-ieee1275.rmk: Likewise.
19305 * conf/i386-pc.rmk: Likewise.
19306 * conf/powerpc-ieee1275.rmk: Likewise.
19307 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
19308 images and installation utilities. Build kernel as image
19309 instead of as elf binary. Use common rules as much as possible.
19310
19311 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19312
19313 Correct GPT definition
19314
19315 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
19316 of "attrib" member
19317
19318 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
19319
19320 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
19321
19322 2009-04-19 David S. Miller <davem@davemloft.net>
19323
19324 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
19325 (grub_rescue_cmd_linux): Rename to...
19326 (grub_cmd_linux): and fix prototype.
19327 (grub_rescue_cmd_initrd): Rename to...
19328 (grub_cmd_initrd): and fix prototype.
19329 (cmd_linux, cmd_initrd): New.
19330 (GRUB_MOD_INIT(linux)): Use grub_register_command().
19331 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
19332
19333 2009-04-17 Pavel Roskin <proski@gnu.org>
19334
19335 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
19336 format.
19337 (grub_ohci_transfer): Likewise.
19338
19339 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
19340
19341 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
19342 return without a value. Fix inconsistent indentation.
19343
19344 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
19345 match struct grub_fs.
19346
19347 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
19348 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
19349 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
19350 * commands/lspci.c (grub_lspci_iter): Likewise.
19351
19352 2009-04-16 Bean <bean123ch@gmail.com>
19353
19354 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
19355 value.
19356
19357 2009-04-15 Pavel Roskin <proski@gnu.org>
19358
19359 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
19360 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
19361 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
19362 definitions.
19363
19364 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19365
19366 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
19367 that no multiple data or metadata areas are supported and `Unknown
19368 metadata header'.
19369
19370 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19371
19372 Move loader out of the kernel
19373
19374 * kern/loader.c: moved to ...
19375 * commands/boot.c: ... moved here
19376 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
19377 * commands/boot.c (grub_cmd_boot): moved here. All users updated
19378 * include/grub/kernel.h (grub_machine_fini): export
19379 * include/grub/loader.h (grub_loader_is_loaded): update declaration
19380 (grub_loader_set): likewise
19381 (grub_loader_unset): likewise
19382 (grub_loader_boot): likewise
19383 * conf/common.rmk: new module boot.mod
19384 (pkglib_MODULES): add boot.mod
19385 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
19386 (grub_emu_SOURCES): likewise
19387 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
19388 (grub_emu_SOURCES): likewise
19389 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
19390 (grub_emu_SOURCES): likewise
19391 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
19392 (grub_emu_SOURCES): likewise
19393 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
19394 (grub_emu_SOURCES): likewise
19395 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
19396 (grub_emu_SOURCES): likewise
19397 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
19398 (grub_emu_SOURCES): likewise
19399
19400 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19401
19402 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
19403
19404 * kern/misc.c (grub_itoa): Removed function
19405 (grub_ltoa): likewise
19406 (grub_vsprintf): use grub_lltoa
19407
19408 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19409
19410 Restore grub-emu
19411
19412 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
19413 * conf/i386-coreboot.rmk: likewise
19414 * conf/i386-ieee1275.rmk: likewise
19415 * conf/powerpc-ieee1275.rmk: likewise
19416
19417 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19418
19419 * INSTALL: Add that `./autogen.sh' needs to be run before
19420 `./configure.'.
19421
19422 2009-04-14 Bean <bean123ch@gmail.com>
19423
19424 * Makefile.in (pkglib_DATA): Add handler.lst.
19425 (handler.lst): New rule.
19426
19427 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
19428 * conf/i386-coreboot.rmk: Likewise.
19429 * conf/i386-ieee1275.rmk: Likewise.
19430 * conf/i386-efi.rmk: Likewise.
19431 * conf/x86_64-efi.rmk: Likewise.
19432 * conf/powerpc-ieee1275.rmk: Likewise.
19433 * conf/sparc64-ieee1275.rmk: Likewise.
19434
19435 * genhandlerlist.sh: New file.
19436
19437 * genmk.rb: Add rules to generate handler.lst.
19438
19439 * include/grub/normal.h (grub_file_getline): New function definition.
19440 (read_handler_list): Likewise.
19441 (free_handler_list): Likewise.
19442
19443 * include/grub/term.h (grub_term_register_input): Add name parameter
19444 for auto generation of handler.lst.
19445 (grub_term_register_output): Likewise.
19446
19447 * normal/handler.c: New file.
19448
19449 * normal/main.c (get_line): Renamed to grub_file_getline.
19450 (read_config_file): Use the newly renamed grub_file_getline.
19451 (read_command_list): Likewise.
19452 (read_fs_list): Likewise.
19453 (grub_normal_execute): Call read_handler_list to parse handler.lst.
19454 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
19455
19456 * term/efi/console.c (grub_console_init): Add name parameter for auto
19457 generation of handler.lst.
19458 * term/gfxterm.c: Likewise.
19459 * term/i386/pc/at_keyboard.c: Likewise.
19460 * term/i386/pc/console.c: Likewise.
19461 * term/i386/pc/serial.c: Likewise.
19462 * term/i386/pc/vesafb.c: Likewise.
19463 * term/i386/pc/vga.c: Likewise.
19464 * term/i386/pc/vga_text.c: Likewise.
19465 * term/ieee1275/ofconsole.c: Likewise.
19466 * term/usb_keyboard.c: Likewise.
19467
19468 2009-04-14 Bean <bean123ch@gmail.com>
19469
19470 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
19471 properly with null character.
19472
19473 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19474
19475 * configure: Remove.
19476 * config.h.in: Likewise.
19477 * stamp-h.in: Likewise.
19478 * DISTLIST: Likewise.
19479 * conf/common.mk: Likewise.
19480 * conf/i386-coreboot.mk: Likewise.
19481 * conf/i386-efi.mk: Likewise.
19482 * conf/i386-ieee1275.mk: Likewise.
19483 * conf/i386.mk: Likewise.
19484 * conf/i386-pc.mk: Likewise.
19485 * conf/powerpc-ieee1275.mk: Likewise.
19486 * conf/sparc64-ieee1275.mk: Likewise.
19487 * conf/x86_64-efi.mk: Likewise.
19488
19489 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
19490 develop on GRUB.
19491
19492 2009-04-14 John Stanley <jpsinthemix@verizon.net>
19493 David S. Miller <davem@davemloft.net>
19494
19495 * util/hostdisk.c (make_device_name): Fix buffer length
19496 calculations.
19497
19498 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19499
19500 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
19501 <sys/param.h> and <sys/sysctl.h>.
19502 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
19503 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
19504 opening the device and reset them afterwards.
19505
19506 2009-04-13 Pavel Roskin <proski@gnu.org>
19507
19508 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
19509 Reported by John Stanley <jpsinthemix@verizon.net>
19510
19511 2009-04-13 Robert Millan <rmh@aybabtu.com>
19512
19513 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
19514 that name for menuentries when appropriate.
19515
19516 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19517
19518 * util/grub.d/10_freebsd.in: Add a missing `fi'.
19519
19520 2009-04-13 Robert Millan <rmh@aybabtu.com>
19521
19522 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
19523 to Linux, simply abort telling the user it's no longer supported.
19524
19525 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19526
19527 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
19528 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
19529 `freebsd_loadenv' only when devices.hints exist.
19530
19531 2009-04-13 Pavel Roskin <proski@gnu.org>
19532
19533 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
19534
19535 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19536
19537 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
19538 partition number.
19539 (grub_drive): Likewise.
19540
19541 2009-04-13 David S. Miller <davem@davemloft.net>
19542
19543 * kern/sparc64/ieee1275/ieee1275.c: New file.
19544 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
19545 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
19546 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
19547 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
19548 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
19549 grub_ieee1275_alloc_physmem): Declare new exported functions.
19550
19551 * include/grub/sparc64/ieee1275/loader.h: New file.
19552 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19553 * include/grub/sparc64/kernel.h: Likewise.
19554 * loader/sparc64/ieee1275/linux.c: Likewise.
19555
19556 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
19557 (grub_fstest_SOURCES): Likewise.
19558
19559 * util/hostdisk.c (make_device_name): Do not make any assumptions
19560 about the length of drive names.
19561
19562 * kern/dl.c (grub_dl_load_file): Close file immediately when
19563 we are done using it.
19564
19565 2009-04-12 David S. Miller <davem@davemloft.net>
19566
19567 * kern/misc.c (grub_ltoa): Fix cast when handling negative
19568 values. Noticed by Pavel Roskin.
19569
19570 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
19571 target compiler.
19572
19573 * genmk.rb: Add more flexible image type specification, also
19574 pass --strip-unneeded to objcopy.
19575 * conf/i386-pc.rmk: Use *_FORMAT.
19576 * conf/i386-pc.mk: Rebuilt.
19577
19578 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
19579 (OFDISK_HASH_SZ): Define.
19580 (ofdisk_hash): New hash table.
19581 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
19582 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
19583 instead of device phandle which is not unique.
19584
19585 * kern/sparc64/ieee1275/init.c: Delete, replace with...
19586 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
19587 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
19588 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
19589 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
19590 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
19591 GRUB_KERNEL_MACHINE_DATA_END): Define.
19592 (grub_kernel_image_size, grub_total_module_size): Declare.
19593
19594 2009-04-12 Pavel Roskin <proski@gnu.org>
19595
19596 * configure.ac: Change the logic when we check for target tools.
19597 Do it when the target is specified and it's different from the
19598 specified value of the host.
19599
19600 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
19601
19602 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
19603 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
19604 GNU/kFreeBSD. Check if a device is a character device. Use
19605 DIOCGMEDIASIZE to get the size.
19606 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
19607 support for GNU/kFreeBSD.
19608 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
19609 is a character device instead of a block device. Add support for
19610 FreeBSD device names.
19611
19612 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
19613 is a character device instead of a block device.
19614
19615 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
19616 is a character device instead of a block device.
19617
19618 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
19619
19620 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
19621 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
19622 FreeBSD. Check if a device is a character device. Use
19623 DIOCGMEDIASIZE to get the size.
19624 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
19625 support for FreeBSD.
19626 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
19627 is a character device instead of a block device. Add support for
19628 FreeBSD device names.
19629
19630 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
19631 a character device instead of a block device.
19632 (grub_util_check_char_device): New function.
19633
19634 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
19635 a character device instead of a block device.
19636
19637 * include/grub/util/getroot.h (grub_util_check_char_device): New
19638 prototype.
19639
19640 2009-04-11 David S. Miller <davem@davemloft.net>
19641
19642 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
19643 static libgcc.
19644 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
19645 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
19646 function, if present.
19647 (__bswapdi2): Likewise.
19648
19649 * include/grub/sparc64/ieee1275/boot.h: New file.
19650 * boot/sparc64/ieee1275/boot.S: Likewise.
19651 * boot/sparc64/ieee1275/diskboot.S: Likewise.
19652
19653 * kern/misc.c (grub_ltoa): New function.
19654 (grub_vsprintf): Use it to format 'long' integers.
19655
19656 2009-04-10 David S. Miller <davem@davemloft.net>
19657
19658 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
19659 slots are of type grub_ieee1275_cell_t.
19660 (grub_nand_read): Likewise.
19661 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
19662 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
19663 macros are used to compare values in arg/ret block of the call.
19664 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19665 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
19666 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
19667 grub_ieee1275_instance_to_path, grub_ieee1275_write,
19668 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
19669 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
19670 grub_ieee1275_close, grub_ieee1275_set_property,
19671 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
19672 grub_ieee1275_cell_t.
19673 * kern/ieee1275/openfw.c (grub_map): Likewise.
19674 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
19675 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
19676
19677 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
19678 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
19679 (grub_devalias_iterate): Likewise.
19680
19681 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19682
19683 UFS improvements
19684
19685 * fs/ufs.c (INODE_NBLOCKS): new definition
19686 (struct grub_ufs_dirent): added fields for non-BSD dirents
19687 (grub_ufs_get_file_block): fixed double indirect handling
19688 (grub_ufs_lookup_symlink): use more robust way to determine whether
19689 symlink is inline
19690 (grub_ufs_find_file): support for non-BSD dirents
19691 (grub_ufs_dir): support for non-BSD dirents
19692
19693 2009-04-10 Bean <bean123ch@gnail.com>
19694
19695 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
19696 attribute, otherwise the size would be wrong for i386 platform.
19697
19698 * include/grub/pci.h (grub_pci_read_word): New inline function.
19699 (grub_pci_read_byte): Likewise.
19700 (grub_pci_write): Likewise.
19701 (grub_pci_write_word): Likewise.
19702 (grub_pci_write_byte): Likewise.
19703
19704 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
19705
19706 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
19707 (find_framebuf): Scan pci to locate the frame buffer address.
19708
19709 * commands/efi/fixvideo.c: New file.
19710
19711 * commands/efi/loadbios.c: Likewise.
19712
19713 * commands/memrw.c: Likewise.
19714
19715 * util/grub-dumpbios.in: Likewise.
19716
19717 * conf/common.rmk (grub-dumpbios): New utility.
19718 (pkglib_MODULES): New module memrw.mod.
19719 (memrw_mod_SOURCE): New macro.
19720 (memrw_mod_CFLAGS): Likewise.
19721 (memrw_mod_LDFLAGS): Likewise.
19722
19723 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
19724 fixvideo.mod.
19725 (loadbios_mod_SOURCE): New macro.
19726 (loadbios_mod_CFLAGS): Likewise.
19727 (loadbios_mod_LDFLAGS): Likewise.
19728 (fixvideo_mod_SOURCE): Likewise.
19729 (fixvideo_mod_CFLAGS): Likewise.
19730 (fixvideo_mod_LDFLAGS): Likewise.
19731
19732 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
19733 fixvideo.mod.
19734 (loadbios_mod_SOURCE): New macro.
19735 (loadbios_mod_CFLAGS): Likewise.
19736 (loadbios_mod_LDFLAGS): Likewise.
19737 (fixvideo_mod_SOURCE): Likewise.
19738 (fixvideo_mod_CFLAGS): Likewise.
19739 (fixvideo_mod_LDFLAGS): Likewise.
19740
19741 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
19742
19743 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
19744
19745 2009-04-07 David S. Miller <davem@davemloft.net>
19746
19747 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
19748 support for R_SPARC_OLO10 relocations. Fix compile warning for
19749 R_SPARC_WDISP30 case.
19750 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
19751
19752 2009-04-06 Pavel Roskin <proski@gnu.org>
19753
19754 * include/grub/misc.h (ARRAY_SIZE): New macro.
19755 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
19756 New macro.
19757 * loader/i386/linux.c (allocate_pages): Use free_pages().
19758 (grub_linux_unload): Don't use free_pages().
19759 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
19760 wrong index. Treat all other modes as text modes.
19761 (grub_cmd_linux): Initialize vid_mode unconditionally to
19762 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
19763
19764 * commands/help.c (print_command_help): Use cmd->prio, not
19765 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
19766
19767 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19768
19769 Parttool
19770
19771 * parttool/pcpart.c: new file
19772 * commands/parttool.c: likewise
19773 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
19774 (parttool_mod_SOURCES): new variable
19775 (parttool_mod_CFLAGS): likewise
19776 (parttool_mod_LDFLAGS): likewise
19777 (pcpart_mod_SOURCES): likewise
19778 (pcpart_mod_CFLAGS): likewise
19779 (pcpart_mod_LDFLAGS): likewise
19780 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
19781 and parttool/pcpart.c
19782 * conf/i386-efi.rmk: likewise
19783 * conf/i386-ieee1275.rmk: likewise
19784 * conf/i386-pc.rmk: likewise
19785 * conf/powerpc-ieee1275.rmk: likewise
19786 * conf/sparc64-ieee1275.rmk: likewise
19787 * conf/x86_64-ieee1275.rmk: likewise
19788
19789 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19790
19791 Support for mtime and further expandability of dir command
19792
19793 * include/grub/lib/datetime.h: moved to ...
19794 * include/grub/datetime.h: ... moved here and added
19795 declaration of grub_unixtime2datetime. All users updated
19796 * include/grub/fs.h: new syntax for dir and mtime functions in
19797 struct grub_fs
19798 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
19799 and GRUB_FSHELP_FLAGS_MASK
19800 * commands/ls.c (grub_ls_list_files): Write mtime in long format
19801 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
19802 (grub_ext2_mtime): new function
19803 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
19804 (grub_hfsplus_mtime): new function
19805 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
19806 (GRUB_UFS_ATTR_FILE): likewise
19807 (GRUB_UFS_ATTR_LNK): likewise
19808 (struct grub_ufs_sblock): new fields mtime
19809 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
19810 all users updated
19811 (grub_ufs_dir): mtime support
19812 (grub_ufs_mtime): new function
19813 * fs/affs.c (grub_affs_dir): use new dir syntax
19814 * fs/afs.c (grub_afs_dir): likewise
19815 * fs/cpio.c (grub_cpio_dir): likewise
19816 * fs/fat.c (grub_fat_find_dir): likewise
19817 * fs/hfs.c (grub_hfs_dir): likewise
19818 * fs/iso9660.c (grub_iso9660_dir): likewise
19819 * fs/jfs.c (grub_jfs_dir): likewise
19820 * fs/minix.c (grub_minix_dir): likewise
19821 * fs/ntfs.c (grub_ntfs_dir): likewise
19822 * fs/reiserfs.c (grub_reiserfs_dir): likewise
19823 * fs/sfs.c (grub_sfs_dir): likewise
19824 * fs/xfs.c (grub_xfs_dir): likewise
19825 * util/hostfs.c (grub_hostfs_dir): likewise
19826 * lib/datetime.c: moved to ...
19827 * normal/datetime.c: ... moved here
19828 (grub_unixtime2datetime): new function
19829 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
19830 * normal/completion.c (iterate_dir): use new dir syntax
19831 * normal/misc.c (grub_normal_print_device_info): tell the
19832 last modification time of a volume
19833 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
19834 * conf/common.rmk: added lib/datetime.c to ls.mod
19835 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
19836 (normal_mod_SOURCES): likewise
19837 (datetime_mod_SOURCES): Removed lib/datetime.c
19838 * conf/i386-efi.rmk: likewise
19839 * conf/i386-ieee1275.rmk: likewise
19840 * conf/i386-pc.rmk: likewise
19841 * conf/powerpc-ieee1275.rmk: likewise
19842 * conf/sparc64-ieee1275.rmk: likewise
19843 * conf/x86_64-efi.rmk: likewise
19844
19845 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19846
19847 Trim trailing spaces in FAT label and support mtools-like labels
19848
19849 * fs/fat.c (grub_fat_iterate_dir): New function based
19850 on grub_fat_find_dir
19851 (grub_fat_find_dir): use grub_fat_iterate_dir
19852 (grub_fat_label): likewise
19853
19854 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19855
19856 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
19857 and command.h
19858 remove extraneous kernel_elf_HEADERS
19859
19860 2009-04-04 Bean <bean123ch@gnail.com>
19861
19862 * include/grub/util/misc.h: Add dummy function fsync for mingw.
19863
19864 * util/misc.c: Likewise.
19865
19866 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19867
19868 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
19869 instead of grub_printf.
19870
19871 2009-04-03 Robert Millan <rmh@aybabtu.com>
19872
19873 * loader/i386/linux.c (grub_linux_setup_video): Fill
19874 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
19875 values from `mode info' structure instead of hardcoded
19876 values.
19877
19878 2009-04-01 Pavel Roskin <proski@gnu.org>
19879
19880 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
19881 unused now.
19882 * genmk.rb: Likewise.
19883 * configure.ac: Likewise.
19884
19885 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
19886
19887 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
19888 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
19889
19890 2009-04-01 David S. Miller <davem@davemloft.net>
19891
19892 * normal/sparc64/setjmp.S: Fix setjmp implementation.
19893 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
19894 (grub_setjmp): Mark with 'returns_twice' attribute.
19895 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
19896 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
19897 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
19898
19899 2009-04-01 Robert Millan <rmh@aybabtu.com>
19900
19901 Reapply fix from 2008-07-28 which was accidentally reverted; also
19902 perform the same fix to a similar check in same function.
19903
19904 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19905 with the same number are found, just use issue a warning with
19906 grub_dprintf(), as this error has been reported to be non-fatal.
19907
19908 2009-03-31 Pavel Roskin <proski@gnu.org>
19909
19910 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
19911 for cross-compilation.
19912
19913 2009-03-30 Robert Millan <rmh@aybabtu.com>
19914
19915 Fix i386-ieee1275 build.
19916
19917 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
19918 Remove declaration.
19919
19920 2009-03-30 Pavel Roskin <proski@gnu.org>
19921
19922 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
19923 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
19924 zero-terminated, rely only on the strlen value. Fix comparison
19925 of strings differing in length.
19926
19927 2009-03-30 Robert Millan <rmh@aybabtu.com>
19928
19929 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
19930 checking for abi version. Improve error messages on BIOS to notify
19931 user about `linux16' command.
19932
19933 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19934
19935 Leak fixes
19936
19937 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
19938 in case of collision
19939 * disk/scsi.c (grub_scsi_open): free scsi in case of error
19940
19941 2009-03-29 Robert Millan <rmh@aybabtu.com>
19942
19943 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
19944 set `vid_mode' accordingly.
19945 (grub_linux_boot): Process `vid_mode' and set video mode.
19946
19947 2009-03-29 Robert Millan <rmh@aybabtu.com>
19948
19949 * util/grub.d/10_linux.in (linux_entry): New function.
19950 Factorize generation of Linux boot entries.
19951
19952 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
19953
19954 Make the format of Environment Block plain text. The boot loader
19955 part is not tested well yet.
19956
19957 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
19958 (buffer): Removed.
19959 (envblk): Likewise.
19960 (usage): Remove "info" and "clear". Add "unset". Update the
19961 description of "set", as this does not delete variables any
19962 longer.
19963 (create_envblk_file): Complete rewrite.
19964 (open_envblk_file): Likewise.
19965 (cmd_info): Removed.
19966 (cmd_list): Likewise.
19967 (cmd_set): Likewise.
19968 (cmd_clear): Likewise.
19969 (list_variables): New function.
19970 (write_envblk): Likewise.
19971 (set_variables): Likewise.
19972 (unset_variables): Likewise.
19973 (main): Complete rewrite.
19974
19975 * commands/loadenv.c (buffer): Removed.
19976 (envblk): Likewise.
19977 (open_envblk_file): New function.
19978 (read_envblk_file): Complete rewrite.
19979 (grub_cmd_load_env): Likewise.
19980 (grub_cmd_list_env): Likewise.
19981 (struct blocklist): New struct.
19982 (free_blocklists): New function.
19983 (check_blocklists): Likewise.
19984 (write_blocklists): Likewise.
19985 (grub_cmd_save_env): Complete rewrite.
19986
19987 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
19988 a plain text signature.
19989 (GRUB_ENVBLK_MAXLEN): Removed.
19990 (struct grub_envblk): Complete rewrite.
19991 (grub_envblk_find): Removed.
19992 (grub_envblk_insert): Likewise.
19993 (grub_envblk_open): New prototype.
19994 (grub_envblk_set): Likewise.
19995 (grub_envblk_delete): Put const to VALUE.
19996 (grub_envblk_iterate): Put const to NAME and VALUE.
19997 (grub_envblk_close): New prototype.
19998 (grub_envblk_buffer): New inline function.
19999 (grub_envblk_size): Likewise.
20000
20001 * lib/envblk.c: Include grub/mm.h.
20002 (grub_env_find): Removed.
20003 (grub_envblk_open): New function.
20004 (grub_envblk_close): Likewise.
20005 (escaped_value_len): Likewise.
20006 (find_next_line): Likewise.
20007 (grub_envblk_insert): Removed.
20008 (grub_envblk_set): New function.
20009 (grub_envblk_delete): Complete rewrite.
20010 (grub_envblk_iterate): Likewise.
20011
20012 2009-03-28 Robert Millan <rmh@aybabtu.com>
20013
20014 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
20015 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
20016 variables. Use 16-bit loader.
20017 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
20018 loader.
20019 * kern/i386/loader.S (grub_linux_boot): Rename to ...
20020 (grub_linux16_boot): ... this. Update all users.
20021 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
20022 (grub_linux_boot): ... this. Update all users.
20023
20024 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
20025 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
20026 commands to `linux16' and `initrd16'.
20027 (GRUB_MOD_FINI(linux)): Rename to ...
20028 (GRUB_MOD_FINI(linux16)): ... this.
20029
20030 2009-03-24 Pavel Roskin <proski@gnu.org>
20031
20032 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
20033 not just for compilation.
20034
20035 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
20036
20037 Move multiboot helper out of kernel
20038
20039 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
20040 `loader/i386/multiboot_helper.S'.
20041 * conf/i386-coreboot.rmk: Likewise
20042 * conf/i386-ieee1275.rmk: Likewise
20043
20044 * kern/i386/loader.S: Move multiboot helpers from here...
20045 * loader/i386/multiboot_helper.S: ...moved here
20046 * include/grub/i386/loader.h: Move declarations of multiboot
20047 helpers from here...
20048 * include/grub/i386/multiboot.h: ...moved here
20049 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
20050
20051 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20052
20053 * kern/env.c (grub_env_context_open): Added an argument to specify
20054 whether a new context inherits exported variables from current
20055 one. This is useful when making a sandbox to interpret a config
20056 file.
20057 All callers updated.
20058
20059 * include/grub/env.h (grub_env_context_open): Updated the prototype.
20060
20061 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20062
20063 * kern/env.c (grub_env_context_close): Fix memory leaks.
20064
20065 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20066
20067 * normal/main.c (grub_normal_execute): Added an argument
20068 BATCH to specify if an interactive interface should be provided
20069 after reading a config file.
20070 All callers updated.
20071 (read_command_list): Prevent being executed twice.
20072 (read_fs_list): Likewise.
20073
20074 * include/grub/normal.h (grub_normal_execute): Updated the
20075 prototype.
20076
20077 2009-03-22 Pavel Roskin <proski@gno.org>
20078
20079 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
20080 _start.
20081 * kern/i386/pc/startup.S: Likewise.
20082 * kern/i386/efi/startup.S: Likewise.
20083 * kern/i386/ieee1275/startup.S: Likewise.
20084 * kern/i386/coreboot/startup.S: Likewise.
20085 * kern/x86_64/efi/startup.S: Likewise.
20086
20087 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
20088 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
20089 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
20090
20091 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
20092
20093 Bugfixes in multiboot for bugs uncovered by solaris kernel.
20094
20095 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
20096 limit detection.
20097 Use vaddr of correct segment for entry_point.
20098
20099 2009-03-21 Bean <bean123ch@gmail.com>
20100
20101 * commands/blocklist.c: Add include file <grub/command.h>, remove
20102 <grub/normal.h> and <grub/arg.h>.
20103 (grub_cmd_blocklist): Use the new command interface.
20104 (GRUB_MOD_INIT): Likewise.
20105 (GRUB_MOD_FINI): Likewise.
20106 * commands/boot.c: Likewise.
20107 * commands/cat.c: Likewise.
20108 * commands/cmp.c: Likewise.
20109 * commands/configfile.c: Likewise.
20110 * commands/crc.c: Likewise.
20111 * commands/echo.c: Likewise.
20112 * commands/halt.c: Likewise.
20113 * commands/handler.c: Likewise.
20114 * commands/hdparm.c: Likewise.
20115 * commands/help.c: Likewise.
20116 * commands/hexdump.c: Likewise.
20117 * commands/loadenv.c: Likewise.
20118 * commands/ls.c: Likewise.
20119 * commands/lsmmap.c: Likewise.
20120 * commands/lspci.c: Likewise.
20121 * commands/loadenv.c: Likewise.
20122 * commands/read.c: Likewise.
20123 * commands/reboot.c: Likewise.
20124 * commands/search.c: Likewise.
20125 * commands/sleep.c: Likewise.
20126 * commands/test.c: Likewise.
20127 * commands/usbtest.c: Likewise.
20128 * commands/videotest.c: Likewise.
20129 * commands/i386/cpuid.c: Likewise.
20130 * commands/i386/pc/halt.c: Likewise.
20131 * commands/i386/pc/play.c: Likewise.
20132 * commands/i386/pc/pxecmd.c: Likewise.
20133 * commands/i386/pc/vbeinfo.c: Likewise.
20134 * commands/i386/pc/vbetest.c: Likewise.
20135 * commands/ieee1275/suspend.c: Likewise.
20136 * disk/loopback.c: Likewise.
20137 * font/font_cmd.c: Likewise.
20138 * hello/hello.c: Likewise.
20139 * loader/efi/appleloader.c: Likewise.
20140 * loader/efi/chainloader.c: Likewise.
20141 * loader/i386/bsd.c: Likewise.
20142 * loader/i386/efi/linux.c: Likewise.
20143 * loader/i386/ieee1275/linux.c: Likewise.
20144 * loader/i386/linux.c: Likewise.
20145 * loader/i386/pc/chainloader.c: Likewise.
20146 * loader/i386/pc/linux.c: Likewise.
20147 * loader/powerpc/ieee1275/linux.c: Likewise.
20148 * loader/multiboot_loader.c: Likewise.
20149 * term/gfxterm.c: Likewise.
20150 * term/i386/pc/serial.c: Likewise.
20151 * term/terminfo.c: Likewise.
20152
20153 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
20154 * term/i386/pc/vga.c: Likewise.
20155 * video/readers/jpeg.c: Likewise.
20156 * video/readers/png.c: Likewise.
20157 * video/readers/tga.c: Likewise.
20158
20159 * util/grub-fstest (cmd_loopback): Removed.
20160 (cmd_blocklist): Likewise.
20161 (cmd_ls): Likewise.
20162 (grub_register_command): Likewise.
20163 (grub_unregister_command): Likewise.
20164 (execute_command): Use grub_command_find to locate command and execute
20165 it.
20166
20167 * include/grub/efi/chainloader.h: Removed.
20168 * loader/efi/chainloader_normal.c: Likewise.
20169 * loader/i386/bsd_normal.c: Likewise.
20170 * loader/i386/pc/chainloader_normal.c: Likewise.
20171 * loader/i386/pc/multiboot_normal.c: Likewise.
20172 * loader/linux_normal.c: Likewise.
20173 * loader/multiboot_loader_normal.c: Likewise.
20174 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20175
20176 * gencmdlist.sh: Scan new registration command grub_register_extcmd
20177 and grub_register_command_p1.
20178
20179 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
20180 kern/command.c, lib/arg.c and commands/extcmd.c.
20181 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
20182 (minicmd_mod_SOURCES): New variable.
20183 (minicmd_mod_CFLAGS): Likewise.
20184 (minicmd_mod_LDFLAGS): Likewise.
20185 (extcmd_mod_SOURCES): Likewise.
20186 (extcmd_mod_CFLAGS): Likewise.
20187 (extcmd_mod_LDFLAGS): Likewise.
20188 (boot_mod_SOURCES): Removed.
20189 (boot_mod_CFLAGS): Likewise.
20190 (boot_mod_LDFLAGS): Likewise.
20191
20192 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
20193 kern/corecmd.c.
20194 (kernel_img_HEADERS): Add command.h.
20195 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
20196 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
20197 and lib/arg.c.
20198 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
20199 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
20200 remove the corresponding normal mode command.
20201 (normal_mod_SOURCES): Remove normal/arg.c.
20202 * conf/i386-coreboot.rmk: Likewise.
20203 * conf/i386-efi.rmk: Likewise.
20204 * conf/i386-ieee1275.rmk: Likewise.
20205 * conf/powerpc-ieee1275.rmk: Likewise.
20206 * conf/x86_64-efi.rmk: Likewise.
20207
20208 * include/grub/arg.h: Move from here ...
20209 * include/grub/lib/arg.h: ... to here.
20210
20211 * normal/arg.c: Move from here ...
20212 * lib/arg.c: ... to here.
20213
20214 * commands/extcmd.c: New file.
20215 * commands/minicmd.c: Likewise.
20216 * include/grub/command.h: Likewise.
20217 * include/grub/extcmd.h: Likewise.
20218 * kern/command.c: Likewise.
20219 * kern/corecmd.c: Likewise.
20220
20221 * kern/list.c (grub_list_iterate): Return int instead of void.
20222 (grub_list_insert): New function.
20223 (grub_prio_list_insert): Likewise.
20224
20225 * kern/rescue.c (grub_rescue_command): Removed.
20226 (grub_rescue_command_list): Likewise.
20227 (grub_rescue_register_command): Likewise.
20228 (grub_rescue_unregister_command): Likewise.
20229 (grub_rescue_cmd_boot): Move to minicmd.c
20230 (grub_rescue_cmd_help): Likewise.
20231 (grub_rescue_cmd_info): Likewise.
20232 (grub_rescue_cmd_boot): Likewise.
20233 (grub_rescue_cmd_testload): Likewise.
20234 (grub_rescue_cmd_dump): Likewise.
20235 (grub_rescue_cmd_rmmod): Likewise.
20236 (grub_rescue_cmd_lsmod): Likewise.
20237 (grub_rescue_cmd_exit): Likewise.
20238 (grub_rescue_print_devices): Moved to corecmd.c.
20239 (grub_rescue_print_files): Likewise.
20240 (grub_rescue_cmd_ls): Likewise.
20241 (grub_rescue_cmd_insmod): Likewise.
20242 (grub_rescue_cmd_set): Likewise.
20243 (grub_rescue_cmd_unset): Likewise.
20244 (attempt_normal_mode): Use grub_command_find to get normal module.
20245 (grub_enter_rescue_mode): Use grub_register_core_commands to register
20246 commands, remove grub_rescue_register_command calls.
20247
20248 * normal/command.c (grub_register_command): Removed.
20249 (grub_unregister_command): Likewise.
20250 (grub_command_find): Likewise.
20251 (grub_iterate_commands): Likewise.
20252 (rescue_command): Likewise.
20253 (export_command): Moved to corecmd.c.
20254 (set_command): Removed.
20255 (unset_command): Likewise.
20256 (insmod_command): Likewise.
20257 (rmmod_command): Likewise.
20258 (lsmod_command): Likewise.
20259 (grub_command_init): Likewise.
20260
20261 * normal/completion.c (iterate_command): Use cmd->prio to check for
20262 active command.
20263 (complete_arguments): Use grub_extcmd_t structure to find options.
20264 (grub_normal_do_completion): Change function grub_iterate_commands to
20265 grub_command_iterate.
20266
20267 * normal/execute.c (grub_script_execute_cmd): No need to parse
20268 argument here.
20269
20270 * normal/main.c (grub_dyncmd_dispatcher): New function.
20271 (read_command_list): Register unload commands as dyncmd.
20272 (grub_cmd_normal): Use new command interface, register rescue,
20273 unregister normal at entry, register normal, unregister rescue at exit.
20274
20275 * include/grub/list.h (grub_list_test_t): New type.
20276 (grub_list_iterate): Return int instead of void.
20277 (grub_list_insert): New function.
20278 (GRUB_AS_NAMED_LIST_P): New macro.
20279 (GRUB_AS_PRIO_LIST): Likewise.
20280 (GRUB_AS_PRIO_LIST_P): Likewise.
20281 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
20282 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
20283 (grub_prio_list): New structure.
20284 (grub_prio_list_insert): New function.
20285 (grub_prio_list_remove): New inline function.
20286
20287 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
20288 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
20289 (GRUB_COMMAND_FLAG_MENU): Likewise.
20290 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20291 (GRUB_COMMAND_FLAG_TITLE): Likewise.
20292 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20293 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
20294 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
20295 (grub_command): Likewise.
20296 (grub_register_command): Likewise.
20297 (grub_command_find): Likewise.
20298 (grub_iterate_commands): Likewise.
20299 (grub_command_init): Likewise.
20300 (grub_arg_parse): Likewise.
20301 (grub_arg_show_help): Likewise.
20302
20303 * include/grub/rescue.h (grub_rescue_register_command): Removed.
20304 (grub_rescue_unregister_command): Likewise.
20305
20306 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
20307 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
20308 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
20309
20310 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
20311 grub_rescue_cmd_initrd.
20312 * include/grub/i386/loader.h: Likewise.
20313 * include/grub/x86_64/loader.h: Likewise.
20314
20315 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
20316
20317 2009-03-21 Bean <bean123ch@gmail.com>
20318
20319 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
20320 instead of stat in mingw environment.
20321
20322 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
20323
20324 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
20325
20326 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
20327 AC_CONFIG_LINKS.
20328
20329 2009-03-21 Bean <bean123ch@gmail.com>
20330
20331 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
20332 out of range error.
20333
20334 2009-03-18 Michel Dänzer <michel@daenzer.net>
20335
20336 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
20337 checking inode flags for EXT4_EXTENTS_FLAG.
20338
20339 2009-03-18 Robert Millan <rmh@aybabtu.com>
20340
20341 * loader/i386/linux.c: Include `<grub/video.h>' and
20342 `<grub/i386/pc/vbe.h>'..
20343 (grub_linux_setup_video): New function. Loosely based on the EFI one.
20344 (grub_linux32_boot): Attempt to configure video settings with
20345 grub_linux_setup_video().
20346 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
20347 to avoid grub_console_fini() which would step out of graphical mode
20348 unconditionally.
20349
20350 2009-03-14 Robert Millan <rmh@aybabtu.com>
20351
20352 Fix build on powerpc.
20353 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
20354
20355 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
20356
20357 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
20358 background image command.
20359
20360 2009-03-12 Colin D Bennett <colin@gibibit.com>
20361
20362 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
20363 (grub_gfxterm_putchar): Extract pairs of identical calls to
20364 draw_cursor out of conditional blocks.
20365
20366 2009-03-11 Pavel Roskin <proski@gnu.org>
20367
20368 * fs/hfs.c (grub_hfs_strncasecmp): New function.
20369 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
20370
20371 2009-03-11 Robert Millan <rmh@aybabtu.com>
20372
20373 * loader/i386/multiboot_elfxx.c
20374 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
20375
20376 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
20377
20378 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
20379 `kern/handler.c'.
20380
20381 2009-03-11 Robert Millan <rmh@aybabtu.com>
20382
20383 * loader/i386/multiboot.c (code_size): New variable.
20384 (grub_multiboot): Define offsets by adding to `code_size' rather
20385 than subtracting from `grub_multiboot_payload_size'. Provide
20386 4-byte alignment to MBI and others by increasing
20387 `boot_loader_name_length' appropriately.
20388
20389 * loader/i386/multiboot_elfxx.c
20390 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
20391
20392 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
20393
20394 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
20395 `fs/ext2.c'.
20396
20397 2009-03-08 Robert Millan <rmh@aybabtu.com>
20398
20399 Make loader/i386/linux.c usable on i386-pc again.
20400
20401 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
20402 memory to heap.
20403 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
20404 `#error' stanza.
20405
20406 2009-03-07 Bean <bean123ch@gmail.com>
20407
20408 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
20409 allocation.
20410
20411 2009-03-06 Robert Millan <rmh@aybabtu.com>
20412
20413 Fix display issue on terminals with screen size other than 80x25
20414 (e.g. gfxterm with resolution higher than 640x480).
20415
20416 * normal/main.c (grub_normal_init_page): Display title text in a
20417 position relative to the center of the terminal instead of relying
20418 on a hardcoded offset.
20419
20420 2009-03-04 Robert Millan <rmh@aybabtu.com>
20421
20422 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
20423 installed.
20424
20425 * Makefile.in (host_kernel): New variable.
20426 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
20427 scripts instead of just the windows one.
20428 * configure.ac: Initialize and AC_SUBST `host_kernel'.
20429
20430 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20431
20432 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
20433 `kern/handler.c'.
20434 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20435 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20436 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20437 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20438 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20439 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20440
20441 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20442
20443 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
20444 or if there's no space for the disk label and print the partition number on a
20445 invalid magic.
20446
20447 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20448
20449 * util/misc.c: Include <time.h>.
20450 (grub_millisleep): New function.
20451
20452 2009-03-04 Bean <bean123ch@gmail.com>
20453
20454 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
20455 another option -mno-red-zone.
20456
20457 * commands/handler.c: Change module description.
20458
20459 * kern/handler.c: Add missing space at the end of description line.
20460
20461 * kern/list.c: Likewise.
20462
20463 2009-03-03 Robert Millan <rmh@aybabtu.com>
20464
20465 Move more components to the relocation area, and fix mbi pointer
20466 handling to use the destination rather than the origin (thanks to
20467 Vladimir Serbinenko for spotting).
20468
20469 * loader/i386/multiboot.c (mbi_dest): New variable.
20470 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
20471 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
20472 relocation area.
20473
20474 2009-03-01 Bean <bean123ch@gmail.com>
20475
20476 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
20477 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
20478 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
20479 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
20480
20481 * loader/i386/efi/linux.c (acpi_guid): New variable.
20482 (acpi_guid): Likewise.
20483 (EBDA_SEG_ADDR): New constant.
20484 (LOW_MEM_ADDR): Likewise.
20485 (FAKE_EBDA_SEG): Likewise.
20486 (fake_bios_data): New function.
20487 (grub_linux_boot): Call fake_bios_data.
20488
20489 2009-03-01 Bean <bean123ch@gmail.com>
20490
20491 * commands/terminal.c: Removed.
20492
20493 * commands/handler.c: New file.
20494
20495 * include/grub/list.h: Likewise.
20496
20497 * include/grub/handler.h: Likewise.
20498
20499 * kern/list.c: Likewise.
20500
20501 * kern/handler.c: Likewise.
20502
20503 * kern/term.h: Include header file <grub/handler.h>.
20504 (grub_term_input): Move next field to the beginning.
20505 (grub_term_output): Likewise.
20506 (grub_term_input_class): New variable.
20507 (grub_term_output_class): Likewise.
20508 (grub_term_register_input): Changed to inline function.
20509 (grub_term_register_output): Likewise.
20510 (grub_term_unregister_input): Likewise.
20511 (grub_term_unregister_output): Likewise.
20512 (grub_term_set_current_input): Likewise.
20513 (grub_term_set_current_output): Likewise.
20514 (grub_term_get_current_input): Likewise.
20515 (grub_term_get_current_output): Likewise.
20516 (grub_term_iterate_input): Removed.
20517 (grub_term_iterate_output): Likewise.
20518
20519 * kern/term.c (grub_term_list_input): Removed.
20520 (grub_term_list_output): Likewise.
20521 (grub_term_input_class): New variable.
20522 (grub_term_output_class): Likewise.
20523 (grub_cur_term_input): Change variable as macro.
20524 (grub_cur_term_output): Likewise.
20525 (grub_term_register_input): Removed.
20526 (grub_term_register_output): Likewise.
20527 (grub_term_unregister_input): Likewise.
20528 (grub_term_unregister_output): Likewise.
20529 (grub_term_set_current_input): Likewise.
20530 (grub_term_set_current_output): Likewise.
20531 (grub_term_iterate_input): Likewise.
20532 (grub_term_iterate_output): Likewise.
20533 (grub_term_get_current_input): Likewise.
20534 (grub_term_get_current_output): Likewise.
20535
20536 * util/grub-editenv.c: Include header file <grub/handler.h>.
20537 (grub_term_get_current_input): Removed.
20538 (grub_term_get_current_output): Likewise.
20539 (grub_term_input_class): New variable.
20540 (grub_term_output_class): Likewise.
20541
20542 * util/grub-fstest.c (grub_term_get_current_input): Removed.
20543 (grub_term_get_current_output): Likewise.
20544 (grub_term_input_class): New variable.
20545 (grub_term_output_class): Likewise.
20546
20547 * util/grub-probe.c (grub_term_get_current_input): Removed.
20548 (grub_term_get_current_output): Likewise.
20549 (grub_term_input_class): New variable.
20550 (grub_term_output_class): Likewise.
20551
20552 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
20553 (grub_term_get_current_output): Likewise.
20554 (grub_term_input_class): New variable.
20555 (grub_term_output_class): Likewise.
20556
20557 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
20558 (terminal_mod_SOURCES): Likewise.
20559 (terminal_mod_CFLAGS): Likewise.
20560 (terminal_mod_LDFLAGS): Likewise.
20561
20562 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
20563 handler.c.
20564 (kernel_img_SOURCES): Add list.c and handler.c.
20565 (kernel_img_HEADERS): Add list.h and handler.h.
20566
20567 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20568 handler.c.
20569 (kernel_mod_SOURCES): Add list.c and handler.c.
20570 (kernel_mod_HEADERS): Add list.h and handler.h.
20571
20572 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
20573 handler.c.
20574 (kernel_elf_SOURCES): Add list.c and handler.c.
20575 (kernel_elf_HEADERS): Add list.h and handler.h.
20576
20577 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20578 handler.c.
20579 (kernel_elf_SOURCES): Add list.c and handler.c.
20580 (kernel_elf_HEADERS): Add list.h and handler.h.
20581
20582 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20583 handler.c.
20584 (kernel_mod_SOURCES): Add list.c and handler.c.
20585 (kernel_mod_HEADERS): Add list.h and handler.h.
20586
20587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20588 handler.c.
20589 (kernel_elf_SOURCES): Add list.c and handler.c.
20590 (kernel_elf_HEADERS): Add list.h and handler.h.
20591
20592 2009-02-27 Robert Millan <rmh@aybabtu.com>
20593
20594 Factorize elf32 / elf64 code in Multiboot loader. This will
20595 prevent it from getting out of sync again.
20596
20597 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
20598 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
20599 grub_multiboot_load_elf64): Move from here ...
20600 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
20601 grub_multiboot_load_elf): ... to here (new file).
20602
20603 2009-02-27 Robert Millan <rmh@aybabtu.com>
20604
20605 * util/grub.d/10_linux.in: Rename "single-user mode" to
20606 "recovery mode".
20607
20608 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
20609
20610 Don't leak in SCSI code.
20611 * disk/scsi.c (grub_scsi_close): free `scsi'.
20612
20613 2009-02-27 Robert Millan <rmh@aybabtu.com>
20614
20615 * loader/i386/pc/multiboot.c: Move from here ...
20616 * loader/i386/multiboot.c: ... to here. Update all users.
20617
20618 2009-02-27 Robert Millan <rmh@aybabtu.com>
20619
20620 Patch from Alexandre Bique <bique.alexandre@gmail.com>
20621 * util/i386/pc/grub-setup.c (setup): Fix directory path.
20622
20623 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
20624
20625 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
20626 b-tree.
20627
20628 2009-02-27 Robert Millan <rmh@aybabtu.com>
20629
20630 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
20631 `0x' qualifier as 0 when base is specified as parameter).
20632
20633 2009-02-24 Bean <bean123ch@gmail.com>
20634
20635 * configure.ac: Check for -mcmodel=large in x86_64 target.
20636
20637 * include/grub/efi/api.h (efi_call_10): New macro.
20638 (efi_wrap_10): New function.
20639
20640 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
20641 (GRUB_PE32_REL_BASED_HIGH): Likewise.
20642 (GRUB_PE32_REL_BASED_LOW): Likewise.
20643 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
20644 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
20645 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
20646 (GRUB_PE32_REL_BASED_SECTION): Likewise.
20647 (GRUB_PE32_REL_BASED_REL): Likewise.
20648 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
20649 (GRUB_PE32_REL_BASED_DIR64): Likewise.
20650 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
20651
20652 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
20653 issue.
20654
20655 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
20656 (efi_wrap_10): New function.
20657
20658 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
20659
20660 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
20661 MB/MBP model (NV chipset).
20662 (devdata_devs): Add devpath_5 to the list.
20663
20664 * load/i386/efi/linux.c (video_base): Remove variable.
20665 (RGB_MASK): New macro.
20666 (RGB_MAGIC): Likewise.
20667 (LINE_MIN): Likewise.
20668 (LINE_MAX): Likewise.
20669 (FBTEST_STEP): Likewise.
20670 (FBTEST_COUNT): Likewise.
20671 (fb_list): New variable.
20672 (grub_find_video_card): Remove function.
20673 (find_framebuf): New function.
20674 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
20675 line length.
20676
20677 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
20678 problem for x86_64.
20679
20680 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
20681
20682 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
20683
20684 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
20685 coding tool name.
20686
20687 2009-02-22 Robert Millan <rmh@aybabtu.com>
20688
20689 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
20690 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
20691 in our relocation, instead of using it directly from heap. Also
20692 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
20693
20694 2009-02-21 Robert Millan <rmh@aybabtu.com>
20695
20696 Implement USB keyboard support (based on patch by Marco Gerards)
20697
20698 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
20699 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
20700 (usb_keyboard_mod_LDFLAGS): New variables.
20701
20702 * term/usb_keyboard.c: New file.
20703
20704 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20705
20706 Corrected wrong declaration
20707
20708 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
20709
20710 2009-02-14 Christian Franke <franke@computer.org>
20711
20712 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
20713 (grub_lspci_iter): Print class code and programming interface byte.
20714
20715 2009-02-14 Christian Franke <franke@computer.org>
20716
20717 * gendistlist.sh: Ignore `.svn' directories.
20718
20719 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
20720
20721 * fs/fat.c: Add 2009 to Copyright line.
20722
20723 2009-02-14 Christian Franke <franke@computer.org>
20724
20725 * commands/hdparm.c: New file. Provides `hdparm' command
20726 which sends ATA commands via grub_disk_ata_pass_through ().
20727
20728 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
20729
20730 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
20731 and <grub/cpu/io.h> to include/grub/ata.h.
20732 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
20733 (GRUB_CDROM_SECTOR_SIZE): Remove.
20734 (GRUB_ATA_*): Move to include/grub/ata.h.
20735 (GRUB_ATAPI_*): Likewise.
20736 (enum grub_ata_commands): Likewise.
20737 (enum grub_ata_timeout_milliseconds): Likewise.
20738 (struct grub_ata_device): Likewise.
20739 (grub_ata_regset): Likewise.
20740 (grub_ata_regget): Likewise.
20741 (grub_ata_regset2): Likewise.
20742 (grub_ata_regget2): Likewise.
20743 (grub_ata_check_ready): Likewise.
20744 (grub_ata_wait_not_busy): Remove static, exported in
20745 include/grub/ata.h.
20746 (grub_ata_wait_drq): Likewise.
20747 (grub_ata_pio_read): Likewise.
20748
20749 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
20750 function for hdparm.mod.
20751
20752 * include/grub/ata.h: New file, contains declarations from
20753 disk/ata.c.
20754 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
20755
20756 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
20757 (grub_disk_ata_pass_through): New exported variable.
20758
20759 * kern/disk.c (grub_disk_ata_pass_through): New variable.
20760
20761 2009-02-13 Colin D Bennett <colin@gibibit.com>
20762
20763 Support multiple fallback entries, and provide an API to support
20764 executing default+fallback menu entries. Renamed the `terminal' menu
20765 viewer to `text'.
20766
20767 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
20768 variable declaration.
20769 (grub_menu_execute_callback): New structure declaration.
20770 (grub_menu_execute_callback_t): New typedef.
20771 (grub_menu_execute_with_fallback): New function declaration.
20772 (grub_menu_get_entry): Likewise.
20773 (grub_menu_get_timeout): Likewise.
20774 (grub_menu_set_timeout): Likewise.
20775
20776 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
20777
20778 * normal/menu.c (grub_wait_after_message): Moved to
20779 `normal/menu_text.c'.
20780 (draw_border): Likewise.
20781 (print_message): Likewise.
20782 (print_entry): Likewise.
20783 (print_entries): Likewise.
20784 (grub_menu_init_page): Likewise.
20785 (get_entry_number): Likewise.
20786 (print_timeout): Likewise.
20787 (run_menu): Likewise.
20788 (grub_menu_execute_entry): Likewise.
20789 (show_text_menu): Likewise.
20790 (get_and_remove_first_entry_number): New function.
20791 (grub_menu_execute_with_fallback): Likewise.
20792 (get_entry): Renamed to ...
20793 (grub_menu_get_entry): .. this and made it global.
20794 (get_timeout): Renamed to ...
20795 (grub_menu_get_timeout): ... this and made it global.
20796 (set_timeout): Renamed to ...
20797 (grub_menu_set_timeout): ... this and made it global.
20798 (grub_normal_terminal_menu_viewer): Renamed to ...
20799 (grub_normal_text_menu_viewer): ... this.
20800
20801 * normal/menu_text.c: New file. Extracted text-menu-specific code
20802 from normal/menu.c.
20803
20804 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
20805 (normal_mod_SOURCES): Likewise.
20806
20807 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20808 (normal_mod_SOURCES): Likewise.
20809
20810 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20811 (normal_mod_SOURCES): Likewise.
20812
20813 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
20814 (normal_mod_SOURCES): Likewise.
20815
20816 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20817 (normal_mod_SOURCES): Likewise.
20818
20819 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20820 (normal_mod_SOURCES): Likewise.
20821
20822 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20823 (normal_mod_SOURCES): Likewise.
20824
20825 2009-02-11 Robert Millan <rmh@aybabtu.com>
20826
20827 * util/grub.d/00_header.in: Update old reference to `font' command.
20828
20829 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
20830
20831 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
20832
20833 Based on patch from Javier Martín.
20834
20835 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20836
20837 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
20838 to avoid false positives with FAT.
20839 (grub_fstest_SOURCES): Likewise.
20840 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20841 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20843 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20844 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20845 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20846
20847 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20848
20849 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
20850 bpb.version_specific.fat12_or_fat16.fstype and
20851 bpb.version_specific.fat32.fstype.
20852
20853 2009-02-08 Robert Millan <rmh@aybabtu.com>
20854
20855 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
20856
20857 2009-02-08 Robert Millan <rmh@aybabtu.com>
20858
20859 * Makefile.in (host_os, host_cpu): New variables.
20860 (target_os): Remove. Update all users.
20861
20862 2009-02-08 Marco Gerards <marco@gnu.org>
20863
20864 * Makefile.in (enable_grub_emu_usb): New variable.
20865 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
20866 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
20867 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
20868 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
20869 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
20870 `usbtest.mod' and `usbms.mod'.
20871 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
20872 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
20873 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
20874 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
20875 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
20876 variables.
20877
20878 * disk/usbms.c: New file.
20879
20880 * include/grub/usb.h: Likewise.
20881
20882 * include/grub/usbtrans.h: Likewise.
20883
20884 * include/grub/usbdesc.h: Likewise.
20885
20886 * bus/usb/usbtrans.c: Likewise.
20887
20888 * bus/usb/ohci.c: Likewise.
20889
20890 * bus/usb/uhci.c: Likewise.
20891
20892 * bus/usb/usbhub.c: Likewise.
20893
20894 * bus/usb/usb.c: Likewise.
20895
20896 * commands/usbtest.c: Likewise.
20897
20898 * util/usb.c: Likewise.
20899
20900 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
20901
20902 * configure.ac: Test for libusb presence.
20903
20904 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
20905
20906 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
20907
20908 * kern/mm.c: Add more comments.
20909
20910 2009-02-08 Robert Millan <rmh@aybabtu.com>
20911
20912 Patch from Javier Martín.
20913 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
20914 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
20915
20916 2009-02-08 Robert Millan <rmh@aybabtu.com>
20917
20918 * fs/cpio.c: Split tar functionality to ...
20919 * fs/tar.c: ... here (new file). Update all users.
20920
20921 2009-02-07 Robert Millan <rmh@aybabtu.com>
20922
20923 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
20924 backward-incompatible features.
20925
20926 Based on patch from Javier Martín, with some adjustments.
20927
20928 2009-02-07 Michael Scherer <misc@mandriva.org>
20929
20930 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
20931
20932 2009-02-07 Robert Millan <rmh@aybabtu.com>
20933
20934 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
20935 position of `disk/lvm.c' to ensure grub_init_all() always picks it
20936 after the RAID stuff.
20937
20938 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
20939
20940 Fixes problem when running vbetest command as reported by
20941 Vladimir Serbinenko <phcoder@gmail.com>.
20942
20943 * (grub_vbe_set_video_mode): Fixed problem with text modes.
20944
20945 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
20946
20947 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
20948 /dev/md/NpN style mdraid devices.
20949
20950 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20951
20952 * util/unifont2pff.rb: Remove.
20953
20954 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20955
20956 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
20957 `#'.
20958
20959 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20960
20961 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
20962 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20963 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20964 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20965 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20966 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20967 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20968
20969 2009-02-02 Christian Franke <franke@computer.org>
20970
20971 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
20972
20973 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
20974
20975 * INSTALL: Note that we now require at least autoconf 2.59 and
20976 that LZO is optional.
20977
20978 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20979
20980 Base on patch on bug #24154 created by Tomas Tintera
20981 <trosos@seznam.cz>.
20982
20983 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
20984
20985 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20986
20987 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
20988 <bero@arklinux.org>.
20989
20990 * normal/parser.y (script_init): Add missing semicolon.
20991
20992 2009-01-31 Colin D Bennett <colin@gibibit.com>
20993
20994 * normal/main.c: Add include to grub/menu_viewer.h.
20995 (free_menu_entry_classes): Added.
20996 (grub_normal_menu_addentry): Added class property handling.
20997 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
20998 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
20999
21000 * normal/menu_viewer.c: New file.
21001
21002 * normal/menu.c (run_menu_entry): Renamed to ...
21003 (grub_menu_execute_entry): ... this and made it as global.
21004 (grub_menu_run): Renamed to ...
21005 (show_text_menu): ... this and made it local.
21006 (show_text_menu): Adapt to new function names.
21007 (grub_normal_terminal_menu_viewer): New global variable.
21008
21009 * include/grub/menu.h: New file.
21010
21011 * include/grub/menu_viewer.h: New file.
21012
21013 * include/grub/normal.h: Added include to grub/menu.h.
21014 (grub_menu_entry): Moved to include/grub/menu.h.
21015 (grub_menu_entry_t): Likewise.
21016 (grub_menu): Likewise.
21017 (grub_menu_t): Likewise.
21018 (grub_normal_terminal_menu_viewer): Added.
21019 (grub_menu_execute_entry): Likewise.
21020 (grub_menu_run): Removed.
21021
21022 * DISTLIST: Added include/grub/menu.h.
21023 Added include/grub/menu_viewer.h.
21024 Added normal/menu_viewer.c.
21025
21026 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
21027
21028 * normal/execute.c (grub_script_execute_menuentry): Changed to use
21029 arglist for menutitle arguments.
21030
21031 * normal/main.c (grub_normal_menu_addentry): Likewise.
21032
21033 * normal/parser.y (menuentry): Likewise.
21034
21035 * normal/script.c (grub_script_create_cmdmenu): Likewise.
21036
21037 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
21038 (grub_script_create_cmdmenu): Likewise.
21039
21040 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
21041
21042 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
21043 changes.
21044
21045 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
21046
21047 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
21048
21049 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
21050
21051 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21052
21053 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21054
21055 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21056
21057 2009-01-30 Christian Franke <franke@computer.org>
21058
21059 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
21060 in option help text.
21061
21062 2009-01-27 Pavel Roskin <proski@gnu.org>
21063
21064 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
21065
21066 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21067
21068 * commands/lsmmap.c: Add include to grub/machine/memory.h.
21069
21070 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
21071
21072 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
21073 unregister function.
21074
21075 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21076
21077 * disk/scsi.c (grub_scsi_read): Fix sign problem.
21078
21079 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
21080
21081 * util/grub-mkfont.c (usage): Fix typo.
21082
21083 * util/elf/grub-mkimage.c (load_modules): Fix warning.
21084
21085 2009-01-26 Daniel Mierswa <impulze@impulze.org>
21086
21087 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
21088
21089 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
21090
21091 * kern/misc.c (grub_strcasecmp): New function.
21092 (grub_strcasecmp): Use grub_size_t instead of int for length.
21093 Fix return value.
21094 * include/grub/misc.h: Update function prototypes.
21095
21096 2009-01-26 Robert Millan <rmh@aybabtu.com>
21097
21098 * configure.ac: Fix cross-compilation check.
21099
21100 2009-01-22 Christian Franke <franke@computer.org>
21101
21102 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
21103 (precision) digit string. Allow `.format2' without `format1' (width).
21104 Limit input chars for `%s' output to `format2' if specified. This is
21105 compatible with standard printf ().
21106
21107 2009-01-22 Christian Franke <franke@computer.org>
21108
21109 * disk/ata.c (grub_ata_wait_status): Replace by ...
21110 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
21111 other status bits may be invalid while BSY is asserted.
21112 (grub_ata_check_ready): New function.
21113 (grub_ata_cmd): Removed.
21114 (grub_ata_wait_drq): New function.
21115 (grub_ata_strncpy): Remove inline.
21116 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
21117 and error check now done by grub_ata_wait_drq ().
21118 (grub_ata_pio_write): Likewise.
21119 (grub_atapi_identify): Set DEV before check for !BSY. Use
21120 grub_ata_wait_drq () to wait for data.
21121 (grub_ata_device_initialize): Add status register check to
21122 detect missing SATA slave devices. Add debug messages.
21123 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
21124 (grub_atapi_packet): Set DEV before check for !BSY. Replace
21125 transfer loop by grub_ata_pio_write ().
21126 (grub_ata_identify): Set DEV before check for !BSY. Use
21127 grub_ata_wait_drq () to wait for data.
21128 (grub_ata_setaddress): Set DEV before check for !BSY.
21129 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
21130 read/write in one loop. Fix invalid command on write. Fix incomplete
21131 command on (size % batch) == 0. Add missing error check after write of
21132 last block. Add debug messages.
21133 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
21134
21135 2009-01-19 Christian Franke <franke@computer.org>
21136
21137 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
21138 (GRUB_ATAPI_IREASON_*): Likewise.
21139 (grub_ata_pio_write): Fix timeout error return.
21140 (grub_atapi_identify): Add grub_ata_wait () after cmd.
21141 (grub_atapi_wait_drq): New function.
21142 (grub_atapi_packet): New parameter `size'.
21143 Use grub_atapi_wait_drq () and direct write instead of
21144 grub_ata_pio_write ().
21145 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
21146 reads the number of bytes requested by the device for each DRQ
21147 assertion.
21148 (grub_atapi_write): Remove old implementation, return not
21149 implemented instead.
21150
21151 2009-01-19 Christian Franke <franke@computer.org>
21152
21153 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
21154 of 512 to calculate data size.
21155 (grub_scsi_read12): Likewise.
21156 (grub_scsi_write10): Likewise.
21157 (grub_scsi_write12): Likewise.
21158 (grub_scsi_read): Adjust size according to blocksize.
21159 Add checks for invalid blocksize and unaligned transfer.
21160
21161 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
21162
21163 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
21164
21165 * term/gfxterm.c (write_char): Fix background rendering for wide
21166 width glyphs.
21167
21168 2009-01-19 Robert Millan <rmh@aybabtu.com>
21169
21170 * config.guess: Update to latest version from config git.
21171 * config.sub: Likewise.
21172
21173 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
21174
21175 * Makefile.in: Change font compilation to use new grub-mkfont instead
21176 of java version.
21177
21178 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
21179 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21180 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21181 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21182 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21183 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21184 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21185 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21186 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21187
21188 2009-01-16 Christian Franke <franke@computer.org>
21189
21190 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
21191 (enum grub_ata_timeout_milliseconds): New enum.
21192 (grub_ata_wait_status): Add parameter milliseconds.
21193 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
21194 recovery from timed-out commands.
21195 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
21196 return grub_errno instead of REG_ERROR.
21197 (grub_ata_pio_write): Add parameter milliseconds.
21198 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
21199 Pass milliseconds to grub_ata_wait_status () and
21200 grub_ata_pio_read ().
21201 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
21202 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
21203 grub_ata_wait_status (). Fix IDENTIFY timeout check.
21204 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
21205 It is not suitable for device detection, because DEV bit is ignored,
21206 the command may run too long, and not all devices set the signature
21207 properly.
21208 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
21209 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
21210 Fix device selection, DEV bit must be set first to address the registers
21211 of the correct device.
21212 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
21213 grub_ata_pio_read/write ().
21214 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
21215 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
21216
21217 2009-01-13 Carles Pina i Estany <carles@pina.cat>
21218
21219 * util/grub-editenv.c (main): Use fseeko(), not fseek().
21220
21221 2009-01-13 Bean <bean123ch@gmail.com>
21222
21223 * util/grub-mkfont.c (write_font): forget to remove some debug code.
21224
21225 2009-01-13 Bean <bean123ch@gmail.com>
21226
21227 * Makefile.in: (enable_grub_mkfont): New variable.
21228 (freetype_cflags): Likewise.
21229 (freetype_libs): Likewise.
21230
21231 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
21232 (grub_mkfont_SOURCES): New variable.
21233 (grub_mkfont_CFLAGS): Likewise.
21234 (grub_mkfont_LDFLAGS): Likewise.
21235
21236 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
21237 library if `--enable-grub-mkfont' is requested.
21238 (enable_grub_mkfont): New variable.
21239 (freetype_cflags): Likewise.
21240 (freetype_libs): Likewise.
21241
21242 * util/grub-mkfont.c: New file.
21243
21244 2009-01-12 Christian Franke <franke@computer.org>
21245
21246 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
21247 mode check. Fix setting of compat_use[].
21248
21249 2009-01-10 Robert Millan <rmh@aybabtu.com>
21250
21251 Update a few copyright years which we forgot to do in 2008 (only for
21252 files whose changes made in 2008 were copyright-significant)
21253
21254 * Makefile.in: Add 2008 to Copyright line.
21255 * disk/ieee1275/ofdisk.c: Likewise.
21256 * disk/efi/efidisk.c: Likewise.
21257 * kern/dl.c: Likewise.
21258 * kern/sparc64/ieee1275/init.c: Likewise.
21259 * kern/mm.c: Likewise.
21260 * kern/efi/mm.c: Likewise.
21261 * boot/i386/pc/boot.S: Likewise.
21262 * genfslist.sh: Likewise.
21263 * fs/iso9660.c: Likewise.
21264 * fs/hfs.c: Likewise.
21265 * fs/jfs.c: Likewise.
21266 * fs/minix.c: Likewise.
21267 * fs/ufs.c: Likewise.
21268 * gensymlist.sh.in: Likewise.
21269 * genkernsyms.sh.in: Likewise.
21270 * include/grub/misc.h: Likewise.
21271 * include/grub/types.h: Likewise.
21272 * include/grub/symbol.h: Likewise.
21273 * include/grub/elf.h: Likewise.
21274 * include/grub/kernel.h: Likewise.
21275 * include/grub/disk.h: Likewise.
21276 * include/grub/dl.h: Likewise.
21277 * include/grub/i386/linux.h: Likewise.
21278 * include/grub/i386/pc/biosdisk.h: Likewise.
21279 * include/grub/efi/api.h: Likewise.
21280 * include/grub/efi/pe32.h: Likewise.
21281 * include/grub/util/misc.h: Likewise.
21282 * normal/execute.c: Likewise.
21283 * normal/arg.c: Likewise.
21284 * normal/completion.c: Likewise.
21285 * normal/lexer.c: Likewise.
21286 * normal/parser.y: Likewise.
21287 * normal/misc.c: Likewise.
21288 * commands/i386/pc/vbeinfo.c: Likewise.
21289 * commands/hexdump.c: Likewise.
21290 * commands/terminal.c: Likewise.
21291 * commands/ls.c: Likewise.
21292 * commands/help.c: Likewise.
21293 * partmap/pc.c: Likewise.
21294 * loader/efi/chainloader.c: Likewise.
21295 * loader/multiboot_loader.c: Likewise.
21296 * loader/i386/pc/multiboot2.c: Likewise.
21297 * term/efi/console.c: Likewise.
21298 * term/i386/pc/serial.c: Likewise.
21299 * util/lvm.c: Likewise.
21300 * util/console.c: Likewise.
21301 * util/i386/efi/grub-mkimage.c: Likewise.
21302 * util/raid.c: Likewise.
21303
21304 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
21305
21306 * commands/videotest.c: Removed include to grub/machine/memory.h.
21307
21308 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
21309 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
21310 (video_mod_SOURCES): Removed.
21311 (video_mod_CFLAGS): Likewise.
21312 (video_mod_LDFLAGS): Likewise.
21313 (gfxterm_mod_SOURCES): Likewise.
21314 (gfxterm_mod_CFLAGS): Likewise.
21315 (gfxterm_mod_LDFLAGS): Likewise.
21316 (videotest_mod_SOURCES): Likewise.
21317 (videotest_mod_CFLAGS): Likewise.
21318 (videotest_mod_LDFLAGS): Likewise.
21319 (bitmap_mod_SOURCES): Likewise.
21320 (bitmap_mod_CFLAGS): Likewise.
21321 (bitmap_mod_LDFLAGS): Likewise.
21322 (tga_mod_SOURCES): Likewise.
21323 (tga_mod_CFLAGS): Likewise.
21324 (tga_mod_LDFLAGS): Likewise.
21325 (jpeg_mod_SOURCES): Likewise.
21326 (jpeg_mod_CFLAGS): Likewise.
21327 (jpeg_mod_LDFLAGS): Likewise.
21328 (png_mod_SOURCES): Likewise.
21329 (png_mod_CFLAGS): Likewise.
21330 (png_mod_LDFLAGS): Likewise.
21331
21332 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
21333 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
21334 (video_mod_SOURCES): Added.
21335 (video_mod_CFLAGS): Likewise.
21336 (video_mod_LDFLAGS): Likewise.
21337 (videotest_mod_SOURCES): Likewise.
21338 (videotest_mod_CFLAGS): Likewise.
21339 (videotest_mod_LDFLAGS): Likewise.
21340 (bitmap_mod_SOURCES): Likewise.
21341 (bitmap_mod_CFLAGS): Likewise.
21342 (bitmap_mod_LDFLAGS): Likewise.
21343 (tga_mod_SOURCES): Likewise.
21344 (tga_mod_CFLAGS): Likewise.
21345 (tga_mod_LDFLAGS): Likewise.
21346 (jpeg_mod_SOURCES): Likewise.
21347 (jpeg_mod_CFLAGS): Likewise.
21348 (jpeg_mod_LDFLAGS): Likewise.
21349 (png_mod_SOURCES): Likewise.
21350 (png_mod_CFLAGS): Likewise.
21351 (png_mod_LDFLAGS): Likewise.
21352 (gfxterm_mod_SOURCES): Likewise.
21353 (gfxterm_mod_CFLAGS): Likewise.
21354 (gfxterm_mod_LDFLAGS): Likewise.
21355
21356 * term/gfxterm.c: Removed include to grub/machine/memory.h,
21357 grub/machine/console.h.
21358
21359 2009-01-04 Jerone Young <jerone@gmail.com>
21360
21361 Make on screen instructions clearer
21362
21363 Based on patch created by Jidanni <jidanni@jidanni.org>
21364
21365 * normal/menu.c: print clearer instructions on the screen
21366
21367 2009-01-02 Colin D Bennett <colin@gibibit.com>
21368
21369 New font engine.
21370
21371 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
21372 build system and fixed gfxterm.c to work with different sized fonts.
21373
21374 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
21375
21376 * configure: Re-generated.
21377
21378 * DISTLIST: Removed font/manager.c.
21379 Added font/font.c.
21380 Added font/font_cmd.c.
21381
21382 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
21383 compilation.
21384
21385 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
21386
21387 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
21388
21389 * kern/term.c: Changed users of grub_utf8_to_ucs4.
21390
21391 * normal/menu.c: Likewise.
21392
21393 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
21394 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
21395
21396 * include/grub/font.h: Replaced with new file.
21397
21398 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
21399 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
21400 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
21401 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
21402 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
21403 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
21404 fg_red, fg_green, fg_blue, fg_alpha.
21405 (grub_video_adapter): Removed blit_glyph.
21406 (grub_video_blit_glyph): Removed.
21407
21408 * font/manager.c: Removed file.
21409
21410 * font/font.c: New file.
21411
21412 * font/font_cmd.c: Likewise.
21413
21414 * video/video.c (grub_video_blit_glyph): Removed.
21415
21416 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
21417 (grub_video_vbe_map_rgba): Likewise.
21418 (grub_video_vbe_unmap_color_int): Likewise.
21419 (grub_video_vbe_blit_glyph): Removed.
21420 (grub_video_vbe_adapter): Removed blit_glyph.
21421
21422 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
21423 (get_pixel): Likewise.
21424 (set_pixel): Likewise.
21425
21426 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
21427
21428 * term/gfxterm.c: Adapted to new font engine.
21429
21430 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
21431
21432 * term/i386/pc/vga.c: Likewise.
21433
21434 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
21435
21436 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21437
21438 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21439
21440 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21441
21442 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21443
21444 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21445
21446 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21447
21448 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21449
21450 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21451
21452 * util/grub.d/00_header.in: Changed to use new loadfont command.
21453
21454 * util/grub-mkconfig_lib.in: Changed font extension.
21455
21456 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
21457
21458 * util/getroot.c (grub_util_get_grub_dev): Add support for
21459 /dev/md/dNNpNN style partitionable mdraid devices.
21460
21461 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
21462
21463 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
21464 at a time limit of the PXE TFTP API correctly.
21465 (grub_pxefs_close): Likewise.
21466
21467 2008-11-29 Robert Millan <rmh@aybabtu.com>
21468
21469 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
21470 grub_ata_device_initialize() calls.
21471
21472 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
21473
21474 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
21475 iteration failed.
21476 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
21477
21478 2008-11-28 Robert Millan <rmh@aybabtu.com>
21479
21480 Fix build on powerpc-ieee1275. Based on patch created by
21481 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
21482 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21483 `kern/ieee1275/mmap.c'.
21484 * include/grub/powerpc/ieee1275/memory.h: New file.
21485
21486 Provide grub-install on coreboot.
21487 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
21488 (grub_install_SOURCES): New variable.
21489 * util/i386/pc/grub-install.in: Add a few condition checks to make it
21490 usable on coreboot.
21491
21492 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
21493
21494 * util/grub-fstest.c (grub_term_get_current_input): Change return type
21495 to `grub_term_input_t'.
21496 (grub_term_get_current_output): Change return type to
21497 `grub_term_output_t'.
21498
21499 2008-11-22 Robert Millan <rmh@aybabtu.com>
21500
21501 Fix breakage on coreboot due to declaration mismatch.
21502 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
21503 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
21504 grub_vga_text_cls().
21505
21506 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
21507 comments. Avoid copying one more byte than necessary (just in case).
21508
21509 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
21510 to 0x200000 (avoids trouble with some OFW implementations, and matches
21511 with the one in Yaboot).
21512 Reported by Manoel Abranches
21513
21514 2008-11-20 Robert Millan <rmh@aybabtu.com>
21515
21516 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
21517 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
21518
21519 * util/grub-mkconfig_lib.in (grub_warn): New function.
21520 (convert_system_path_to_grub_path): Use grub_warn() when issuing
21521 warnings, to obtain consistent formatting.
21522 * util/grub.d/00_header.in: Likewise.
21523 * util/update-grub_lib.in: Likewise.
21524
21525 * loader/i386/linux.c (allocate_pages): Fix a warning.
21526 Move comment text to `#error' stanza.
21527
21528 Harmonize ieee1275's grub_available_iterate() with the generic
21529 grub_machine_mmap_iterate() interface (fixes a recently-introduced
21530 build problem on i386-ieee1275):
21531 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
21532 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
21533 parameter `type'. Update all users of this function.
21534 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21535 `kern/ieee1275/mmap.c'.
21536 * kern/ieee1275/init.c
21537 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
21538 with ...
21539 (grub_machine_mmap_iterate): ... this.
21540 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
21541 return type to `grub_err_t'. Update all implementations of this
21542 function prototype.
21543 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
21544 Likewise.
21545
21546 Add `lsmmap' command (lists firmware-provided memory map):
21547 * commands/lsmmap.c: New file.
21548 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
21549 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
21550 variables.
21551 * conf/powerpc-ieee1275.rmk: Likewise.
21552 * conf/i386-coreboot.rmk: Likewise.
21553 * conf/i386-ieee1275.rmk: Likewise.
21554
21555 2008-11-19 Robert Millan <rmh@aybabtu.com>
21556
21557 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
21558 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
21559 constraints to initrd allocation (based on code from
21560 loader/i386/pc/linux.c). Without them, initrd was allocated too high
21561 for Linux to find it.
21562
21563 2008-11-14 Robert Millan <rmh@aybabtu.com>
21564
21565 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
21566 order to cope with duplicate slashes.
21567
21568 2008-11-14 Robert Millan <rmh@aybabtu.com>
21569
21570 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
21571 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
21572 don't want to mess with lower memory, because it is used in the Linux
21573 loader.
21574
21575 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
21576 an appropriate place in lower memory, between 0x10000 and 0x90000,
21577 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
21578 is in our heap (probably as a result of it being corrupted during
21579 decompression). Add #error instance with comment to explain why this
21580 loader isn't currently usable on PC/BIOS.
21581
21582 2008-11-14 Robert Millan <rmh@aybabtu.com>
21583
21584 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
21585 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
21586
21587 2008-11-12 Robert Millan <rmh@aybabtu.com>
21588
21589 Make loader/i386/linux.c buildable on i386-pc (although disabled).
21590
21591 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
21592 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
21593 from here ...
21594 * include/grub/i386/pc/memory.h: ... to here.
21595
21596 2008-11-12 Robert Millan <rmh@aybabtu.com>
21597
21598 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
21599 split).
21600
21601 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
21602 (grub_console_cur_color, grub_console_real_putchar)
21603 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21604 (grub_console_setcolorstate, grub_console_setcolor)
21605 (grub_console_getcolor): Move from here ...
21606 * include/grub/i386/vga_common.h: ... to here (new file).
21607
21608 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
21609 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
21610 `<grub/i386/io.h>'.
21611 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
21612 `<grub/i386/vga_common.h>'.
21613
21614 2008-11-12 Robert Millan <rmh@aybabtu.com>
21615
21616 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
21617 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
21618 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
21619 variables.
21620 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21621 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
21622
21623 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
21624 grub_console_init() with call to grub_vga_text_init().
21625 (grub_machine_fini): Replace call to
21626 grub_console_fini() with call to grub_vga_text_fini() and
21627 grub_at_keyboard_fini().
21628
21629 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
21630 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21631 (grub_console_setcolorstate, grub_console_setcolor)
21632 (grub_console_getcolor): New function prototypes.
21633
21634 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
21635 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
21636 (grub_vga_text_setcursor): Static-ize.
21637 (grub_vga_text_term): New structure.
21638 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
21639
21640 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
21641 (grub_console_cur_color, grub_console_standard_color)
21642 (grub_console_normal_color, grub_console_highlight_color)
21643 (map_char, grub_console_putchar, grub_console_getcharwidth)
21644 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
21645 (grub_console_getcolor): Move from here ...
21646 * term/i386/vga_common.c: ... to here (same function names).
21647
21648 2008-11-12 Robert Millan <rmh@aybabtu.com>
21649
21650 Use newly-added Multiboot support in coreboot.
21651
21652 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21653 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
21654
21655 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
21656 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
21657 (codestart): Store the MBI in `startup_multiboot_info' when we're
21658 being loaded using Multiboot.
21659
21660 * kern/i386/coreboot/init.c (grub_machine_init): Move
21661 grub_at_keyboard_init() call to beginning of function (useful for
21662 debugging). Call grub_machine_mmap_init() before attempting to use
21663 grub_machine_mmap_iterate().
21664 (grub_lower_mem, grub_upper_mem): Move from here ...
21665 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
21666 here (new file).
21667
21668 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
21669 function prototype.
21670
21671 2008-11-12 Robert Millan <rmh@aybabtu.com>
21672
21673 Fix a regression introduced by the at_keyboard.mod split. Because
21674 some terminals are default on some platforms and non-default on
21675 others, the first terminal being registered determines which is
21676 going to be default.
21677
21678 * kern/term.c (grub_term_register_input): If this is the first
21679 terminal being registered, set it as the current one.
21680 (grub_term_register_output): Likewise.
21681
21682 * term/efi/console.c (grub_console_init): Do not call
21683 grub_term_set_current_output() or grub_term_set_current_input().
21684 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
21685 * term/i386/pc/console.c (grub_console_init): Likewise.
21686 (grub_console_fini): Do not call grub_term_set_current_input()
21687 (but leave grub_term_set_current_output() to restore text mode).
21688
21689 2008-11-10 Robert Millan <rmh@aybabtu.com>
21690
21691 * util/grub.d/00_header.in: Add backward compatibility check for
21692 versions of terminal.mod that don't understand `terminal_input' or
21693 `terminal_output'.
21694
21695 2008-11-09 Robert Millan <rmh@aybabtu.com>
21696
21697 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
21698 `terminal_input' / `terminal_output', not `terminal'.
21699
21700 2008-11-08 Robert Millan <rmh@aybabtu.com>
21701
21702 * Makefile.in (include_DATA): Fix srcdir=. assumption.
21703 (DISTCLEANFILES): Add `build_env.mk'.
21704
21705 2008-11-08 Robert Millan <rmh@aybabtu.com>
21706
21707 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
21708 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21709 members. Update all users.
21710 * util/console.c (grub_ncurses_term): Split in ...
21711 (grub_ncurses_term_input): ... this, and ...
21712 (grub_ncurses_term_output): ... this. Update all users.
21713 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
21714
21715 2008-11-08 Robert Millan <rmh@aybabtu.com>
21716
21717 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
21718 (PKGDATA): Add $(pkgdata_SRCDIR).
21719 (pkglib_BUILDDIR): New variable.
21720 (pkgdata_SRCDIR): New variable.
21721 (build_env.mk): New target.
21722 (include_DATA): New variable.
21723 (install-local): Install $(include_DATA) files in $(includedir).
21724
21725 2008-11-07 Pavel Roskin <proski@gnu.org>
21726
21727 * gendistlist.sh: Use C locale for sorting to ensure consistent
21728 output on all systems.
21729
21730 * util/grub.d/00_header.in: Remove incorrect space before
21731 "serial".
21732
21733 2008-11-07 Robert Millan <rmh@aybabtu.com>
21734
21735 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
21736 per specification.
21737 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
21738 * loader/multiboot_loader.c (find_multi_boot2_header): New function
21739 (based on find_multi_boot1_header).
21740 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
21741 using find_multi_boot2_header(), and abort if neither Multiboot or
21742 Multiboot headers were found.
21743
21744 2008-11-07 Robert Millan <rmh@aybabtu.com>
21745
21746 Modularize at_keyboard.mod:
21747
21748 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
21749 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21750 (at_keyboard_mod_LDFLAGS): New variables.
21751
21752 Actual terminal split:
21753
21754 * include/grub/term.h (struct grub_term): Split in ...
21755 (struct grub_term_input): ... this, and ...
21756 (struct grub_term_output): ... this. Update all users.
21757 (grub_term_set_current): Split in ...
21758 (grub_term_set_current_input): ... this, and ...
21759 (grub_term_set_current_output): ... this.
21760 (grub_term_get_current): Split in ...
21761 (grub_term_get_current_input): ... this, and ...
21762 (grub_term_get_current_output): ... this.
21763 (grub_term_register): Split in ...
21764 (grub_term_register_input): ... this, and ...
21765 (grub_term_register_output): ... this.
21766 (grub_term_unregister): Split in ...
21767 (grub_term_unregister_input): ... this, and ...
21768 (grub_term_unregister_output): ... this.
21769 (grub_term_iterate): Split in ...
21770 (grub_term_iterate_input): ... this, and ...
21771 (grub_term_iterate_output): ... this.
21772
21773 * kern/term.c (grub_term_list): Split in ...
21774 (grub_term_list_input): ... this, and ...
21775 (grub_term_list_output): ... this. Update all users.
21776 (grub_cur_term): Split in ...
21777 (grub_cur_term_input): ... this, and ...
21778 (grub_cur_term_output): ... this. Update all users.
21779 (grub_term_set_current): Split in ...
21780 (grub_term_set_current_input): ... this, and ...
21781 (grub_term_set_current_output): ... this.
21782 (grub_term_get_current): Split in ...
21783 (grub_term_get_current_input): ... this, and ...
21784 (grub_term_get_current_output): ... this.
21785 (grub_term_register): Split in ...
21786 (grub_term_register_input): ... this, and ...
21787 (grub_term_register_output): ... this.
21788 (grub_term_unregister): Split in ...
21789 (grub_term_unregister_input): ... this, and ...
21790 (grub_term_unregister_output): ... this.
21791 (grub_term_iterate): Split in ...
21792 (grub_term_iterate_input): ... this, and ...
21793 (grub_term_iterate_output): ... this.
21794
21795 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
21796 a check for input and one for output (and only attempt to get keys
21797 from user when input works).
21798
21799 * util/grub-probe.c (grub_term_get_current): Split in ...
21800 (grub_term_get_current_input): ... this, and ...
21801 (grub_term_get_current_output): ... this.
21802 * util/grub-fstest.c: Likewise.
21803 * util/i386/pc/grub-setup.c: Likewise.
21804 * util/grub-editenv.c: Likewise.
21805
21806 Portability adjustments:
21807
21808 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
21809 `term/i386/pc/at_keyboard.c'.
21810 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
21811 grub_keyboard_controller_init() (now handled by terminal .init).
21812 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
21813 grub_at_keyboard_init().
21814 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
21815 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
21816 at_keyboard.mod via input terminal interface).
21817 * include/grub/i386/coreboot/console.h: Convert into a stub for
21818 `<grub/i386/pc/console.h>'.
21819
21820 Migrate full terminals to new API:
21821
21822 * term/efi/console.c (grub_console_term): Split into ...
21823 (grub_console_term_input): ... this, and ...
21824 (grub_console_term_output): ... this. Update all users.
21825 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
21826 (grub_ofconsole_init): Split into ...
21827 (grub_ofconsole_init_input): ... this, and ...
21828 (grub_ofconsole_init_output): ... this.
21829 (grub_ofconsole_term): Split into ...
21830 (grub_ofconsole_term_input): ... this, and ...
21831 (grub_ofconsole_term_output): ... this. Update all users.
21832 * term/i386/pc/serial.c (grub_serial_term): Split into ...
21833 (grub_serial_term_input): ... this, and ...
21834 (grub_serial_term_output): ... this. Update all users.
21835 * term/i386/pc/console.c (grub_console_term): Split into ...
21836 (grub_console_term_input): ... this, and ...
21837 (grub_console_term_output): ... this. Update all users.
21838 (grub_console_term_input): Only enable it on PC/BIOS platform.
21839 (grub_console_init): Remove grub_keyboard_controller_init() call.
21840
21841 Migrate input terminals to new API:
21842
21843 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
21844 `i386' and `i386/pc' to enable build on x86_64 (this driver is
21845 i386-specific anyway).
21846 (grub_console_checkkey): Rename to ...
21847 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
21848 users.
21849 (grub_keyboard_controller_orig): New variable.
21850 (grub_console_getkey): Rename to ...
21851 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
21852 users.
21853 (grub_keyboard_controller_init): Static-ize. Save original
21854 controller value so that it can be restored ...
21855 (grub_keyboard_controller_fini): ... here (new function).
21856 (grub_at_keyboard_term): New structure.
21857 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
21858 functions.
21859
21860 Migrate output terminals to new API:
21861
21862 * term/i386/pc/vga.c (grub_vga_term): Change type to
21863 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21864 members. Update all users.
21865 * term/gfxterm.c (grub_video_term): Change type to
21866 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21867 members. Update all users.
21868 * include/grub/i386/pc/console.h (grub_console_checkkey)
21869 (grub_console_getkey): Do not export (no longer needed by gfxterm,
21870 etc).
21871
21872 Migrate `terminal' command and userland tools to new API:
21873
21874 * commands/terminal.c (grub_cmd_terminal): Split into ...
21875 (grub_cmd_terminal_input): ... this, and ...
21876 (grub_cmd_terminal_output): ... this.
21877 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
21878 `terminal_input' and `terminal_output'.
21879 * util/grub.d/00_header.in: Adjust `terminal' calls to new
21880 `terminal_input' / `terminal_output' API.
21881 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
21882 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
21883 provided ${GRUB_TERMINAL}, convert it).
21884
21885 2008-11-04 Robert Millan <rmh@aybabtu.com>
21886
21887 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
21888 for FreeBSD.
21889 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
21890
21891 2008-11-03 Bean <bean123ch@gmail.com>
21892
21893 * kern/elf.c (grub_elf32_load): Revert to previous code.
21894 (grub_elf64_load): Likewise.
21895
21896 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
21897
21898 2008-11-01 Robert Millan <rmh@aybabtu.com>
21899
21900 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
21901 (TARGET_CPPFLAGS): Likewise.
21902 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
21903
21904 2008-11-01 Carles Pina i Estany <carles@pina.cat>
21905
21906 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
21907
21908 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
21909
21910 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
21911 addition of objects until the code is not going to be able to fail.
21912
21913 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
21914
21915 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
21916 (add a missing NULL check, and correct them by moving the pointer
21917 operations after the actual check).
21918
21919 2008-10-29 Robert Millan <rmh@aybabtu.com>
21920
21921 * util/i386/pc/grub-install.in: Handle empty string as output from
21922 make_system_path_relative_to_its_root().
21923
21924 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
21925
21926 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
21927 circular metadata worst case scenario. If the metadata is circular
21928 then copy the wrap in place.
21929 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
21930 project lib/format_text/layout.h
21931 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
21932
21933 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
21934
21935 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
21936
21937 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
21938
21939 * util/update-grub_lib.in: Mention filename in warning message.
21940
21941 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
21942
21943 * NEWS: Update for rename of update-grub to grub-mkconfig.
21944
21945 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
21946
21947 * util/update-grub_lib.in: Copy to ...
21948 * util/grub-mkconfig_lib.in: ... this. Update all users.
21949 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
21950 * util/update-grub.in: Rename to ...
21951 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
21952 option. Add `--output' option to allow users to specify the generated
21953 configuration file. Default to stdout.
21954 (update_grub_dir): Rename to ...
21955 (grub_mkconfig_dir): ... this.
21956 (grub_cfg): Default to an empty string.
21957 * conf/common.rmk (update-grub): Rename to ...
21958 (grub-mkconfig): ... this.
21959 (update-grub_lib): Copy to ...
21960 (grub-mkconfig_lib): ... this.
21961 (update-grub_SCRIPTS): Copy to ...
21962 (grub-mkconfig_SCRIPTS): ... this. Update all users.
21963 (update-grub_DATA): Rename to ...
21964 (grub-mkconfig_DATA): ... this.
21965
21966 2008-09-28 Robert Millan <rmh@aybabtu.com>
21967
21968 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
21969 to `modified'. Add the real `created' field.
21970 (grub_iso9660_uuid): Use `modified' rather than `created' for
21971 constructing the UUID.
21972
21973 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
21974
21975 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
21976 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
21977
21978 2008-09-28 Bean <bean123ch@gmail.com>
21979
21980 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
21981 Thanks to Christian Franke for finding this bug.
21982
21983 2008-09-25 Robert Millan <rmh@aybabtu.com>
21984
21985 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
21986 instances of grub_util_get_disk_name() (see previous commit).
21987
21988 2008-09-25 Robert Millan <rmh@aybabtu.com>
21989
21990 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
21991 `util/i386/get_disk_name.c'.
21992 * conf/i386-efi.rmk: Likewise.
21993 * conf/x86_64-efi.rmk: Likewise.
21994 * conf/i386-coreboot.rmk: Likewise.
21995 * conf/i386-ieee1275.rmk: Likewise.
21996 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
21997 `util/ieee1275/get_disk_name.c'.
21998 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
21999 * util/ieee1275/get_disk_name.c: Remove file.
22000 * util/i386/get_disk_name.c: Remove file.
22001 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
22002 "hd%d" for device.map entries, rather than using
22003 grub_util_get_disk_name().
22004
22005 2008-09-24 Carles Pina i Estany <carles@pina.cat>
22006
22007 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
22008 warning.
22009 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
22010
22011 2008-09-24 Carles Pina i Estany <carles@pina.cat>
22012
22013 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
22014 Changed to 0x5100.
22015 (GRUB_TERM_PPAGE): Changed to 0x4900.
22016
22017 2008-09-24 Robert Millan <rmh@aybabtu.com>
22018
22019 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
22020 macros (they were i386-pc specific).
22021 * include/grub/sparc64/ieee1275/console.h: Likewise.
22022 * include/grub/efi/console.h: Likewise.
22023
22024 2008-09-22 Bean <bean123ch@gmail.com>
22025
22026 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
22027 resident and in attribute list.
22028
22029 * include/grub/ntfs.h (BMP_LEN): Removed.
22030
22031 2008-09-22 Bean <bean123ch@gmail.com>
22032
22033 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
22034 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
22035
22036 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
22037 error occurs, as grub_disk_open will call grub_disk_close, which will
22038 call p->close (scsi).
22039
22040 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
22041
22042 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
22043 (AC_PREREQ): Bumped to 2.59.
22044 (AC_TRY_COMPILE): Replace obsolete macro with ...
22045 (AC_COMPILE_IFELSE): ... this.
22046 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
22047 (AC_LINK_IFELSE): ... this.
22048
22049 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
22050
22051 * autogen.sh: Add a call to `gendistlist.sh'.
22052
22053 2008-09-19 Christian Franke <franke@computer.org>
22054
22055 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
22056 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
22057 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
22058 Export __enable_execute_stack() to modules.
22059 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
22060 New function.
22061
22062 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
22063
22064 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
22065 Sort the list.
22066
22067 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
22068
22069 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
22070 #include <grub/util/hostdisk.h>.
22071
22072 2008-09-08 Robert Millan <rmh@aybabtu.com>
22073
22074 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
22075 segments when their filesz is zero (grub_file_read() interprets
22076 zero-size as "read until EOF", which results in memory corruption).
22077 Use `lowest_segment' rather than 0 for calculating the current
22078 segment load address.
22079
22080 2008-09-08 Robert Millan <rmh@aybabtu.com>
22081
22082 * util/hostdisk.c (open_device): Replace a grub_util_info() call
22083 with grub_dprintf("hostdisk", ...), as it was so verbose that it
22084 clobbered useful information.
22085
22086 2008-09-08 Robert Millan <rmh@aybabtu.com>
22087
22088 * include/grub/util/biosdisk.h: Move to ...
22089 * include/grub/util/hostdisk.h: ... here. Update all users.
22090 * util/biosdisk.c: Move to ...
22091 * util/hostdisk.c: ... here. Update all users.
22092
22093 2008-09-07 Robert Millan <rmh@aybabtu.com>
22094
22095 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
22096 variables.
22097 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
22098 and length can be stored directly in the `mbi->mmap_addr' and
22099 `mbi->mmap_length' struct fields.
22100
22101 2008-09-07 Robert Millan <rmh@aybabtu.com>
22102
22103 * conf/i386.rmk: New file. Provides declaration for building
22104 `cpuid.mod'.
22105 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
22106 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
22107 variables.
22108 Include `conf/i386.mk'.
22109 * conf/i386-efi.rmk: Likewise.
22110 * conf/x86_64-efi.rmk: Likewise.
22111 * conf/i386-coreboot.rmk: Likewise.
22112 * conf/i386-ieee1275.rmk: Likewise.
22113
22114 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
22115
22116 Based on patch created by Colin D Bennett <colin@gibibit.com>.
22117 Adds optimization support for BGR based modes.
22118
22119 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
22120 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22121 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22122 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22123 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22124 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22125 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22126 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22127 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22128 (grub_video_i386_vbeblit_index_index): Likewise.
22129 (grub_video_i386_vbeblit_replace_directN): Added.
22130 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22131 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22132 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22133 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22134 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22135 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22136 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22137 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22138 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22139 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22140 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22141 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22142 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22143
22144 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
22145 (grub_video_i386_vbefill_R8G8B8): Likewise.
22146 (grub_video_i386_vbefill_index): Likewise.
22147 (grub_video_i386_vbefill_direct32): Added.
22148 (grub_video_i386_vbefill_direct24): Likewise.
22149 (grub_video_i386_vbefill_direct16): Likewise.
22150 (grub_video_i386_vbefill_direct8): Likewise.
22151
22152 * include/grub/video.h (grub_video_blit_format): Removed
22153 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
22154 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
22155 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
22156 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
22157 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
22158
22159 * video/video.c (grub_video_get_blit_format): Updated to use new
22160 blit formats. Added handling for 16 bit color modes.
22161
22162 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
22163 fillers.
22164 (common_blitter): Updated to use new blitters.
22165
22166 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
22167 Removed.
22168 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22169 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22170 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22171 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22172 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22173 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22174 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22175 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22176 (grub_video_i386_vbeblit_index_index): Likewise.
22177 (grub_video_i386_vbeblit_replace_directN): Added.
22178 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22179 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22180 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22181 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22182 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22183 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22184 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22185 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22186 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22187 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22188 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22189 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22190 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22191
22192 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
22193 (grub_video_i386_vbefill_R8G8B8): Likewise.
22194 (grub_video_i386_vbefill_index): Likewise.
22195 (grub_video_i386_vbefill_direct32): Added.
22196 (grub_video_i386_vbefill_direct24): Likewise.
22197 (grub_video_i386_vbefill_direct16): Likewise.
22198 (grub_video_i386_vbefill_direct8): Likewise.
22199
22200 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
22201 types.
22202
22203 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
22204 types.
22205
22206 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
22207 blitter types.
22208
22209 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
22210 types.
22211
22212 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
22213
22214 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
22215 RAID level 1.
22216
22217 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
22218
22219 * fs/iso9660.c (grub_iso9660_date): New structure.
22220 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
22221 (grub_iso9660_uuid): New function.
22222
22223 2008-09-05 Bean <bean123ch@gmail.com>
22224
22225 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
22226
22227 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
22228 insensitive bit for names in Win32 and Win32 & DOS namespace.
22229
22230 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
22231
22232 * include/grub/types.h (LONG_MAX): Likewise.
22233
22234 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
22235
22236 * util/getroot.c: Include <config.h>.
22237 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
22238 add support for /dev/md/N devices and handle LVM double dash escaping.
22239
22240 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
22241
22242 * config.guess: Update to latest version from config git.
22243 * config.sub: Likewise.
22244
22245 2008-09-03 Robert Millan <rmh@aybabtu.com>
22246
22247 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
22248 `disk->total_sectors'.
22249
22250 2008-09-01 Colin D Bennett <colin@gibibit.com>
22251
22252 * include/grub/normal.h: Fixed incorrect comment for
22253 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
22254
22255 2008-09-01 Colin D Bennett <colin@gibibit.com>
22256
22257 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
22258 values with defines.
22259
22260 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
22261 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
22262 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
22263 (GRUB_VBE_MODEATTR_COLOR): Likewise.
22264 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
22265 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
22266 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
22267 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
22268 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
22269 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
22270 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
22271 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
22272 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
22273 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
22274 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
22275 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
22276 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
22277 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
22278 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
22279
22280 2008-08-31 Robert Millan <rmh@aybabtu.com>
22281
22282 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
22283 declaration.
22284 (grub_multiboot): Fix a few warnings.
22285
22286 2008-08-31 Robert Millan <rmh@aybabtu.com>
22287
22288 * loader/i386/pc/multiboot.c: Update comment not to say that
22289 boot_device support is unimplemented.
22290
22291 2008-08-31 Robert Millan <rmh@aybabtu.com>
22292
22293 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
22294 or memory map support are unimplemented.
22295
22296 2008-08-31 Colin D Bennett <colin@gibibit.com>
22297
22298 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
22299
22300 2008-08-31 Colin D Bennett <colin@gibibit.com>
22301
22302 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
22303 total video memory in 'vbeinfo' output; show color format details for
22304 each video mode.
22305
22306 2008-08-30 Pavel Roskin <proski@gnu.org>
22307
22308 * util/genmoddep.c: Remove for real this time.
22309 * DISTLIST: Remove util/genmoddep.c.
22310
22311 2008-08-30 Robert Millan <rmh@aybabtu.com>
22312
22313 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
22314 as required by Multiboot spec (it was already 4-byte aligned, but
22315 only by chance).
22316
22317 2008-08-29 Pavel Roskin <proski@gnu.org>
22318
22319 * kern/powerpc/ieee1275/crt0.S: Rename to ...
22320 * kern/powerpc/ieee1275/startup.S: ... this.
22321 * conf/powerpc-ieee1275.rmk: Adjust for the above.
22322 * DISTLIST: Likewise.
22323
22324 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
22325 grub/cpu/kernel.h. Add start label for consistency with other
22326 platforms. Add grub_prefix immediately after start. Add jump
22327 to the code after grub_prefix.
22328 * include/grub/powerpc/kernel.h: Provide valid values for
22329 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
22330
22331 2008-08-29 Bean <bean123ch@gmail.com>
22332
22333 * configure.ac: Change host_os to cygwin for mingw.
22334 (asprintf): New check for function.
22335
22336 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
22337 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
22338
22339 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
22340 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
22341 sync, sleep and grub_util_get_disk_size for mingw.
22342
22343 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
22344 to get size in mingw.
22345 (open_device): Use flag O_BINARY if it's defined.
22346 (find_root_device): Add dummy code for mingw.
22347
22348 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
22349 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
22350 (get_scsi_disk_name): Return 0 for mingw.
22351
22352 * util/hostfs.c: #include <grub/util/misc.h>.
22353 (grub_hostfs_open): Use "rb" flag to open file, use
22354 grub_util_get_disk_size to get disk size for mingw.
22355
22356 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
22357 (asprintf): New function if HAVE_ASPRINTF is not set.
22358 (sync): New function for mingw.
22359 (sleep): Likewise.
22360 (grub_util_get_disk_size): Likewise.
22361
22362 2008-08-28 Pavel Roskin <proski@gnu.org>
22363
22364 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22365 kern/time.c.
22366
22367 2008-08-28 Robert Millan <rmh@aybabtu.com>
22368
22369 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
22370
22371 2008-08-28 Robert Millan <rmh@aybabtu.com>
22372
22373 Change find_grub_drive() syntax so it doesn't prevent it from
22374 detecting NULL names as errors.
22375
22376 * util/biosdisk.c (find_grub_drive): Move free slot search code
22377 from here ...
22378 (find_free_slot): ... to here.
22379 (read_device_map): Use find_free_slot() to search for free slots.
22380
22381 2008-08-27 Marco Gerards <marco@gnu.org>
22382
22383 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
22384 (scsi_mod_SOURCES): New variable.
22385 (scsi_mod_CFLAGS): Likewise
22386 (scsi_mod_LDFLAGS): Likewise.
22387
22388 * disk/scsi.c: New file.
22389
22390 * include/grub/scsi.h: Likewise.
22391
22392 * include/grub/scsicmd.h: Likewise.
22393
22394 * disk/ata.c: Include <grub/scsi.h>.
22395 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
22396 instead.
22397 (grub_ata_iterate): Skip ATAPI devices.
22398 (grub_ata_open): Only handle ATAPI devices.
22399 (struct grub_atapi_read): Removed.
22400 (grub_atapi_readsector): Likewise.
22401 (grub_ata_read): No longer handle ATAPI devices.
22402 (grub_ata_write): Likewise.
22403 (grub_atapi_iterate): New function.
22404 (grub_atapi_read): Likewise.
22405 (grub_atapi_write): Likewise.
22406 (grub_atapi_open): Likewise.
22407 (grub_atapi_close): Likewise.
22408 (grub_atapi_dev): New variable.
22409 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
22410 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
22411
22412 * include/grub/disk.h (enum grub_disk_dev_id): Add
22413 `GRUB_DISK_DEVICE_SCSI_ID'.
22414
22415 2008-08-26 Robert Millan <rmh@aybabtu.com>
22416
22417 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
22418 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
22419 descriptive.
22420
22421 2008-08-23 Bean <bean123ch@gmail.com>
22422
22423 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
22424 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22425 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
22426 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
22427 dm_nv.mod.
22428 (raid5rec_mod_SOURCES): New macro.
22429 (raid5rec_mod_CFLAGS): Likewise.
22430 (raid5rec_mod_LDFLAGS): Likewise.
22431 (raid6rec_mod_SOURCES): Likewise.
22432 (raid6rec_mod_CFLAGS): Likewise.
22433 (raid6rec_mod_LDFLAGS): Likewise.
22434 (mdraid_mod_SOURCES): Likewise.
22435 (mdraid_mod_CFLAGS): Likewise.
22436 (mdraid_mod_LDFLAGS): Likewise.
22437 (dm_nv_mod_SOURCES): Likewise.
22438 (dm_nv_mod_CFLAGS): Likewise.
22439 (dm_nv_mod_LDFLAGS): Likewise.
22440
22441 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
22442 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22443 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22444
22445 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
22446 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22447
22448 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22449
22450 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22451
22452 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22453
22454 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22455
22456 * disk/raid5_recover.c: New file.
22457
22458 * disk/raid6_recover.c: Likewise.
22459
22460 * disk/mdraid_linux.c: Likewise.
22461
22462 * disk/dmraid_nvidia.c: Likewise.
22463
22464 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
22465 ULONG_MAX.
22466
22467 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
22468 calculate the size of raid device.
22469 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
22470 different layout of raid5.
22471 (grub_raid_scan_device): Remove code specific to mdraid.
22472 (grub_raid_list): New variable.
22473 (free_array): New function.
22474 (grub_raid_register): Likewise.
22475 (grub_raid_unregister): Likewise.
22476 (grub_raid_rescan): Likewise.
22477 (GRUB_MOD_INIT): Don't iterate device here.
22478 (GRUB_MOD_FINI): Use free_array to release resource.
22479
22480 * include/grub/raid.h: Remove macro and structure specific to mdraid.
22481 (grub_raid5_recover_func_t): New function variable type.
22482 (grub_raid6_recover_func_t): Likewise.
22483 (grub_raid5_recover_func): New variable.
22484 (grub_raid6_recover_func): Likewise.
22485 (grub_raid_register): New function.
22486 (grub_raid_unregister): Likewise.
22487 (grub_raid_rescan): Likewise.
22488 (grub_raid_block_xor): Likewise.
22489
22490 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
22491 (CMD_CRC): New macro.
22492 (part): Removed.
22493 (read_file): Handle device as well as file.
22494 (cmd_crc): New function.
22495 (fstest): Handle multiple disks.
22496 (options): Remove part, raw and long, add root and diskcount.
22497 (usage): Add crc, remove -p, -r, -l, add -r and -c.
22498 (main): Find the first non option entry and ignore subsequent options,
22499 add handling for the new options, support multiple disks.
22500
22501 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
22502
22503 2008-08-23 Bean <bean123ch@gmail.com>
22504
22505 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
22506
22507 * genfslist.sh: Ignore kernel.mod.
22508
22509 * genpartmaplist.sh: Likewise.
22510
22511 2008-08-23 Robert Millan <rmh@aybabtu.com>
22512
22513 * util/getroot.c (find_root_device): Skip anything that starts with
22514 a dot, not just directories. This avoids things like /dev/.tmp.md0.
22515
22516 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
22517
22518 * util/update-grub.in (GRUB_GFXMODE): Export variable.
22519 * util/grub.d/00_header.in: Allow the administrator to change default
22520 gfxmode via ${GRUB_GFXMODE}.
22521
22522 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
22523
22524 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
22525
22526 2008-08-21 Robert Millan <rmh@aybabtu.com>
22527
22528 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
22529 loader.
22530 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
22531 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
22532
22533 2008-08-20 Carles Pina i Estany <carles@pina.cat>
22534
22535 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
22536 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
22537
22538 2008-08-19 Robert Millan <rmh@aybabtu.com>
22539
22540 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
22541 (struct grub_virtual_screen): Remove `cursor_color'.
22542 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
22543 initialization.
22544 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
22545
22546 2008-08-18 Robert Millan <rmh@aybabtu.com>
22547
22548 Unify (identical) linux_normal.c files.
22549 * loader/i386/efi/linux_normal.c: Move from here ...
22550 * loader/linux_normal.c: ... to here. Update all users.
22551 * loader/i386/pc/linux_normal.c: Delete. Update all users.
22552 * loader/i386/ieee1275/linux_normal.c: Likewise.
22553
22554 2008-08-18 Robert Millan <rmh@aybabtu.com>
22555
22556 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
22557 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
22558 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
22559 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
22560 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
22561 New macros.
22562 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
22563 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
22564 (GRUB_LINUX_CL_END_OFFSET): ... to here.
22565 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
22566 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
22567 (GRUB_EFI_CL_END_OFFSET): Rename to ...
22568 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
22569 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
22570 Initialize `params->video_cursor_x' and `params->video_cursor_y'
22571 portably using grub_getxy().
22572 Replace `-EFI' with `-bzImage' in boot message.
22573
22574 2008-08-17 Robert Millan <rmh@aybabtu.com>
22575
22576 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
22577
22578 2008-08-17 Robert Millan <rmh@aybabtu.com>
22579
22580 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
22581
22582 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
22583 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
22584 (grub_machine_mmap_iterate): New function declaration.
22585 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
22586 structure.
22587 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
22588 macros.
22589
22590 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
22591 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
22592 Move e820 parsing from here ...
22593 * kern/i386/pc/mmap.c: New file.
22594 (grub_machine_mmap_iterate): ... to here.
22595
22596 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
22597 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
22598 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
22599 (grub_available_iterate): Redeclare to return `void', and redeclare
22600 its hook to use grub_uint64_t as addr and size parameters, and rename
22601 to ...
22602 (grub_machine_mmap_iterate): ... this. Update all users.
22603
22604 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
22605 to make it more readable. Rename to ...
22606 (grub_machine_mmap_iterate): ... this.
22607
22608 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
22609 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
22610 (grub_multiboot): Allocate an extra region after the payload, and fill
22611 it with a Multiboot memory map. Adjust a.out loader to calculate size
22612 with the extra space.
22613 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
22614 with the extra space.
22615
22616 2008-08-17 Carles Pina i Estany <carles@pina.cat>
22617
22618 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
22619
22620 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
22621
22622 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
22623 mdate-sh to the list `find' searches for.
22624 * DISTLIST: Regenerated.
22625
22626 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
22627
22628 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
22629 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
22630 genmoddep.awk, gensymlist.sh.in.
22631 (DISTDIRS): Add bus, docs, hook, lib.
22632 * DISTLIST: Regenerated.
22633 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
22634
22635 2008-08-16 Robert Millan <rmh@aybabtu.com>
22636
22637 * disk/raid.c (grub_raid_init): Handle/report errors set by
22638 grub_device_iterate().
22639 * disk/lvm.c (grub_lvm_init): Likewise.
22640
22641 2008-08-15 Bean <bean123ch@gmail.com>
22642
22643 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22644 and datehook.mod.
22645 (datetime_mod_SOURCES): New macro.
22646 (datetime_mod_CFLAGS): Likewise.
22647 (datetime_mod_LDFLAGS): Likewise.
22648 (date_mod_SOURCES): Likewise.
22649 (date_mod_CFLAGS): Likewise.
22650 (date_mod_LDFLAGS): Likewise.
22651 (datehook_mod_SOURCES): Likewise.
22652 (datehook_mod_CFLAGS): Likewise.
22653 (datehook_mod_LDFLAGS): Likewise.
22654
22655 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22656 and datehook.mod.
22657 (datetime_mod_SOURCES): New macro.
22658 (datetime_mod_CFLAGS): Likewise.
22659 (datetime_mod_LDFLAGS): Likewise.
22660 (date_mod_SOURCES): Likewise.
22661 (date_mod_CFLAGS): Likewise.
22662 (date_mod_LDFLAGS): Likewise.
22663 (datehook_mod_SOURCES): Likewise.
22664 (datehook_mod_CFLAGS): Likewise.
22665 (datehook_mod_LDFLAGS): Likewise.
22666
22667 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22668 and datehook.mod.
22669 (datetime_mod_SOURCES): New macro.
22670 (datetime_mod_CFLAGS): Likewise.
22671 (datetime_mod_LDFLAGS): Likewise.
22672 (date_mod_SOURCES): Likewise.
22673 (date_mod_CFLAGS): Likewise.
22674 (date_mod_LDFLAGS): Likewise.
22675 (datehook_mod_SOURCES): Likewise.
22676 (datehook_mod_CFLAGS): Likewise.
22677 (datehook_mod_LDFLAGS): Likewise.
22678
22679 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22680 and datehook.mod.
22681 (datetime_mod_SOURCES): New macro.
22682 (datetime_mod_CFLAGS): Likewise.
22683 (datetime_mod_LDFLAGS): Likewise.
22684 (date_mod_SOURCES): Likewise.
22685 (date_mod_CFLAGS): Likewise.
22686 (date_mod_LDFLAGS): Likewise.
22687 (datehook_mod_SOURCES): Likewise.
22688 (datehook_mod_CFLAGS): Likewise.
22689 (datehook_mod_LDFLAGS): Likewise.
22690
22691 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22692 and datehook.mod.
22693 (datetime_mod_SOURCES): New macro.
22694 (datetime_mod_CFLAGS): Likewise.
22695 (datetime_mod_LDFLAGS): Likewise.
22696 (date_mod_SOURCES): Likewise.
22697 (date_mod_CFLAGS): Likewise.
22698 (date_mod_LDFLAGS): Likewise.
22699 (datehook_mod_SOURCES): Likewise.
22700 (datehook_mod_CFLAGS): Likewise.
22701 (datehook_mod_LDFLAGS): Likewise.
22702
22703 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
22704
22705 * commands/date.c: New file.
22706
22707 * hook/datehook.c: Likewise.
22708
22709 * include/grub/lib/datetime.h: Likewise.
22710
22711 * include/grub/i386/cmos.h: Likewise.
22712
22713 * lib/datetime.c: Likewise.
22714
22715 * lib/i386/datetime.c: Likewise.
22716
22717 * lib/efi/datetime.c: Likewise.
22718
22719 2008-08-14 Robert Millan <rmh@aybabtu.com>
22720
22721 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
22722 (grub_mkelfimage_SOURCES): New variable.
22723 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
22724
22725 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
22726 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
22727 * conf/powerpc-ieee1275.rmk: Likewise.
22728 * conf/i386-ieee1275.rmk: Likewise.
22729
22730 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
22731 * kern/i386/coreboot/init.c: Likewise.
22732
22733 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
22734 with `<grub/cpu/kernel.h>'.
22735 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
22736 to ...
22737 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
22738 * kern/i386/coreboot/startup.S: Likewise.
22739
22740 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
22741 (GRUB_MOD_GAP): Remove.
22742 * include/grub/powerpc/kernel.h: New file.
22743 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
22744 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22745 * include/grub/i386/kernel.h: New file.
22746 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
22747 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
22748 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22749
22750 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
22751 `grub-mkelfimage'.
22752 Use --directory when invoking grub_mkimage.
22753
22754 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
22755 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
22756 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
22757 and GRUB_KERNEL_CPU_PREFIX.
22758
22759 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
22760
22761 * include/grub/err.h (grub_err_printf): New function prototype.
22762 * util/misc.c (grub_err_printf): New function.
22763 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
22764 grub_printf.
22765 * kern/err.c (grub_print_error): Use grub_err_printf.
22766
22767 2008-08-13 Robert Millan <rmh@aybabtu.com>
22768
22769 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
22770
22771 2008-08-13 Robert Millan <rmh@aybabtu.com>
22772
22773 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
22774 boot entry.
22775
22776 2008-08-12 Robert Millan <rmh@aybabtu.com>
22777
22778 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
22779 of the relocation code from here ...
22780 (grub_multiboot): ... to here.
22781 (forward_relocator, backward_relocator): Move from here ...
22782 * kern/i386/loader.S (grub_multiboot_forward_relocator)
22783 (grub_multiboot_backward_relocator): ... to here.
22784 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
22785 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
22786 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
22787 (grub_multiboot_forward_relocator_end)
22788 (grub_multiboot_backward_relocator)
22789 (grub_multiboot_backward_relocator_end): New variables.
22790
22791 2008-08-12 Bean <bean123ch@gmail.com>
22792
22793 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
22794
22795 2008-08-11 Robert Millan <rmh@aybabtu.com>
22796
22797 * kern/i386/linuxbios/startup.S: Move from here ...
22798 * kern/i386/coreboot/startup.S: ... to here.
22799
22800 * kern/i386/linuxbios/init.c: Move from here ...
22801 * kern/i386/coreboot/init.c: ... to here.
22802
22803 * kern/i386/linuxbios/table.c: Move from here ...
22804 * kern/i386/coreboot/mmap.c: ... to here.
22805
22806 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
22807
22808 2008-08-11 Robert Millan <rmh@aybabtu.com>
22809
22810 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
22811 errors. Leave it to the upper layer to handle them.
22812
22813 2008-08-09 Christian Franke <franke@computer.org>
22814
22815 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
22816 * conf/common.rmk: Install `grub-pe2elf' only if requested.
22817 Install `grub.d/10_windows' only on Cygwin.
22818 * configure.ac: Add subst of `target_os'.
22819 Check `target_os' also before setting TARGET_OBJ2ELF.
22820 Add `--enable-grub-pe2elf'.
22821
22822 2008-08-08 Robert Millan <rmh@aybabtu.com>
22823
22824 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22825 (grub_last_time): Change type to grub_uint64_t.
22826 (grub_disk_open): Migrate code from to using grub_get_time_ms().
22827 (grub_disk_close): Likewise.
22828
22829 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22830 (run_menu): Migrate code from to using grub_get_time_ms().
22831
22832 * util/misc.c (grub_get_time_ms): New function.
22833
22834 2008-08-08 Marco Gerards <marco@gnu.org>
22835
22836 * disk/ata.c (grub_ata_regget): Change return type to
22837 `grub_uint8_t'.
22838 (grub_ata_regget2): Likewise.
22839 (grub_ata_wait_status): New function.
22840 (grub_ata_wait_busy): Removed function, updated all users to use
22841 `grub_ata_wait_status'.
22842 (grub_ata_wait_drq): Likewise.
22843 (grub_ata_cmd): New function.
22844 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
22845 error handling.
22846 (grub_ata_pio_write): Add error handling.
22847 (grub_atapi_identify): Likewise.
22848 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
22849 handling.
22850 (grub_ata_identify): Use `grub_ata_cmd' and improve error
22851 handling. Actually use the detected registers. Reorder the
22852 detection logic such that it is easier to read.
22853 (grub_ata_pciinit): Do not assign the same ID to each controller.
22854 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
22855 handling.
22856 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
22857
22858 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
22859
22860 2008-08-08 Marco Gerards <marco@gnu.org>
22861
22862 * NEWS: Update.
22863
22864 2008-08-07 Bean <bean123ch@gmail.com>
22865
22866 * include/grub/x86_64/pci.h: New file.
22867
22868 2008-08-07 Christian Franke <franke@computer.org>
22869
22870 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
22871 (TIMER2_GATE): Likewise.
22872 (grub_pit_wait): Add enable/disable of the timer2 gate
22873 bit of port 0x61. This fixes a possible infinite loop.
22874
22875 2008-08-07 Bean <bean123ch@gmail.com>
22876
22877 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
22878 kern/i386/tsc.c and kern/i386/pit.c.
22879
22880 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
22881 x86_64 platform.
22882
22883 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
22884 <grub/i386/tsc.h>.
22885
22886 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
22887
22888 2008-08-07 Bean <bean123ch@gmail.com>
22889
22890 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
22891
22892 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
22893
22894 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
22895 multiple inclusion. Add #include <grub/types.h>.
22896
22897 2008-08-06 Christian Franke <franke@computer.org>
22898
22899 * conf/common.rmk: Build and install `10_windows'.
22900 * util/grub.d/10_windows.in: New script.
22901
22902 2008-08-06 Pavel Roskin <proski@gnu.org>
22903
22904 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
22905
22906 2008-08-06 Robert Millan <rmh@aybabtu.com>
22907
22908 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
22909 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
22910
22911 2008-08-06 Bean <bean123ch@gmail.com>
22912
22913 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
22914 (grub_pxefs_fs_int): Remove dummy definition.
22915 (grub_pxefs_open): Use data->block_size to store the current block
22916 size setting.
22917 (grub_pxefs_read): Use block size stored in data->block_size. As the
22918 value of grub_pxe_blksize can be changed after the file is opened.
22919
22920 2008-08-06 Bean <bean123ch@gmail.com>
22921
22922 * fs/i386/pc/pxe.c (curr_file): new variable.
22923 (grub_pxefs_open): Simply the handling of pxe file system. Don't
22924 require the dummy internal file system anymore.
22925 (grub_pxefs_read): Removed.
22926 (grub_pxefs_close): Likewise.
22927 (grub_pxefs_fs_int): Likewise.
22928 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
22929 connection when we switch file.
22930 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
22931
22932 2008-08-06 Robert Millan <rmh@aybabtu.com>
22933
22934 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
22935 `halt.mod'.
22936 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
22937 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
22938
22939 * kern/i386/halt.c: New file.
22940 * kern/i386/reboot.c: Likewise.
22941 * include/grub/i386/reboot.h: Likewise.
22942 * include/grub/i386/halt.h: Likewise.
22943
22944 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
22945 Include `<grub/cpu/halt.h>'.
22946 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
22947 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
22948
22949 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
22950 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
22951 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
22952 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
22953 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
22954 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
22955 from here ...
22956 * include/grub/i386/at_keyboard.h: ... to here.
22957
22958 2008-08-05 Robert Millan <rmh@aybabtu.com>
22959
22960 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
22961 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
22962 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
22963 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22964 `kern/generic/millisleep.c'.
22965
22966 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
22967 instead of grub_get_rtc().
22968 (grub_tsc_init): Initialize `tsc_boot_time'.
22969
22970 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
22971 (grub_machine_init): Use grub_tsc_init() rather than
22972 installing an RTC-based handler via grub_install_get_time_ms().
22973
22974 * kern/i386/pit.c: New file.
22975 * include/grub/i386/pit.h: Likewise.
22976
22977 2008-08-05 Bean <bean123ch@gmail.com>
22978
22979 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
22980
22981 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
22982 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
22983 (pxe_mod_SOURCES): New macro.
22984 (pxe_mod_CFLAGS): Likewise.
22985 (pxe_mod_LDFLAGS): Likewise.
22986 (pxecmd_mod_SOURCES): Likewise.
22987 (pxecmd_mod_CFLAGS): Likewise.
22988 (pxecmd_mod_LDFLAGS): Likewise.
22989
22990 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
22991 (grub_pxe_call): Likewise.
22992
22993 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
22994
22995 * commands/i386/pc/pxecmd.c: New file.
22996
22997 * fs/i386/pc/pxe.c: Likewise.
22998
22999 * include/grub/i386/pc/pxe.h: Likewise.
23000
23001 2008-08-05 Bean <bean123ch@gmail.com>
23002
23003 * util/console.c (grub_console_cur_color): New variable.
23004 (grub_console_standard_color): Likewise.
23005 (grub_console_normal_color): Likewise.
23006 (grub_console_highlight_color): Likewise.
23007 (color_map): Likewise.
23008 (use_color): Likewise.
23009 (NUM_COLORS): New macro.
23010 (grub_ncurses_setcolorstate): Handle color properly.
23011 (grub_ncurses_setcolor): Don't change color here, just remember the
23012 settings, color will be set in grub_ncurses_setcolorstate.
23013 (grub_ncurses_getcolor): New function.
23014 (grub_ncurses_init): Initialize color pairs.
23015 (grub_ncurses_term): New member grub_ncurses_getcolor.
23016
23017 2008-08-05 Colin D Bennett <colin@gibibit.com>
23018
23019 High resolution timer support. Implemented for x86 CPUs using TSC.
23020 Extracted generic grub_millisleep() so it's linked in only as needed.
23021 This requires a Pentium compatible CPU; if the RDTSC instruction is
23022 not supported, then it falls back on the generic grub_get_time_ms()
23023 implementation that uses the machine's RTC.
23024
23025 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
23026 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23027 `kern/generic/millisleep.c'.
23028
23029 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
23030 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
23031
23032 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
23033 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
23034
23035 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23036
23037 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23038 `kern/generic/millisleep.c'.
23039
23040 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23041
23042 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
23043
23044 * kern/generic/rtc_get_time_ms.c: New file.
23045
23046 * kern/generic/millisleep.c: New file.
23047
23048 * kern/misc.c: Don't include
23049 <kern/time.h> anymore.
23050 (grub_millisleep_generic): Removed.
23051
23052 * commands/sleep.c (grub_interruptible_millisleep): Uses
23053 grub_get_time_ms() instead of grub_get_rtc().
23054
23055 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
23056 function.
23057 (grub_cpu_is_cpuid_supported): New inline function.
23058 (grub_cpu_is_tsc_supported): New inline function.
23059 (grub_tsc_init): New function prototype.
23060 (grub_tsc_get_time_ms): New function prototype.
23061
23062 * kern/i386/tsc.c (grub_get_time_ms): New file.
23063
23064 * include/grub/time.h: Include <grub/types.h.
23065 (grub_millisleep_generic): Removed.
23066 (grub_get_time_ms): New prototype.
23067 (grub_install_get_time_ms): New prototype.
23068 (grub_rtc_get_time_ms): New prototype.
23069
23070 * kern/time.c (grub_get_time_ms): New function.
23071 (grub_install_get_time_ms): New function.
23072
23073 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
23074 <grub/time.h> anymore.
23075 (grub_millisleep): Removed.
23076 (grub_machine_init): Call grub_tsc_init.
23077
23078 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
23079 get_time_ms() implementation.
23080
23081 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
23082 (ieee1275_get_time_ms): New function.
23083 (grub_machine_init): Install get_time_ms() implementation.
23084
23085 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
23086 (grub_machine_init): Call grub_tsc_init().
23087 (grub_millisleep): Removed.
23088
23089 * kern/ieee1275/init.c (grub_millisleep): Removed.
23090 (grub_machine_init): Install ieee1275_get_time_ms()
23091 implementation.
23092 (ieee1275_get_time_ms): New function.
23093 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
23094 real work.
23095
23096 2008-08-05 Marco Gerards <marco@gnu.org>
23097
23098 * disk/ata.c: Include <grub/pci.h>.
23099 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
23100 (grub_ata_initialize): Rewritten.
23101 (grub_ata_device_initialize): New function.
23102
23103 2008-08-04 Pavel Roskin <proski@gnu.org>
23104
23105 * kern/main.c: Include grub/mm.h.
23106
23107 2008-08-04 Robert Millan <rmh@aybabtu.com>
23108
23109 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
23110 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
23111 corruption problem).
23112
23113 2008-08-04 Robert Millan <rmh@aybabtu.com>
23114
23115 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
23116 warnings introduced in my last commit.
23117
23118 2008-08-03 Robert Millan <rmh@aybabtu.com>
23119
23120 Make PCI available on all i386 architectures.
23121
23122 * include/grub/i386/pc/pci.h: Move from here ...
23123 * include/grub/i386/pci.h: ... to here.
23124
23125 * include/grub/i386/pc/pci.h: Remove.
23126 * include/grub/i386/efi/pci.h: Remove.
23127 * include/grub/x86_64/efi/pci.h: Remove.
23128
23129 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
23130 `<grub/cpu/pci.h>'.
23131
23132 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
23133 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
23134 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
23135
23136 * conf/i386-ieee1275.rmk: Likewise.
23137
23138 2008-08-03 Robert Millan <rmh@aybabtu.com>
23139
23140 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
23141 (grub_console_setcursor): Make it possible to set cursor off.
23142
23143 2008-08-03 Robert Millan <rmh@aybabtu.com>
23144
23145 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
23146 of modules instead of assuming which platform provides what.
23147 * util/update-grub.in: Likewise.
23148
23149 2008-08-03 Robert Millan <rmh@aybabtu.com>
23150
23151 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
23152 instead of `grub_install_dos_part' to determine whether a drive needs
23153 to be prepended to prefix (`grub_install_dos_part' is not reliable,
23154 because it can be overridden when loading GRUB via Multiboot).
23155
23156 2008-08-02 Robert Millan <rmh@aybabtu.com>
23157
23158 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
23159
23160 2008-08-02 Robert Millan <rmh@aybabtu.com>
23161
23162 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
23163 of informational grub_dprintf() calls.
23164
23165 2008-08-02 Robert Millan <rmh@aybabtu.com>
23166
23167 * disk/memdisk.c (memdisk_size): Don't initialize.
23168 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
23169
23170 * include/grub/i386/pc/kernel.h
23171 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
23172 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
23173 (grub_memdisk_image_size, grub_arch_memdisk_addr)
23174 (grub_arch_memdisk_size): Remove.
23175
23176 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
23177 field (was only used to transfer a constant). Add `type' field to
23178 support multiple module types.
23179 (grub_module_iterate): New function.
23180
23181 * kern/device.c (grub_device_open): Do not hide error messages
23182 when grub_disk_open() fails. Use grub_print_error() instead.
23183
23184 * kern/i386/pc/init.c (grub_arch_modules_addr)
23185 (grub_arch_memdisk_size): Remove functions.
23186 (grub_arch_modules_addr): Return the module address in high memory
23187 (now that it isn't copied anymore).
23188
23189 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
23190 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
23191 decompression routine (grub_total_module_size already includes that
23192 now). Don't copy modules back to low memory.
23193
23194 * kern/main.c: Include `<grub/mm.h>'.
23195 (grub_load_modules): Split out (and use) ...
23196 (grub_module_iterate): ... this function, which iterates through
23197 module objects and runs a hook.
23198 Comment out grub_mm_init_region() call, as it would cause non-ELF
23199 modules to be overwritten.
23200
23201 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
23202 the memdisk image in its own region, make it part of the module list.
23203 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
23204 (main): Parse --memdisk|-m option, and pass user-provided path as
23205 parameter to generate_image().
23206 (add_segments): Pass `memdisk_path' down to load_modules().
23207 (load_modules): Embed memdisk image in module section when requested.
23208 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
23209 `header.type' instead of `header.offset'.
23210
23211 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
23212 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
23213 (memdisk_mod_LDFLAGS): New variables.
23214 * conf/i386-coreboot.rmk: Likewise.
23215 * conf/i386-ieee1275.rmk: Likewise.
23216
23217 2008-08-02 Robert Millan <rmh@aybabtu.com>
23218
23219 * loader/i386/pc/multiboot.c (playground, forward_relocator)
23220 (backward_relocator): New variables. Used to allocate and relocate
23221 the payload, respectively.
23222 (grub_multiboot_load_elf32): Load into heap instead of requested
23223 address, install the appropriate relocator code in each bound of
23224 the payload, and set the entry point such that
23225 grub_multiboot_real_boot() will jump to one of them.
23226
23227 * kern/i386/loader.S (grub_multiboot_payload_size)
23228 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23229 (grub_multiboot_payload_entry_offset): New variables.
23230 (grub_multiboot_real_boot): Set cpu context to what the relocator
23231 expects, and jump to the relocator instead of the payload.
23232
23233 * include/grub/i386/loader.h (grub_multiboot_payload_size)
23234 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23235 (grub_multiboot_payload_entry_offset): Export.
23236
23237 2008-08-01 Bean <bean123ch@gmail.com>
23238
23239 * normal/menu_entry.c (editor_getline): Don't return the original
23240 string as result, as it will be released by lexer once it has done
23241 using it.
23242
23243 2008-08-01 Robert Millan <rmh@aybabtu.com>
23244
23245 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
23246 within menuentries, not before them.
23247 util/grub.d/10_hurd.in: Likewise.
23248
23249 2008-08-01 Bean <bean123ch@gmail.com>
23250
23251 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
23252 (bufio_mod_SOURCES): New macro.
23253 (bufio_mod_CFLAGS): Likewise.
23254 (bufio_mod_LDFLAGS): Likewise.
23255
23256 * include/grub/bufio.h: New file.
23257
23258 * io/bufio.c: Likewise.
23259
23260 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
23261 (grub_video_reader_png): Use grub_buffile_open to open file.
23262
23263 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
23264 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
23265
23266 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
23267 (grub_video_reader_tga): Use grub_buffile_open to open file.
23268
23269 * font/manager.c: Include <grub/bufio.h>.
23270 (add_font): Use grub_buffile_open to open file.
23271
23272 2008-07-31 Robert Millan <rmh@aybabtu.com>
23273
23274 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
23275 ELF segments, use a macro for arbitrarily accessing any of them instead
23276 of preparing a pointer that allows access to one at a time.
23277 (grub_multiboot_load_elf64): Likewise.
23278
23279 2008-07-31 Bean <bean123ch@gmail.com>
23280
23281 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
23282 GRUB_KERNEL_MACHINE_DATA_END.
23283
23284 2008-07-30 Robert Millan <rmh@aybabtu.com>
23285
23286 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
23287 Increase from 0x50 to 0x60.
23288 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
23289 use UUIDs to identify the root drive for them. If that's not
23290 possible, abort.
23291 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
23292 check, for cross-disk installs.
23293
23294 2008-07-30 Robert Millan <rmh@aybabtu.com>
23295
23296 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
23297 is non-empty, use it to set the `prefix' environment variable instead
23298 of the usual approach.
23299 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
23300 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
23301 environment variable instead of dummy make_install_device().
23302
23303 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
23304 (start): Insert a data section, with `grub_prefix' variable.
23305 * kern/i386/linuxbios/startup.S: Likewise.
23306
23307 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
23308 New variable reference.
23309 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
23310 New macro. Defines offset of `grub_prefix' within startup.S (relative
23311 to `start').
23312 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
23313 section within startup.S (relative to `start').
23314 * include/grub/i386/coreboot/kernel.h: Likewise.
23315
23316 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
23317 Overwrite grub_prefix with its contents, at the beginning of the
23318 first segment.
23319 (main): Understand -p|--prefix.
23320
23321 2008-07-30 Robert Millan <rmh@aybabtu.com>
23322
23323 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
23324
23325 2008-07-30 Robert Millan <rmh@aybabtu.com>
23326
23327 * term/i386/pc/vga_text.c (grub_console_cls): Use
23328 grub_console_gotoxy() to go back to beginning of the screen.
23329 Found by Patrick Georgi <patrick.georgi@coresystems.de>
23330
23331 2008-07-29 Christian Franke <franke@computer.org>
23332
23333 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23334 Add conversion of emulated mount points on Cygwin.
23335
23336 2008-07-29 Christian Franke <franke@computer.org>
23337
23338 * util/update-grub.in: Add a check for admin
23339 group on Cygwin.
23340 Remove old `grub.cfg.new' before creation.
23341 Add `-f' to `mv' to handle the different filesystem
23342 semantics of Windows.
23343
23344 2008-07-29 Bean <bean123ch@gmail.com>
23345
23346 * normal/main.c (get_line): Fix buffer overflow bug.
23347
23348 2008-07-28 Robert Millan <rmh@aybabtu.com>
23349
23350 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
23351 (struct grub_apple_header): New struct. Describes the layout of
23352 the partmap header.
23353 (apple_partition_map_iterate): Check the header magic as well as the
23354 partition magic (which was already being checked).
23355
23356 2008-07-28 Pavel Roskin <proski@gnu.org>
23357
23358 * genmk.rb: Add a warning to the beginning of the output that
23359 it's a generated file and should not be edited.
23360
23361 2008-07-28 Robert Millan <rmh@aybabtu.com>
23362
23363 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23364 with the same number are found, just use issue a warning with
23365 grub_dprintf(), as this error has been reported to be non-fatal.
23366
23367 2008-07-27 Robert Millan <rmh@aybabtu.com>
23368
23369 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
23370 information.
23371
23372 2008-07-27 Bean <bean123ch@gmail.com>
23373
23374 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
23375 (grub_fat_find_dir): Ignore case when comparing filename.
23376
23377 2008-07-27 Bean <bean123ch@gmail.com>
23378
23379 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
23380 smallino, as it's more descriptive, and i8count can be confused with
23381 the other field count.
23382 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
23383 inode type.
23384
23385 2008-07-27 Bean <bean123ch@gmail.com>
23386
23387 * commands/crc.c: New file.
23388
23389 * lib/crc.c: Likewise.
23390
23391 * include/grub/lib/crc.h: Likewise.
23392
23393 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
23394
23395 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
23396 (hexdump): Move this function to ...
23397
23398 * lib/hexdump.c: ... here.
23399
23400 * include/grub/hexdump.h: Renamed to ...
23401
23402 * include/grub/lib/hexdump.h: ... this.
23403
23404 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
23405
23406 * util/grub-editenv.c: Likewise.
23407
23408 * include/envblk.h: Renamed to ...
23409
23410 * include/lib/envblk.h: ... this.
23411
23412 * util/envblk.c: Renamed to ...
23413
23414 * lib/envblk.c: ... this.
23415
23416 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
23417 lib/hexdump.c.
23418 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
23419 (pkglib_MODULES): Add crc.mod.
23420 (hexdump_mod_SOURCES): Add lib/hexdump.c.
23421 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
23422 (crc_mod_SOURCES): New macro.
23423 (crc_mod_CFLAGS): Likewise.
23424 (crc_mod_LDFLAGS): Likewise.
23425
23426 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
23427
23428 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23429
23430 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23431
23432 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23433
23434 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23435
23436 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
23437
23438 * commands/help.c: Include <grub/term.h>.
23439 (TERM_WIDTH): Removed. Updated all users.
23440
23441 2008-07-27 Pavel Roskin <proski@gnu.org>
23442
23443 * util/getroot.c (find_root_device): Rephrase a comment to avoid
23444 spurious warnings about a comment within a comment.
23445
23446 2008-07-25 Robert Millan <rmh@aybabtu.com>
23447
23448 * util/getroot.c (find_root_device): Skip devices that match
23449 /dev/dm-[0-9]. This lets the real device be found for any type of
23450 abstraction (LVM, EVMS, RAID..).
23451 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
23452 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
23453 device is found first, find_root_device() will now skip it.
23454
23455 2008-07-24 Pavel Roskin <proski@gnu.org>
23456
23457 * include/grub/types.h: Use __builtin_bswap32() and
23458 __builtin_bswap64() with gcc 4.3 and newer.
23459
23460 2008-07-24 Christian Franke <franke@computer.org>
23461
23462 * util/i386/pc/grub-install.in: If `--debug' is specified,
23463 pass `--verbose' to grub-setup.
23464 Abort script if make_system_path_relative_to_its_root() fails.
23465
23466 2008-07-24 Bean <bean123ch@gmail.com>
23467
23468 * configure.ac: Fixed a bug caused by the previous cygwin patch,
23469 variable `target_platform' should be `platform'.
23470
23471 2008-07-24 Bean <bean123ch@gmail.com>
23472
23473 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
23474 (grub_png_init_fixed_block): New function.
23475 (grub_png_decode_image_data): Handle fixed huffman code compression.
23476
23477 2008-07-24 Bean <bean123ch@gmail.com>
23478
23479 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
23480 (grub_pe2elf_SOURCES): New macro.
23481 (CLEANFILES): Add grub-pe2elf.
23482
23483 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
23484 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
23485 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
23486 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
23487 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
23488 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
23489 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
23490 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
23491 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
23492 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
23493 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
23494 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
23495 (GRUB_PE32_DT_FUNCTION): Likewise.
23496 (GRUB_PE32_REL_I386_DIR32): Likewise.
23497 (GRUB_PE32_REL_I386_REL32): Likewise.
23498 (grub_pe32_symbol): New structure.
23499 (grub_pe32_reloc): Likewise.
23500
23501 * util/grub-pe2elf.c: New file.
23502
23503 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
23504 start symbol in non pc platform.
23505
23506 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
23507
23508 The following patches are from Christian Franke.
23509
23510 * include/grub/dl.h: Remove .previous, gas supports this only
23511 for ELF format.
23512
23513 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
23514 Remove .type, gas supports this only for ELF format.
23515
23516 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
23517 nullbytes in symbol table. This fixes an infinite loop if table is
23518 zero filled.
23519
23520 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
23521 TARGET_IMG_LDFLAGS and EXEEXT.
23522
23523 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
23524 TARGET_IMG_LDFLAGS_AC.
23525 (grub_CHECK_STACK_ARG_PROBE): New function.
23526
23527 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
23528
23529 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
23530
23531 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
23532 to set TARGET_IMG_LD* accordingly.
23533 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
23534 Add call to grub_CHECK_STACK_ARG_PROBE.
23535 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
23536
23537 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
23538
23539 * genmk.rb: Add EXEEXT to CLEANFILES.
23540
23541 2008-07-23 Robert Millan <rmh@aybabtu.com>
23542
23543 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
23544 define the codes for arrows and lines used for the menu).
23545 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
23546 as well.
23547
23548 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
23549 fonts, because the latter are too slow.
23550
23551 2008-07-21 Bean <bean123ch@gmail.com>
23552
23553 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
23554 a20. Run keyboard test last, as it will cause macbook to halt.
23555
23556 2008-07-18 Pavel Roskin <proski@gnu.org>
23557
23558 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
23559 load foreign architecture modules correctly anyway. Keep
23560 support for loading host architecture modules, whether we
23561 compile them or not.
23562
23563 2008-07-17 Pavel Roskin <proski@gnu.org>
23564
23565 * configure.ac: Use -m32 or -m64 regardless of whether we had to
23566 change target_cpu. The compiler default can mismatch target_cpu
23567 in any case.
23568
23569 * disk/efi/efidisk.c: Fix format warnings on x86_64.
23570 * kern/efi/efi.c: Likewise.
23571
23572 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
23573 target compiler is functional.
23574 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
23575 are set up.
23576
23577 * configure.ac: Default to efi platform for x86_64-apple. Allow
23578 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
23579 adjustments from the rest, only do them if target is not
23580 explicitly given. Merge other adjustments with the final sanity
23581 check. Remove an extraneous check for supported CPU. Be
23582 specific which CPU and which platform is not supported.
23583
23584 * configure.ac: Default to pc platform for x86_64.
23585
23586 2008-07-17 Robert Millan <rmh@aybabtu.com>
23587
23588 Partial LinuxBIOS -> Coreboot rename.
23589
23590 * conf/i386-linuxbios.rmk: Renamed to ...
23591 * conf/i386-coreboot.rmk: ... this.
23592 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
23593 * configure.ac: Accept "coreboot" as input platform (but maintain
23594 compatibility with "linuxbios").
23595 * include/grub/i386/linuxbios: Renamed to ...
23596 * include/grub/i386/coreboot: ... this.
23597
23598 2008-07-17 Bean <bean123ch@gmail.com>
23599
23600 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
23601 (appleldr_mod_SOURCE): New variable.
23602 (appleldr_mod_CFLAGS): Likewise.
23603 (appleldr_mod_LDFLAGS): Likewise.
23604 (pci_mod_SOURCES): Likewise.
23605 (pci_mod_CFLAGS): Likewise.
23606 (pci_mod_LDFLAGS): Likewise.
23607 (lspci_mod_SOURCES): Likewise.
23608 (lspci_mod_CFLAGS): Likewise.
23609 (lspci_mod_LDFLAGS): Likewise.
23610
23611 * conf/x86_64-efi.rmk: New file.
23612
23613 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
23614 macro.
23615 (grub_efidisk_write): Likewise.
23616
23617 * include/efi/api.h (efi_call_0): New macro.
23618 (efi_call_1): Likewise.
23619 (efi_call_2): Likewise.
23620 (efi_call_3): Likewise.
23621 (efi_call_4): Likewise.
23622 (efi_call_5): Likewise.
23623 (efi_call_6): Likewise.
23624
23625 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
23626 grub_rescue_cmd_chainloader.
23627
23628 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
23629 (grub_pe32_optional_header): Change some fields based on i386 or
23630 x86_64 platform.
23631 (GRUB_PE32_PE32_MAGIC): Likewise.
23632
23633 * include/grub/efi/uga_draw.h: New file.
23634
23635 * include/grub/elf.h (STN_ABS): New constant.
23636 (R_X86_64_NONE): Relocation constant for x86_64.
23637 (R_X86_64_64): Likewise.
23638 (R_X86_64_PC32): Likewise.
23639 (R_X86_64_GOT32): Likewise.
23640 (R_X86_64_PLT32): Likewise.
23641 (R_X86_64_COPY): Likewise.
23642 (R_X86_64_GLOB_DAT): Likewise.
23643 (R_X86_64_JUMP_SLOT): Likewise.
23644 (R_X86_64_RELATIVE): Likewise.
23645 (R_X86_64_GOTPCREL): Likewise.
23646 (R_X86_64_32): Likewise.
23647 (R_X86_64_32S): Likewise.
23648 (R_X86_64_16): Likewise.
23649 (R_X86_64_PC16): Likewise.
23650 (R_X86_64_8): Likewise.
23651 (R_X86_64_PC8): Likewise.
23652
23653 * include/grub/i386/efi/pci.h: New file.
23654
23655 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
23656 Change it value based on platform.
23657 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
23658 (GRUB_E820_RAM): Likewise.
23659 (GRUB_E820_RESERVED): Likewise.
23660 (GRUB_E820_ACPI): Likewise.
23661 (GRUB_E820_NVS): Likewise.
23662 (GRUB_E820_EXEC_CODE): Likewise.
23663 (GRUB_E820_MAX_ENTRY): Likewise.
23664 (grub_e820_mmap): New structure.
23665 (linux_kernel_header): Change the efi field according to different
23666 kernel version, also field from linux_kernel_header.
23667
23668 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
23669
23670 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
23671 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
23672 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
23673 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
23674 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
23675 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
23676 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
23677 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
23678 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
23679 (GRUB_PCI_ADDR_IO_MASK): Likewise.
23680
23681 * include/grub/x86_64/efi/kernel.h: New file.
23682
23683 * include/grub/x86_64/efi/loader.h: Likewise.
23684
23685 * include/grub/x86_64/efi/machine.h: Likewise.
23686
23687 * include/grub/x86_64/efi/pci.h: Likewise.
23688
23689 * include/grub/x86_64/efi/time.h: Likewise.
23690
23691 * include/grub/x86_64/linux.h: Likewise.
23692
23693 * include/grub/x86_64/setjmp.h: Likewise.
23694
23695 * include/grub/x86_64/time.h: Likewise.
23696
23697 * include/grub/x86_64/types.h: Likewise.
23698
23699 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
23700 GRUB_TARGET_SIZEOF_VOID_P.
23701
23702 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
23703 (grub_efi_locate_handle): Likewise.
23704 (grub_efi_open_protocol): Likewise.
23705 (grub_efi_set_text_mode): Likewise.
23706 (grub_efi_stall): Likewise.
23707 (grub_exit): Likewise.
23708 (grub_reboot): Likewise.
23709 (grub_halt): Likewise.
23710 (grub_efi_exit_boot_services): Likewise.
23711 (grub_get_rtc): Likewise.
23712
23713 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
23714 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
23715 (grub_efi_allocate_pages): Wrap efi calls.
23716 (grub_efi_free_pages): Wrap efi calls.
23717 (grub_efi_get_memory_map): Wrap efi calls.
23718
23719 * kern/x86_64/dl.c: New file.
23720
23721 * kern/x86_64/efi/callwrap.S: Likewise.
23722
23723 * kern/x86_64/efi/startup.S: Likewise.
23724
23725 * loader/efi/appleloader.c: Likewise.
23726
23727 * loader/efi/chainloader.c (cmdline): New variable.
23728 (grub_chainloader_unload): Wrap efi calls.
23729 (grub_chainloader_boot): Likewise.
23730 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
23731 command line.
23732
23733 * loader/efi/chainloader_normal.c (chainloader_command):
23734 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
23735 command line.
23736
23737 * loader/i386/efi/linux.c (allocate_pages): Change allocation
23738 method.
23739 (grub_e820_add_region): New function.
23740 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
23741 booting.
23742 (grub_find_video_card): New function.
23743 (grub_linux_setup_video): New function.
23744 (grub_rescue_cmd_linux): Probe for video information.
23745
23746 * normal/x86_64/setjmp.S: New file.
23747
23748 * term/efi/console.c (map_char): New function.
23749 (grub_console_putchar): Map unicode char.
23750 (grub_console_checkkey): Wrap efi calls.
23751 (grub_console_getkey): Likewise.
23752 (grub_console_getwh): Likewise.
23753 (grub_console_gotoxy): Likewise.
23754 (grub_console_cls): Likewise.
23755 (grub_console_setcolorstate): Likewise.
23756 (grub_console_setcursor): Likewise.
23757
23758 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
23759
23760 2008-07-16 Pavel Roskin <proski@gnu.org>
23761
23762 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
23763 format strings.
23764
23765 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
23766 pointer, not an integer. This fixes a warning and prevents
23767 precision loss on 64-bit systems.
23768 (relocate_addresses): Remove unneeded cast.
23769
23770 2008-07-15 Pavel Roskin <proski@gnu.org>
23771
23772 * kern/i386/ieee1275/init.c: Include grub/cache.h.
23773
23774 * term/ieee1275/ofconsole.c: Disable code unused on i386.
23775
23776 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
23777 Fix comparison between signed and unsigned.
23778
23779 * include/grub/i386/ieee1275/console.h: Declare
23780 grub_console_init() and grub_console_fini().
23781
23782 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
23783 It's empty and unused.
23784
23785 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
23786 beginning to avoid warnings with some compilers.
23787
23788 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
23789 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
23790
23791 2008-07-14 Pavel Roskin <proski@gnu.org>
23792
23793 * kern/env.c (grub_register_variable_hook): Don't copy empty
23794 string, it leaks memory. Pass "" to grub_env_set(), it should
23795 handle constant strings.
23796
23797 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
23798 * commands/cmp.c (grub_cmd_cmp): Likewise.
23799 * kern/dl.c (grub_dl_flush_cache): Likewise.
23800 (grub_dl_load_core): Likewise.
23801 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
23802 (grub_elf64_load_phdrs): Likewise.
23803
23804 2008-07-13 Pavel Roskin <proski@gnu.org>
23805
23806 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
23807 between signed and unsigned.
23808 (LzmaEnc_Finish): Fix warning about an unused parameter.
23809
23810 2008-07-13 Bean <bean123ch@gmail.com>
23811
23812 * Makefile.in (enable_lzo): New rule.
23813
23814 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
23815
23816 * configure.ac (ENABLE_LZO): New option --enable-lzo.
23817
23818 * boot/i386/pc/lnxboot.S: #include <config.h>.
23819
23820 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
23821 its value according to the compression algorithm used, lzo or lzma.
23822
23823 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
23824 compression algorithm according to configure macro.
23825
23826 * kern/i386/pc/startup.S (codestart): Likewise.
23827
23828 * kern/i386/pc/lzma_decode.S: New file.
23829
23830 * include/grub/lib/LzFind.h: Likewise.
23831
23832 * include/grub/lib/LzHash.h: Likewise.
23833
23834 * include/grub/lib/LzmaDec.h: Likewise.
23835
23836 * include/grub/lib/LzmaEnc.h: Likewise.
23837
23838 * include/grub/lib/LzmaTypes.h: Likewise.
23839
23840 * lib/LzFind.c: Likewise.
23841
23842 * lib/LzmaDec.c: Likewise.
23843
23844 * lib/LzmaEnc.c: Likewise.
23845
23846 2008-07-13 Bean <bean123ch@gmail.com>
23847
23848 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
23849 (grub_ext4_extent_header): New structure.
23850 (grub_ext4_extent): Likewise.
23851 (grub_ext4_extent_idx): Likewise.
23852 (grub_ext4_find_leaf): New function.
23853 (grub_ext2_read_block): Handle extents.
23854
23855 2008-07-12 Robert Millan <rmh@aybabtu.com>
23856
23857 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
23858
23859 2008-07-11 Robert Millan <rmh@aybabtu.com>
23860
23861 * util/grub.d/40_custom.in: New file. Example on how to add custom
23862 entries to /etc/grub.d.
23863 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
23864 40_custom (implicitly, by merging all the grub.d rules).
23865
23866 2008-07-11 Pavel Roskin <proski@gnu.org>
23867
23868 * commands/read.c (grub_getline): Fix invalid memory access.
23869 Don't add newline to the variable value.
23870
23871 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
23872 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
23873 (serial_hw_get_port): Check validity of the port number.
23874 (grub_cmd_serial): Check return value of serial_hw_get_port().
23875
23876 2008-07-07 Pavel Roskin <proski@gnu.org>
23877
23878 * boot/i386/pc/diskboot.S (notification_string): Replace
23879 "Loading kernel" with just "loading". This is shorter, less
23880 confusing and saves a few bytes for possible future changes.
23881
23882 2008-07-05 Pavel Roskin <proski@gnu.org>
23883
23884 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
23885 size for ATAPI devices, they are undefined. Output sector
23886 number in decimal form.
23887
23888 * disk/ata.c: Use named constants for status bits.
23889
23890 2008-07-04 Pavel Roskin <proski@gnu.org>
23891
23892 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
23893 grub_addr_t before casting it to the void pointer to fix a
23894 warning. Non-addressable regions are discarded earlier.
23895 (grub_arch_modules_addr): Cast _end to grub_addr_t.
23896 * kern/i386/linuxbios/table.c: Include grub/misc.h.
23897 (check_signature): Don't shadow table_header.
23898 (grub_linuxbios_table_iterate): Cast numeric constants to
23899 grub_linuxbios_table_header_t.
23900 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
23901 grub_stop().
23902
23903 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
23904 prevent warnings.
23905
23906 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
23907 pointer, which can cause warnings. Support 64-bit addresses.
23908
23909 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
23910 of sizeof(long). This fixes PowerPC image generation on x86_64.
23911
23912 2008-07-04 Robert Millan <rmh@aybabtu.com>
23913
23914 This fixes a performance issue when pc & gpt partmap iterators
23915 didn't abort iteration even after our hook found what it was
23916 looking for (often causing expensive probes of non-existent drives).
23917
23918 Some callers relied on previous buggy behaviour, since they would
23919 raise an error when their own hooks caused early abortion of its
23920 iteration.
23921
23922 * kern/device.c (grub_device_open): Improve error message.
23923 * disk/lvm.c (grub_lvm_open): Likewise.
23924 * disk/raid.c (grub_raid_open): Likewise.
23925
23926 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
23927 when hook requests it, independently of grub_errno.
23928 (pc_partition_map_probe): Do not fail when find_func() caused
23929 early abortion of pc_partition_map_iterate().
23930
23931 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
23932 when hook requests it, independently of grub_errno.
23933 (gpt_partition_map_probe): Do not fail when find_func() caused
23934 early abortion of gpt_partition_map_iterate().
23935
23936 * kern/partition.c (grub_partition_iterate): Abort parent iteration
23937 when hook requests it, independently of grub_errno. Do not fail when
23938 part_map_iterate_hook() caused early abortion of p->iterate().
23939
23940 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
23941 when grub_partition_iterate() returned with non-zero.
23942
23943 2008-07-03 Pavel Roskin <proski@gnu.org>
23944
23945 * disk/ata.c (grub_ata_pio_write): Check status before writing,
23946 like we do in grub_ata_pio_read().
23947 (grub_ata_readwrite): Always write individual sectors. Fix the
23948 sector count for the remainder.
23949 (grub_ata_write): Enable writing to ATA devices. Correctly
23950 report error for ATAPI devices.
23951
23952 2008-07-02 Pavel Roskin <proski@gnu.org>
23953
23954 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
23955 warning.
23956
23957 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
23958 for every read sector, we already increment it for the whole
23959 batch. This fixes reading more than 256 sectors at once.
23960
23961 * util/grub-editenv.c (cmd_info): Cast argument to long
23962 explicitly. ptrdiff_t reduces to int on i386.
23963
23964 * util/grub-editenv.c (main): Be specific which parameter is
23965 missing.
23966
23967 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
23968 (memdisk): Make memdisk_orig_addr a pointer.
23969
23970 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
23971 for file offsets, use grub_off_t instead. Fix printf format
23972 warnings.
23973
23974 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
23975 there. Real unexpected warnings should not drown in the noise
23976 about known problems.
23977
23978 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
23979 grub_disk_addr_t for memory addresses.
23980
23981 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
23982 explicitly to fix a warning.
23983
23984 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
23985
23986 * Makefile.in (MODULE_LDFLAGS): New variable.
23987 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
23988 the linker accepts --build-id=none.
23989 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
23990 MODULE_LDFLAGS.
23991 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
23992
23993 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
23994 those in Linux XFS code. Provide a way to access 64-bit parent
23995 inode.
23996 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
23997 the end of struct grub_xfs_dir_header.
23998
23999 2008-07-02 Bean <bean123ch@gmail.com>
24000
24001 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
24002 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24003 and GRUB_IEEE1275_FLAG_NO_ANSI.
24004
24005 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
24006 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24007 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
24008
24009 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
24010 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
24011
24012 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
24013 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
24014
24015 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
24016 esc sequence on non ANSI terminal.
24017 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
24018
24019 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
24020 beginning of file.
24021
24022 2008-07-02 Bean <bean123ch@gmail.com>
24023
24024 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
24025 (grub_editenv_SOURCES): New variable.
24026 (pkglib_MODULES): Add loadenv.mod.
24027 (loadenv_mod_SOURCES): New variable.
24028 (loadenv_mod_CFLAGS): Likewise.
24029 (loadenv_mod_LDFLAGS): Likewise.
24030
24031 * include/grub/envblk.h: New file.
24032
24033 * util/envblk.c: New file.
24034
24035 * util/grub-editenv.c: New file.
24036
24037 * commands/loadenv.c: New file.
24038
24039 2008-07-01 Pavel Roskin <proski@gnu.org>
24040
24041 * include/multiboot2.h (struct multiboot_tag_module): Use char,
24042 not unsigned char. This fixes warnings and is consistent with
24043 other tags.
24044
24045 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
24046
24047 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
24048
24049 * term/tparm.c (analyze): Always set *popcount.
24050
24051 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
24052 cast to fix a warning.
24053
24054 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
24055 cast to suppress a warning.
24056
24057 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
24058 grub_fshelp_read_file() expects.
24059
24060 * fs/fat.c: Fix UUID calculation on big-endian systems. We
24061 write uuid as a 32-bit value in CPU byte order, so declare and
24062 use it as such.
24063
24064 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
24065 long if the format specifier expects it.
24066 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
24067 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24068 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
24069 long to fix a warning.
24070 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
24071 grub_dprintf() arguments to fix warnings.
24072
24073 2008-06-30 Pavel Roskin <proski@gnu.org>
24074
24075 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
24076 install_bsd_part immediately before core.img is embedded or
24077 modified on disk. This fixes core.img verification if core.img
24078 cannot be embedded.
24079
24080 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
24081 core_path to calculate the blocklist.
24082 Patch from Javier Martín <lordhabbit@gmail.com>
24083
24084 2008-06-29 Robert Millan <rmh@aybabtu.com>
24085
24086 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
24087 block to disk block.
24088 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
24089 Patch from Niels Böhm <bitbucket@arcor.de>
24090
24091 2008-06-29 Robert Millan <rmh@aybabtu.com>
24092
24093 * util/update-grub_lib.in (font_path): Search for fonts in
24094 /boot/grub first, which is more likely to be readable (we aren't
24095 deciding where fonts live, just looking for them).
24096
24097 2008-06-26 Pavel Roskin <proski@gnu.org>
24098
24099 * util/biosdisk.c (read_device_map): Don't leave dead map
24100 entries for devices failing stat() check.
24101
24102 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
24103 core_path_dev for the core.img path on the target device.
24104
24105 2008-06-26 Robert Millan <rmh@aybabtu.com>
24106
24107 * disk/fs_uuid.c: New file.
24108 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
24109 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
24110 (fs_uuid_mod_LDFLAGS): New variables.
24111 * include/grub/disk.h (grub_disk_dev_id): Add
24112 `GRUB_DISK_DEVICE_UUID_ID'.
24113 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
24114 implement iterate().
24115
24116 2008-06-26 Robert Millan <rmh@aybabtu.com>
24117
24118 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
24119 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
24120 Linux image includes no initrd.
24121
24122 2008-06-21 Javier Martín <lordhabbit@gmail.com>
24123
24124 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
24125 call to resolve the core image location that effectively appended the
24126 name twice.
24127
24128 2008-06-21 Robert Millan <rmh@aybabtu.com>
24129
24130 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
24131 call from here ...
24132
24133 * util/grub.d/10_hurd.in: ... to here ...
24134 * util/grub.d/10_linux.in: ... and here.
24135
24136 2008-06-19 Robert Millan <rmh@aybabtu.com>
24137
24138 * kern/main.c (grub_main): Export `prefix' variable immediately
24139 after it has been set by grub_machine_set_prefix().
24140
24141 2008-06-19 Robert Millan <rmh@aybabtu.com>
24142
24143 * commands/search.c (search_label, search_fs_uuid, search_file): Print
24144 search result when not saving to variable, not the other way around.
24145 When saving to variable, abort iteration as soon as a match is found.
24146
24147 2008-06-19 Robert Millan <rmh@aybabtu.com>
24148
24149 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
24150 check for partition that provides /boot/grub. Its logic is flawed,
24151 as it prevents prepare_grub_to_access_device() from being called
24152 multiple times.
24153
24154 2008-06-19 Robert Millan <rmh@aybabtu.com>
24155
24156 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
24157 "insmod" command directly when abstraction modules are needed,
24158 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
24159 since it had already been processed).
24160
24161 2008-06-19 Pavel Roskin <proski@gnu.org>
24162
24163 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
24164 changed. This is needed in case GRUB_LIBDIR changes.
24165 * conf/i386-ieee1275.rmk: Likewise.
24166 * conf/i386-linuxbios.rmk: Likewise.
24167 * conf/i386-pc.rmk: Likewise.
24168 * conf/powerpc-ieee1275.rmk: Likewise.
24169
24170 2008-06-18 Pavel Roskin <proski@gnu.org>
24171
24172 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
24173 kernel_elf_symlist.c to symlist.c for consistency with other
24174 architectures. Update all users.
24175 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24176
24177 2008-06-18 Robert Millan <rmh@aybabtu.com>
24178
24179 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
24180 it in prefix.
24181
24182 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
24183 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
24184 a RAID device, run setup() for all members independently on whether
24185 LVM abstraction is being used.
24186 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
24187 If grub-mkimage has set `*install_dos_part == -2', don't override this
24188 value.
24189 Perform *install_dos_part adjustments independently on whether
24190 we're embedding or not.
24191 Clarify error message when image is too big for embedding.
24192 Remove duplicate *install_dos_part stanza.
24193
24194 2008-06-17 Robert Millan <rmh@aybabtu.com>
24195
24196 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
24197 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
24198 variables.
24199 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
24200 values in grub_ofconsole_normal_color and
24201 grub_ofconsole_highlight_color (they're not directly related to
24202 background and foreground).
24203 (grub_ofconsole_setcolorstate): Extract background and foreground
24204 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
24205
24206 2008-06-17 Robert Millan <rmh@aybabtu.com>
24207
24208 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
24209 /boot/grub for the check in last commit, not /boot (they could be
24210 different partitions).
24211
24212 2008-06-16 Robert Millan <rmh@aybabtu.com>
24213
24214 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
24215 asked to setup access for the same partition that provides /boot,
24216 don't bother using UUIDs since our root already has the value we
24217 want.
24218
24219 2008-06-16 Robert Millan <rmh@aybabtu.com>
24220
24221 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
24222 I2O devices.
24223 Patch from Sven Mueller <sven@debian.org>.
24224
24225 2008-06-16 Robert Millan <rmh@aybabtu.com>
24226
24227 * util/update-grub.in: Check for $EUID instead of $UID.
24228 Reported by Vincent Zweije.
24229
24230 2008-06-16 Bean <bean123ch@gmail.com>
24231
24232 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
24233 (grub_ext2_read_block): Likewise.
24234 (grub_ext2_read_inode): Likewise.
24235 (grub_ext2_mount): Likewise.
24236 (grub_ext2_close): Likewise.
24237 (grub_ext3_get_journal): Removed.
24238
24239 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
24240 (grub_reiserfs_read_symlink): Likewise.
24241 (grub_reiserfs_mount): Likewise.
24242 (grub_reiserfs_open): Likewise.
24243 (grub_reiserfs_read): Likewise.
24244 (grub_reiserfs_close): Likewise.
24245 (grub_reiserfs_get_journal): Removed.
24246
24247 * fs/fshelp.c (grub_fshelp_read): Removed.
24248 (grub_fshelp_map_block): Likewise.
24249
24250 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
24251 (grub_fshelp_journal): Likewise.
24252 (grub_fshelp_read): Likewise.
24253 (grub_fshelp_map_block): Likewise.
24254
24255 2008-06-16 Pavel Roskin <proski@gnu.org>
24256
24257 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
24258 floating point anymore.
24259 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
24260
24261 2008-06-15 Pavel Roskin <proski@gnu.org>
24262
24263 * commands/ls.c (grub_ls_list_files): Use integer calculations
24264 for human readable format, avoid floating point use.
24265 * kern/misc.c (grub_ftoa): Remove.
24266 (grub_vsprintf): Remove floating point support.
24267
24268 2008-06-15 Robert Millan <rmh@aybabtu.com>
24269
24270 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
24271 devices.
24272 Reported by Max Vozeler.
24273
24274 2008-06-15 Robert Millan <rmh@aybabtu.com>
24275
24276 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
24277 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
24278 skipped later.
24279 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
24280 the beginning of the prefix.
24281
24282 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
24283 It is assumed that if we have a memdisk, grub-mkimage has set
24284 grub_prefix to include the "(memdisk)" drive in it.
24285
24286 2008-06-15 Robert Millan <rmh@aybabtu.com>
24287
24288 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
24289 Initialize keyboard controller after registering the terminal, so that
24290 grub_printf() can be called from grub_keyboard_controller_init().
24291
24292 2008-06-15 Robert Millan <rmh@aybabtu.com>
24293
24294 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
24295 extent-btree which is written as big endian on disk.
24296 Reported by Alain Greppin <al@chilibi.org>.
24297
24298 2008-06-14 Robert Millan <rmh@aybabtu.com>
24299
24300 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
24301 * util/i386/pc/grub-install.in (modules): Likewise.
24302
24303 2008-06-13 Pavel Roskin <proski@gnu.org>
24304
24305 * commands/ls.c (grub_ls_list_files): Fix format warnings.
24306
24307 2008-06-13 Bean <bean123ch@gmail.com>
24308
24309 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
24310
24311 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
24312
24313 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
24314 to indicate sparse block.
24315
24316 2008-06-12 Pavel Roskin <proski@gnu.org>
24317
24318 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
24319 number, grub_fshelp_read() does it for us.
24320
24321 * fs/fshelp.c (grub_fshelp_read): New function. Implement
24322 linear disk read with journal translation.
24323 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
24324 * include/grub/fshelp.h: Declare grub_fshelp_read().
24325
24326 2008-06-09 Pavel Roskin <proski@gnu.org>
24327
24328 * fs/minix.c (grub_minix_mount): Handle error reading
24329 superblock.
24330
24331 2008-06-08 Robert Millan <rmh@aybabtu.com>
24332
24333 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
24334 don't append the RAID prefix afterwards.
24335 Reported by Clint Adams.
24336
24337 2008-06-08 Robert Millan <rmh@aybabtu.com>
24338
24339 Based on description from Pavel:
24340 * kern/disk.c (grub_disk_check_range): Rename to ...
24341 (grub_disk_adjust_range): ... this. Add a comment explaining the
24342 tasks performed by this function.
24343
24344 2008-06-08 Robert Millan <rmh@aybabtu.com>
24345
24346 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
24347 `num_serial' (for consistency with other variables).
24348 (struct grub_ntfs_data): Add `uuid' member.
24349 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
24350 (grub_ntfs_uuid): New function.
24351 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
24352
24353 2008-06-07 Pavel Roskin <proski@gnu.org>
24354
24355 * util/biosdisk.c (open_device): Revert last change to the
24356 function, it broke installation. The sector needs to be
24357 different dependent on which device is opened.
24358
24359 2008-06-06 Robert Millan <rmh@aybabtu.com>
24360
24361 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
24362 rest of GRUB, and breakage doesn't happen if its value were modified.
24363
24364 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24365 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
24366 a constant (same value).
24367 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
24368 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
24369
24370 2008-06-06 Robert Millan <rmh@aybabtu.com>
24371
24372 * util/biosdisk.c (open_device): Do not modify sector offset when
24373 accessing a partition. kern/disk.c already handles this for us.
24374
24375 2008-06-06 Robert Millan <rmh@aybabtu.com>
24376
24377 * util/grub-emu.c (grub_machine_init): Move code in this function from
24378 here ...
24379 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
24380 segfault in case grub_printf() is called).
24381
24382 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
24383 grub_probe. Update all users not to explicitly add it again.
24384 (grub_device): New variable; contains corresponding device for grubdir.
24385 (fs_module, partmap_module, devabstraction_module): Pass
24386 `--device ${grub_device}' to grub_probe to avoid traversing /dev
24387 every time.
24388
24389 2008-06-05 Robert Millan <rmh@aybabtu.com>
24390
24391 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
24392 is found, print it (same layout as with labels).
24393
24394 2008-06-04 Robert Millan <rmh@aybabtu.com>
24395
24396 * util/biosdisk.c (get_drive): Rename to ...
24397 (find_grub_drive): ... this. Update all users.
24398
24399 (get_os_disk): Rename to ...
24400 (convert_system_partition_to_system_disk): ... this. Update all users.
24401
24402 (find_drive): Rename to ...
24403 (find_system_device): ... this. Update all users.
24404
24405 2008-06-04 Robert Millan <rmh@aybabtu.com>
24406
24407 * util/biosdisk.c (get_os_disk): Handle IDA devices.
24408 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24409 (make_device_map): Likewise.
24410
24411 2008-06-01 Robert Millan <rmh@aybabtu.com>
24412
24413 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
24414 before dereferencing it.
24415
24416 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
24417 union with fat12/fat16-specific ones. Add some new fields, including
24418 `num_serial' for both versions.
24419 (struct grub_fat_data): Add `uuid' member.
24420 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
24421 names. Initialize `data->uuid' using `num_serial'.
24422 (grub_fat_uuid): New function.
24423 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
24424
24425 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
24426 (grub_reiserfs_uuid): New function.
24427 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
24428 member.
24429
24430 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
24431 (grub_xfs_uuid): New function.
24432 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
24433
24434 2008-06-01 Robert Millan <rmh@aybabtu.com>
24435
24436 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
24437 code that is backward compatible with pre-uuid search command.
24438
24439 2008-05-31 Robert Millan <rmh@aybabtu.com>
24440
24441 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
24442 floppies after everything else, to ensure floppy drive isn't accessed
24443 unnecessarily (patch from Bean).
24444
24445 2008-05-31 Robert Millan <rmh@aybabtu.com>
24446
24447 * commands/search.c (search_label, search_fs_uuid, search_file): Do
24448 not print device names when we were asked to set a variable.
24449
24450 2008-05-31 Robert Millan <rmh@aybabtu.com>
24451
24452 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
24453 using "cursor-on" and "cursor-off" commands (understood at least by
24454 the Open Firmware flavour on OLPC).
24455
24456 2008-05-31 Michael Gorven <michael@gorven.za.net>
24457
24458 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
24459 on and off sequences.
24460
24461 2008-05-31 Robert Millan <rmh@aybabtu.com>
24462
24463 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
24464 * util/update-grub.in: Likewise.
24465
24466 2008-05-30 Pavel Roskin <proski@gnu.org>
24467
24468 * util/biosdisk.c (linux_find_partition): Simplify logic and
24469 make the code more universal. Keep special processing for
24470 devfs, but use a simple rule for all other devices. If the
24471 device ends with a number, append 'p' and the partition number.
24472 Otherwise, append only the partition number.
24473
24474 2008-05-30 Robert Millan <rmh@aybabtu.com>
24475
24476 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
24477 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
24478 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
24479 the `root' parameter to Linux.
24480
24481 2008-05-30 Robert Millan <rmh@aybabtu.com>
24482
24483 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
24484 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
24485 --fs_uuid with --fs-uuid.
24486 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
24487 all filesystems support them).
24488
24489 2008-05-30 Robert Millan <rmh@aybabtu.com>
24490
24491 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
24492 grub_printf() flags, since we're printing in units of 2 bytes.
24493
24494 2008-05-30 Robert Millan <rmh@aybabtu.com>
24495
24496 * util/grub.d/00_header.in: Remove obsolete comment referencing
24497 convert_system_path_to_grub_path().
24498 * util/update-grub.in: Likewise.
24499 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
24500 (convert_system_path_to_grub_path): Add a warning message explaining
24501 that this function is deprecated. Rely on is_path_readable_by_grub()
24502 for the readability checks.
24503 (font_path): Use is_path_readable_by_grub() for the readability
24504 check rather than convert_system_path_to_grub_path().
24505
24506 2008-05-30 Robert Millan <rmh@aybabtu.com>
24507
24508 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
24509 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
24510 converting it first.
24511 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
24512 grub.cfg for access to font file, and afterwards call it again to set
24513 the root device.
24514
24515 2008-05-30 Robert Millan <rmh@aybabtu.com>
24516
24517 * commands/search.c (options): Add --fs_uuid option.
24518 (search_fs_uuid): New function.
24519 (grub_cmd_search): Fix --set argument passing.
24520 Use search_fs_uuid() when requested via --fs_uuid.
24521 (grub_search_init): Update help message.
24522 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
24523 and redeclare it as an array of 16-bit words.
24524 (grub_ext2_uuid): New function.
24525 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
24526 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
24527 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
24528 (GRUB_DEVICE_BOOT_UUID): New variables.
24529 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
24530 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
24531 whenever possible.
24532 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
24533 just assume `root' variable has the right value.
24534 * util/grub.d/10_linux.in: Likewise.
24535 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
24536 via PRINT_FS_UUID.
24537 (main): Recognise `-t fs_uuid' argument.
24538
24539 2008-05-30 Robert Millan <rmh@aybabtu.com>
24540
24541 * util/biosdisk.c (map): Redefine structure to hold information
24542 about GRUB drive name.
24543 (get_drive): Reimplement without assuming (and verifying) BIOS-like
24544 drive names.
24545 (call_hook): Remove.
24546 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
24547 member. Assume drive has partitions.
24548 (grub_util_biosdisk_open): Access device names via `.device' struct
24549 member.
24550 (open_device): Likewise.
24551 (find_drive): Likewise.
24552 (read_device_map): Adjust map[] usage to match the new struct
24553 definition. Don't check for duplicates (still possible, but not cheap
24554 anymore).
24555 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
24556 (make_device_name): Remove assumption of BIOS-like drive names.
24557
24558 2008-05-30 Pavel Roskin <proski@gnu.org>
24559
24560 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
24561 compiling execute.c doesn't need grub_script.tab.h anymore.
24562 (normal/command.c_DEPENDENCIES): Likewise.
24563 (normal/function.c_DEPENDENCIES): Likewise.
24564 * conf/i386-ieee1275.rmk: Likewise.
24565 * conf/i386-linuxbios.rmk: Likewise.
24566 * conf/i386-pc.rmk: Likewise.
24567 * conf/powerpc-ieee1275.rmk: Likewise.
24568 * conf/sparc64-ieee1275.rmk: Likewise.
24569
24570 2008-05-29 Pavel Roskin <proski@gnu.org>
24571
24572 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
24573 when scanning metadata for volume group name.
24574
24575 * include/grub/script.h: Don't include grub_script.tab.h. It's
24576 a generated file, which may only be included from the files with
24577 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
24578 use union YYSTYPE, as the later allows forward declaration.
24579 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
24580
24581 2008-05-29 Robert Millan <rmh@aybabtu.com>
24582
24583 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
24584 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
24585 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
24586 (grub_console_checkkey): Add grub_dprintf() call to report unknown
24587 scan codes.
24588
24589 2008-05-29 Robert Millan <rmh@aybabtu.com>
24590
24591 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
24592 control key combinations.
24593
24594 2008-05-29 Robert Millan <rmh@aybabtu.com>
24595
24596 * util/powerpc/ieee1275/grub-install.in: Move from here ...
24597 * util/ieee1275/grub-install.in: ... to here.
24598 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
24599 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
24600 (grub_install_SOURCES): Likewise.
24601
24602 2008-05-29 Robert Millan <rmh@aybabtu.com>
24603
24604 * fs/affs.c: Update copyright year.
24605 * fs/ext2.c: Likewise.
24606 * fs/fshelp.c: Likewise.
24607 * fs/hfsplus.c: Likewise.
24608 * fs/ntfs.c: Likewise.
24609 * fs/xfs.c: Likewise.
24610 * include/grub/fshelp.h: Likewise.
24611 * util/grub-mkdevicemap.c: Likewise.
24612
24613 2008-05-28 Robert Millan <rmh@aybabtu.com>
24614
24615 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
24616 might need to be fatfs to support some firmware implementations
24617 (e.g. OFW or EFI).
24618
24619 2008-05-28 Robert Millan <rmh@aybabtu.com>
24620
24621 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
24622 devices.
24623 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24624 (make_device_map): Likewise.
24625
24626 2008-05-20 Bean <bean123ch@gmail.com>
24627
24628 * fs/fshelp.c (grub_fshelp_map_block): New function.
24629 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
24630 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
24631
24632 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
24633 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
24634 (grub_fshelp_journal): New structure.
24635 (grub_fshelp_map_block): New function prototype.
24636 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
24637 (grub_fshelp_map_block): Likewise.
24638
24639 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
24640 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
24641 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
24642 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
24643 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
24644 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
24645 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
24646 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
24647 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
24648 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
24649 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
24650 (grub_ext2_sblock): New members for journal support.
24651 (grub_ext3_journal_header): New structure.
24652 (grub_ext3_journal_revoke_header): Likewise.
24653 (grub_ext3_journal_block_tag): Likewise.
24654 (grub_ext3_journal_sblock): Likewise.
24655 (grub_fshelp_node): New members logfile and journal.
24656 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
24657 grub_fshelp_map_block to get real block number.
24658 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
24659 number.
24660 (grub_ext2_read_inode): Likewise.
24661 (grub_ext3_get_journal): New function.
24662 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
24663 (grub_ext2_close): Release memory used by journal.
24664
24665 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
24666 (REISERFS_MAGIC_DESC_BLOCK): New macro.
24667 (grub_reiserfs_transaction_header): Renamed to
24668 grub_reiserfs_description_block, replace field data with real_blocks.
24669 (grub_reiserfs_commit_block): New structure.
24670 (grub_reiserfs_data): New member journal.
24671 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
24672 number.
24673 (grub_reiserfs_read_symlink): Likewise.
24674 (grub_reiserfs_iterate_dir): Likewise.
24675 (grub_reiserfs_open): Likewise.
24676 (grub_reiserfs_read): Likewise.
24677 (grub_reiserfs_get_journal): New function.
24678 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
24679 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
24680 using grub_reiserfs_get_journal.
24681 (grub_reiserfs_close): Release memory used by journal.
24682
24683 * fs/affs.c (grub_affs_read_block): Change block type to
24684 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
24685
24686 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
24687
24688 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
24689
24690 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
24691
24692 * fs/udf.c (grub_udf_read_block): Change block type to
24693 grub_disk_addr_t. Use type cast to avoid warning.
24694
24695 * fs/xfs.c (grub_xfs_read_block): Likewise.
24696
24697 2008-05-16 Christian Franke <franke@computer.org>
24698
24699 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
24700 to ensure that break with ESC will always work.
24701 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
24702 Remove ESC from keyboard queue.
24703
24704 2008-05-16 Christian Franke <franke@computer.org>
24705
24706 * util/biosdisk.c: [__CYGWIN__] Add includes.
24707 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
24708 (get_os_disk): Move variable declarations to OS specific
24709 parts to avoid warning.
24710 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
24711 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
24712 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
24713 Cygwin.
24714 * util/getroot.c: [__CYGWIN__] Add includes.
24715 (strip_extra_slashes): Fix "/" case.
24716 [__CYGWIN__] (get_win32_path): New function.
24717 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
24718 [__CYGWIN__] (find_root_device): Disable.
24719 [__CYGWIN__] (get_bootsec_serial): New function.
24720 [__CYGWIN__] (find_cygwin_root_device): Likewise.
24721 [__linux__] (grub_guess_root_device): Add early returns to simplify
24722 structure.
24723 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
24724 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
24725 check for Linux only.
24726
24727 2008-05-15 Bean <bean123ch@gmail.com>
24728
24729 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
24730 keyboard hang problem in apple's intel mac.
24731
24732 2008-05-09 Robert Millan <rmh@aybabtu.com>
24733
24734 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
24735 devices.
24736 * util/grub-mkdevicemap.c (get_virtio_disk_name)
24737 (make_device_map): Likewise.
24738 Reported by Aurelien Jarno <aurel32@debian.org>
24739
24740 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
24741
24742 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
24743 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
24744 (make_device_map): Output entries for xvd type disks.
24745
24746 2008-05-07 Robert Millan <rmh@aybabtu.com>
24747
24748 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
24749 devices.
24750 * util/grub-mkdevicemap.c (get_cciss_disk_name)
24751 (make_device_map): Likewise.
24752 Reported by Roland Dreier <rdreier@cisco.com>
24753
24754 2008-05-07 Robert Millan <rmh@aybabtu.com>
24755
24756 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
24757 grub_strstr() call. Correct a few mistakes in failure path handling.
24758
24759 2008-05-06 Robert Millan <rmh@aybabtu.com>
24760
24761 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24762 Do not print a trailing slash (therefore, the root directory is an
24763 empty string).
24764 (convert_system_path_to_grub_path): Do not remove trailing slash
24765 from make_system_path_relative_to_its_root() output.
24766
24767 * util/i386/pc/grub-install.in: Add trailing slash to output from
24768 make_system_path_relative_to_its_root().
24769
24770 2008-05-06 Robert Millan <rmh@aybabtu.com>
24771
24772 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
24773 ensures that output lines aren't intermangled with those sent to
24774 stderr (via grub_util_info()).
24775 * util/grub-probe.c (grub_refresh): Likewise.
24776 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
24777
24778 2008-05-05 Christian Franke <franke@computer.org>
24779
24780 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
24781 Add Cygwin device names.
24782 (get_ide_disk_name) [__CYGWIN__]: Likewise.
24783 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
24784 (check_device): Return error instead of success on empty name.
24785 (make_device_map): Move label inside linux specific code to
24786 prevent compiler warning.
24787
24788 2008-04-30 Robert Millan <rmh@aybabtu.com>
24789
24790 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
24791 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
24792 first boot option.
24793 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
24794
24795 2008-04-29 Robert Millan <rmh@aybabtu.com>
24796
24797 * docs/grub.cfg: New file (example GRUB configuration).
24798
24799 2008-04-26 Robert Millan <rmh@aybabtu.com>
24800
24801 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
24802 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
24803 and `disk/ieee1275/nand.c'.
24804
24805 2008-04-25 Bean <bean123ch@gmail.com>
24806
24807 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
24808 i386-linuxbios.
24809
24810 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
24811 change the buffer size to 4096 for cdrom device.
24812
24813 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
24814 and nand.mod.
24815 (_linux_mod_SOURCES): New variable.
24816 (_linux_mod_CFLAGS): Likewise.
24817 (_linux_mod_LDFLAGS): Likewise.
24818 (linux_mod_SOURCES): Likewise.
24819 (linux_mod_CFLAGS): Likewise.
24820 (linux_mod_LDFLAGS): Likewise.
24821 (nand_mod_SOURCES): Likewise.
24822 (nand_mod_CFLAGS): Likewise.
24823 (nand_mod_LDFLAGS): Likewise.
24824
24825 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
24826 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
24827 type property. (nand device in olpc don't have this property)
24828
24829 * include/grub/disk.h (grub_disk_dev_id): New macro
24830 GRUB_DISK_DEVICE_NAND_ID.
24831
24832 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
24833 function prototype.
24834 (grub_rescue_cmd_initrd): Likewise.
24835
24836 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
24837 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
24838 ofw_cif_handler and ofw_idt, adjust padding number.
24839
24840 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
24841 GRUB_MACHINE_IEEE1275 is defined.
24842
24843 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
24844 Use NESTED_FUNC_ATTR attribute on the hook parameter.
24845
24846 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
24847 on nested function heap_init.
24848 (grub_upper_mem): New variable for i386-ieee1275.
24849 (grub_get_extended_memory): New function for i386-ieee1275.
24850 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
24851
24852 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
24853 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
24854 property.
24855
24856 * loader/i386/ieee1275/linux.c: New file.
24857
24858 * loader/i386/ieee1275/linux_normal.c: New file.
24859
24860 * disk/ieee1275/nand.c: New file.
24861
24862 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
24863
24864 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
24865 value.
24866 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
24867
24868 2008-04-18 Robert Millan <rmh@aybabtu.com>
24869
24870 Restructures early code path on ieee1275 to unify grub_main() as
24871 the first C function that is executed in every platform.
24872
24873 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
24874 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
24875 cmain().
24876 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
24877 * kern/ieee1275/cmain.c (cmain): Rename to ...
24878 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
24879 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
24880 at the beginning.
24881
24882 2008-04-18 Robert Millan <rmh@aybabtu.com>
24883
24884 * util/update-grub.in: Fix syntax error when setting
24885 `GRUB_PRELOAD_MODULES'.
24886 Reported by Stephane Chazelas <stephane@artesyncp.com>
24887
24888 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
24889
24890 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
24891 section into account, newer toolchains generate unique build ids
24892 * configure.ac: remove the test for --build-id=none acceptance,
24893 we want build ids to be preserved
24894 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
24895 far from other sections don't cause the raw binary images grow
24896 size
24897
24898 2008-04-15 Robert Millan <rmh@aybabtu.com>
24899
24900 * disk/lvm.c: Update copyright year.
24901 * kern/misc.c: Likewise.
24902
24903 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24904
24905 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
24906 there is no memory left for physical volume name.
24907
24908 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24909
24910 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
24911 volume name mapping to support bigger than 9 character names properly.
24912
24913 2008-04-13 Robert Millan <rmh@aybabtu.com>
24914
24915 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
24916 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
24917
24918 2008-04-13 Christian Franke <franke@computer.org>
24919
24920 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
24921 to create a floppy emulation boot CD when non emulation mode
24922 does not work.
24923 Enable Joliet CD filesystem extension.
24924
24925 2008-04-13 Robert Millan <rmh@aybabtu.com>
24926
24927 * kern/misc.c (grub_strncat): Fix off-by-one error.
24928 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
24929
24930 * kern/env.c (grub_env_context_close): Clear current context, not
24931 previous one.
24932 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
24933
24934 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
24935
24936 2008-04-13 Robert Millan <rmh@aybabtu.com>
24937
24938 Improve robustness when handling LVM.
24939
24940 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
24941 (and leave `*p' unmodified).
24942 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
24943 through it.
24944 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
24945 iterating through it.
24946 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
24947 through it.
24948 (grub_lvm_scan_device): Check the return value (and fail gracefully
24949 when due) on each grub_lvm_getvalue() or grub_strstr() call.
24950 Don't assume `vg->pvs != NULL' when iterating through it.
24951
24952 2008-04-13 Robert Millan <rmh@aybabtu.com>
24953
24954 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
24955 * genmk.rb (partmap): New variable.
24956 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
24957 (#{partmap}): New target rule.
24958 * genpartmaplist.sh: New file.
24959 * Makefile.in (pkglib_DATA): Add partmap.lst.
24960 (partmap.lst): New target rule.
24961 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
24962 modules (including all partition maps), instead of preloading them.
24963
24964 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
24965
24966 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
24967 `linux-boot-prober' (if installed) to detect other operating
24968 systems which are installed on the computer and add them to
24969 the boot menu.
24970 * conf/common.rmk: Build and install 30_os-prober.
24971
24972 2008-04-12 Robert Millan <rmh@aybabtu.com>
24973
24974 * kern/powerpc/ieee1275/init.c: Move from here ...
24975 * kern/ieee1275/init.c: ... to here. Update all users.
24976
24977 * kern/powerpc/ieee1275/cmain.c: Move from here ...
24978 * kern/ieee1275/cmain.c: ... to here. Update all users.
24979
24980 * kern/powerpc/ieee1275/openfw.c: Move from here ...
24981 * kern/ieee1275/openfw.c: ... to here. Update all users.
24982
24983 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
24984 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
24985
24986 2008-04-10 Pavel Roskin <proski@gnu.org>
24987
24988 * configure.ac: Always use "_cv_" in cache variables for
24989 compatibility with Autoconf 2.62.
24990
24991 2008-04-07 Robert Millan <rmh@aybabtu.com>
24992
24993 Revert grub/machine/init.h addition by Pavel (since it breaks on
24994 i386-ieee1275 and others):
24995 * util/i386/pc/misc.c: Remove grub/machine/init.h.
24996 * util/powerpc/ieee1275/misc.c: Likewise.
24997
24998 2008-04-07 Robert Millan <rmh@aybabtu.com>
24999
25000 * util/grub-probe.c (probe): Improve error message.
25001
25002 2008-04-07 Robert Millan <rmh@aybabtu.com>
25003
25004 * util/biosdisk.c (read_device_map): Skip devices that don't exist
25005 (this prevents the presence of a bogus entry from ruining the whole
25006 thing).
25007
25008 2008-04-06 Pavel Roskin <proski@gnu.org>
25009
25010 * util/biosdisk.c: Include grub/util/biosdisk.h.
25011 * util/grub-fstest.c (execute_command): Make static.
25012 * util/grub-mkdevicemap.c (check_device): Likewise.
25013 * util/i386/pc/misc.c: Include grub/machine/init.h.
25014 * util/powerpc/ieee1275/misc.c: Likewise.
25015 * util/lvm.c: Include grub/util/lvm.h.
25016 * util/misc.c: Include grub/kernel.h, grub/misc.h and
25017 grub/cache.h.
25018 * util/raid.c: Include grub/util/raid.h.
25019 (grub_util_getdiskname): Make static.
25020
25021 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
25022 grub_hostfs_fini(), as they are called from grub_init_all() and
25023 grub_fini_all() respectively. This fixes an infinite loop in
25024 grub-fstest due to double registration of hostfs.
25025 Reported by Christian Franke <Christian.Franke@t-online.de>
25026
25027 2008-04-05 Pavel Roskin <proski@gnu.org>
25028
25029 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
25030 all 8 functions. Otherwise, probe function 0 only.
25031
25032 2008-04-04 Pavel Roskin <proski@gnu.org>
25033
25034 * commands/lspci.c (grub_lspci_iter): Print the bus number
25035 correctly.
25036
25037 * commands/lspci.c (grub_pci_classes): Fix typos.
25038 (grub_lspci_iter): Don't print func twice. Print vendor ID
25039 before device ID, as it's normally done.
25040
25041 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
25042 Fix signedness warnings.
25043 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
25044 Likewise.
25045 * util/ieee1275/get_disk_name.c: Include config.h so that
25046 _GNU_SOURCE is defined and getline() is declared. Mark an
25047 unused argument as such. Fix a signedness warning.
25048
25049 2008-04-02 Pavel Roskin <proski@gnu.org>
25050
25051 * genkernsyms.sh.in: Use more robust assignments for CC and
25052 srcdir. Quote srcdir.
25053 * gensymlist.sh.in: Likewise. Assert at the compile time that
25054 the symbol table is not empty.
25055
25056 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
25057 * fs/cpio.c (grub_cpio_read): Likewise.
25058
25059 2008-04-01 Pavel Roskin <proski@gnu.org>
25060
25061 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
25062 * disk/host.c (grub_host_open): Likewise.
25063 * disk/loopback.c (grub_loopback_open): Likewise.
25064 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
25065 disk->id as in disk/host.c, not a multi-character constant.
25066
25067 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
25068 later is obsolete, potentially dangerous and sets a bad example.
25069 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
25070 * util/misc.c (grub_util_get_image_size): Likewise.
25071
25072 * disk/loopback.c (options): Improve help for "--partitions".
25073
25074 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
25075 options to align them with the short options, e.g. "echo -e".
25076
25077 2008-03-31 Bean <bean123ch@gmail.com>
25078
25079 * video/reader/png.c (grub_png_data): New member is_16bit and
25080 image_data.
25081 (grub_png_decode_image_header): Detect 16 bit png image.
25082 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
25083 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
25084 (grub_video_reader_png): Release memory occupied by image_data.
25085
25086 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
25087 4096 bytes.
25088 (grub_nfs_mount): Skip the test for sector per cluster.
25089
25090 * include/grub/ntfs.h (MAX_SPC): Removed.
25091
25092 2008-03-31 Bean <bean123ch@gmail.com>
25093
25094 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
25095 (grub_probe_SOURCES): Add fs/afs.c.
25096 (grub_fstest_SOURCES): Likewise.
25097 (afs_mod_SOURCES): New variable.
25098 (afs_mod_CFLAGS): Likewise.
25099 (afs_mod_LDFLAGS): Likewise.
25100
25101 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
25102 (grub_emu_SOURCES): Likewise.
25103
25104 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25105
25106 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25107
25108 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25109
25110 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25111
25112 * fs/afs.c: New file.
25113
25114 2008-03-30 Pavel Roskin <proski@gnu.org>
25115
25116 * disk/host.c: Include grub/misc.h to fix a warning.
25117 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
25118 warnings about implicit declarations.
25119
25120 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
25121 variable.
25122 * include/grub/i386/loader.h: Change declaration of
25123 grub_linux_boot() to match what grub_loader_set() expects.
25124 * util/getroot.c (grub_guess_root_device): Return const char* to
25125 fix a warning.
25126 * util/grub-probe.c (probe): Fix a warning about uninitialized
25127 abstraction_name variable.
25128 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
25129 second argument as unused to fix a warning.
25130
25131 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
25132 missing grub_error() call.
25133
25134 * util/update-grub_lib.in: Define datarootdir, since Autoconf
25135 2.60 and newer uses it to define datadir.
25136
25137 * commands/sleep.c: Fix warning about implicit declaration.
25138 * disk/memdisk.c: Likewise.
25139 * loader/aout.c: Likewise.
25140 * loader/i386/bsd_normal.c: Likewise.
25141 * util/grub-probe.c: Likewise.
25142
25143 * commands/i386/cpuid.c (has_longmode): Make static.
25144 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
25145 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
25146
25147 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
25148 GDT. This is more robust, as %ds can change.
25149 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
25150 calling real_to_prot().
25151 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
25152
25153 2008-03-28 Pavel Roskin <proski@gnu.org>
25154
25155 * kern/i386/pc/startup.S: Assert that uncompressed functions
25156 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
25157 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
25158 code, as they push parts of the code (error handlers) beyond
25159 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
25160 code as correctness and size.
25161
25162 2008-03-28 Pavel Roskin <proski@gnu.org>
25163
25164 * kern/i386/pc/startup.S
25165 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
25166 data block address to the real mode, keep offset minimal. This
25167 works around a bug in AWARD BIOS on old Athlon systems, which
25168 makes CD detection hang.
25169
25170 2008-03-26 Pavel Roskin <proski@gnu.org>
25171
25172 * normal/color.c (grub_parse_color_name_pair): Make `name' a
25173 const.
25174 * include/grub/normal.h: Add grub_parse_color_name_pair()
25175 declaration.
25176
25177 2008-03-24 Bean <bean123ch@gmail.com>
25178
25179 * disk/i386/pc/biosdisk.c (cd_start): Removed.
25180 (cd_count): Removed.
25181 (cd_drive): New variable.
25182 (grub_biosdisk_get_drive): Don't check for (cdN) device.
25183 (grub_biosdisk_call_hook): Likewise.
25184 (grub_biosdisk_iterate): Change cdrom detection method.
25185 (grub_biosdisk_open): Replace cd_start with cd_drive.
25186 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
25187 detect cdrom device.
25188
25189 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
25190 Removed.
25191 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
25192 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
25193 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
25194 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
25195 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
25196 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
25197 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
25198 (grub_biosdisk_cdrp): New structure.
25199 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
25200
25201 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
25202
25203 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
25204 device.
25205
25206 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
25207 New function.
25208
25209 2008-03-20 Robert Millan <rmh@aybabtu.com>
25210
25211 Remove 2 TiB limit in ata.mod.
25212 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
25213 (grub_ata_dumpinfo): Print sector count with 0x%llx.
25214 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
25215 grub_uint64_t instead of grub_uint32_t.
25216
25217 2008-03-05 Bean <bean123ch@gmail.com>
25218
25219 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
25220 (grub_multiboot): Set boot device.
25221
25222 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
25223
25224 2008-03-02 Bean <bean123ch@gmail.com>
25225
25226 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
25227 symlink_buffer.
25228
25229 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
25230
25231 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
25232 texinfo.tex.
25233
25234 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
25235 modified.
25236
25237 * docs/fdl.texi: New file.
25238
25239 * docs/mdate-sh: New file. Copied from gnulib.
25240 * docs/texinfo.tex: Likewise.
25241
25242 * config.guess: Updated from gnulib.
25243 * install-sh: Likewise.
25244
25245 2008-02-28 Robert Millan <rmh@aybabtu.com>
25246
25247 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
25248 (aout_mod_SOURCES): New variable.
25249 (aout_mod_CFLAGS): Likewise.
25250 (aout_mod_LDFLAGS): Likewise.
25251
25252 * conf/i386-ieee1275.rmk: Likewise.
25253
25254 2008-02-28 Robert Millan <rmh@aybabtu.com>
25255
25256 * util/update-grub.in: Reorganise terminal validity check. Accept
25257 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
25258 Based on suggestion by Franklin PIAT.
25259
25260 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
25261
25262 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
25263 function.
25264 * util/getroot.c (grub_util_check_block_device): New function that
25265 returns the given argument if it is a block device and returns NULL else.
25266 * util/grub-probe.c (argument_is_device): New variable.
25267 (probe): Promote device_name from a variable to an argument. Receive
25268 device_name from grub_util_check_block_device() if path is NULL and from
25269 grub_guess_root_device() else. Do not free() device_name anymore.
25270 (options): Introduce new parameter '-d, --device'.
25271 (main): Add description of the new parameter to the help screen.
25272 Rename path variable to argument. Set argument_is_device if the '-d'
25273 option is given. Pass argument to probe() depending on
25274 argument_is_device.
25275
25276 2008-02-24 Bean <bean123ch@gmail.com>
25277
25278 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
25279 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
25280 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
25281 (GRUB_ISO9660_VOLDESC_PART): Likewise.
25282 (GRUB_ISO9660_VOLDESC_END): Likewise.
25283 (grub_iso9660_primary_voldesc): New member escape.
25284 (grub_iso9660_data): New member joliet.
25285 (grub_iso9660_convert_string): New function.
25286 (grub_iso9660_mount): Detect joliet extension.
25287 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
25288 (grub_iso9660_iso9660_label): Likewise.
25289
25290 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
25291 (grub_setup_SOURCES): Add fs/udf.c.
25292 (grub_fstest_SOURCES): Likewise.
25293 (udf_mod_SOURCES): New variable.
25294 (udf_mod_CFLAGS): Likewise.
25295 (udf_mod_LDFLAGS): Likewise.
25296
25297 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
25298 (grub_emu_SOURCES): Likewise.
25299
25300 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25301
25302 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25303
25304 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25305
25306 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25307
25308 * fs/udf.c: New file.
25309
25310 2008-02-24 Robert Millan <rmh@aybabtu.com>
25311
25312 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
25313 (normal/lexer.c_DEPENDENCIES): New variables.
25314 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25315 (normal/lexer.c_DEPENDENCIES): Likewise.
25316 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
25317 (normal/lexer.c_DEPENDENCIES): Likewise.
25318 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
25319 (normal/lexer.c_DEPENDENCIES): Likewise.
25320 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25321 (normal/lexer.c_DEPENDENCIES): Likewise.
25322 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25323 (normal/lexer.c_DEPENDENCIES): Likewise.
25324
25325 2008-02-23 Robert Millan <rmh@aybabtu.com>
25326
25327 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
25328 since they were intended to be in hex. This didn't break previously
25329 because of a bug in gpt_partition_map_iterate() (see below).
25330
25331 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
25332 when checking the validity of GPT header.
25333 Remove `partno', since it always provides the same information as `i'.
25334
25335 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
25336
25337 * include/grub/efi/time.h: Fix a wrong comment.
25338
25339 2008-02-19 Pavel Roskin <proski@gnu.org>
25340
25341 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
25342 message.
25343
25344 2008-02-19 Bean <bean123ch@gmail.com>
25345
25346 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
25347 (aout_mod_SOURCES): New variable.
25348 (aout_mod_CFLAGS): Likewise.
25349 (aout_mod_LDFLAGS): Likewise.
25350 (_bsd_mod_SOURCES): New variable.
25351 (_bsd_mod_CFLAGS): Likewise.
25352 (_bsd_mod_LDFLAGS): Likewise.
25353 (bsd_mod_SOURCES): New variable.
25354 (bsd_mod_CFLAGS): Likewise.
25355 (bsd_mod_LDFLAGS): Likewise.
25356
25357 * include/grub/aout.h: New file.
25358
25359 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
25360
25361 * include/grub/i386/bsd.h: New file.
25362
25363 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
25364 to make it public.
25365
25366 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
25367 function is called, so that it's possible to change it inside the hook.
25368 (grub_elf64_load): Likewise.
25369 (grub_elf_file): Don't close the file if elf header is not found.
25370 (grub_elf_close): Close the file if grub_elf_file fails (The new
25371 grub_elf_file won't close it).
25372 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
25373 (grub_elf64_size): Likewise.
25374
25375 * kern/i386/loader.S (grub_unix_real_boot): New function.
25376
25377 * loader/aout.c: New file.
25378
25379 * loader/i386/bsd.c: New file.
25380
25381 * loader/i386/bsd_normal.c: New file.
25382
25383 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
25384
25385 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
25386 can test other formats.
25387
25388 2008-02-19 Robert Millan <rmh@aybabtu.com>
25389
25390 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
25391 (grub_gpt_partition_type_empty): Redefine with macro from
25392 `<grub/gpt_partition.h>'.
25393 (gpt_partition_map_iterate): Adjust partition type comparison.
25394
25395 Export `entry' as partmap-specific `part.data' struct.
25396 (grub_gpt_header, grub_gpt_partentry): Move from here ...
25397
25398 * include/grub/gpt_partition.h (grub_gpt_header)
25399 (grub_gpt_partentry): ... to here (new file).
25400
25401 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
25402
25403 (grub_gpt_partition_type_bios_boot): New const variable, defined
25404 with macro from `<grub/gpt_partition.h>'.
25405
25406 (setup): Replace `first_start' with `embed_region', which keeps
25407 track of the embed region (and is partmap-agnostic).
25408
25409 Replace find_first_partition_start() with find_usable_region(),
25410 which finds a usable region for embedding using partmap-specific
25411 knowledge (supports PC/MSDOS and GPT).
25412
25413 Fix all assumptions that the embed region start at sector 1, using
25414 `embed_region.start' from now on. Similarly, use `embed_region.end'
25415 rather than `first_start' to calculate available size.
25416
25417 In grub_util_info() message, replace "into after the MBR" with an
25418 indication of the specific sector our embed region starts at.
25419
25420 2008-02-19 Robert Millan <rmh@aybabtu.com>
25421
25422 * DISTLIST: Replace `commands/ieee1275/halt.c' and
25423 `commands/ieee1275/reboot.c' with `commands/halt.c' and
25424 `commands/reboot.c'.
25425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25426 (halt_mod_SOURCES): Likewise.
25427 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25428 (halt_mod_SOURCES): Likewise.
25429
25430 2008-02-17 Christian Franke <franke@computer.org>
25431
25432 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
25433
25434 2008-02-17 Robert Millan <rmh@aybabtu.com>
25435
25436 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25437 set `first_start' to 0 for non-PC/MSDOS partition maps.
25438
25439 2008-02-16 Robert Millan <rmh@aybabtu.com>
25440
25441 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25442 do not assume partition map is PC/MSDOS before performing checks that
25443 are specific to that layout.
25444
25445 2008-02-13 Robert Millan <rmh@aybabtu.com>
25446
25447 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
25448 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
25449 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
25450
25451 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
25452
25453 * configure.ac: Only a cosmetic change on the handling of
25454 -fno-stack-protector.
25455
25456 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
25457
25458 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
25459 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
25460 reboot.c.
25461 (grub_install_SOURCES): Add halt.mod and reboot.mod.
25462 (halt_mod_SOURCES): New variable.
25463 (halt_mod_CFLAGS): Likewise.
25464 (halt_mod_LDFLAGS): Likewise.
25465 (reboot_mod_SOURCES): Likewise.
25466 (reboot_mod_CFLAGS): Likewise.
25467 (reboot_mod_LDFLAGS): Likewise.
25468
25469 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
25470 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
25471 reboot.c.
25472 (halt_mod_SOURCES): Likewise.
25473 (reboot_mod_SOURCES): Likewise.
25474
25475 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
25476 commands/i386/pc/reboot.c by commands/reboot.c.
25477 (reboot_mod_SOURCES): Likewise.
25478
25479 * commands/i386/pc/reboot.c: merge this file ...
25480
25481 * commands/ieee1275/reboot.c: ... and this file ...
25482
25483 * commands/reboot.c: ... to this file.
25484 Add some precompiler directive to include the correct header for
25485 each machine.
25486
25487 * commands/ieee1275/halt.c: move this file ...
25488
25489 * commands/halt.c: ... to here.
25490 Add some precompiler directive to include the correct header for
25491 each machine.
25492
25493 * include/grub/efi/efi.h (grub_reboot): New function declaration.
25494 (grub_halt): Likewise.
25495
25496 * kern/efi/efi.c (grub_reboot): New function.
25497 (grub_halt): Likewise.
25498
25499 2008-02-12 Robert Millan <rmh@aybabtu.com>
25500
25501 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
25502 /dev (like it is done for /dev/mapper). This doesn't provide support
25503 for EVMS, but at least it is now easy to identify the problem when it
25504 arises.
25505
25506 2008-02-11 Robert Millan <rmh@aybabtu.com>
25507
25508 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
25509 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
25510 comparing it with -1, not 0.
25511
25512 2008-02-10 Robert Millan <rmh@aybabtu.com>
25513
25514 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
25515 `disk/lvm.c'.
25516 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25517 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25518
25519 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
25520 `disk/lvm.c' to the end of the list.
25521 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25522 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25523
25524 2008-02-10 Robert Millan <rmh@aybabtu.com>
25525
25526 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
25527 grub_print_error() instead. This will let user know why we're entering
25528 rescue mode.
25529 Based on suggestions from Sam Morris.
25530
25531 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
25532
25533 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
25534 on remaining N args, instead of "--" arg N times.
25535
25536 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
25537
25538 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
25539 (fill_with_default_glyph): Changed to use unknown_glyph for fill
25540 pattern for unknown glyphs.
25541
25542 2008-02-09 Robert Millan <rmh@aybabtu.com>
25543
25544 * configure.ac: Probe for `help2man'.
25545 * Makefile.in (builddir): New variable.
25546 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
25547 or otherwise add a few flags/options to it.
25548 (install-local): For every executable utility or script that is
25549 installed, invoke $(HELP2MAN) to install a manpage based on --help
25550 output.
25551
25552 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
25553 that it doesn't prevent --help from working in build tree.
25554
25555 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
25556 with `bug-grub@gnu.org'.
25557 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
25558 * util/update-grub.in (usage): New function.
25559 Implement proper argument check, with support for --help and --version
25560 (as well as existing -y).
25561
25562 2008-02-09 Christian Franke <franke@computer.org>
25563
25564 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
25565 avoid overwriting previous output.
25566 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
25567
25568 2008-02-09 Robert Millan <rmh@aybabtu.com>
25569
25570 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
25571 drawing the menu.
25572
25573 2008-02-09 Robert Millan <rmh@aybabtu.com>
25574
25575 * commands/sleep.c: New file.
25576 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
25577 (sleep_mod_SOURCES): New variable.
25578 (sleep_mod_CFLAGS): Likewise.
25579 (sleep_mod_LDFLAGS): Likewise.
25580
25581 2008-02-09 Robert Millan <rmh@aybabtu.com>
25582
25583 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
25584 situations in which we can deduce the RAID size and the superblock
25585 doesn't match it.
25586
25587 2008-02-09 Robert Millan <rmh@aybabtu.com>
25588
25589 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
25590 and return a grub_diskmemberlist_t composed of LVM physical volumes.
25591 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
25592
25593 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
25594 and return a grub_diskmemberlist_t composed of physical array members.
25595 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
25596
25597 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
25598 prototype.
25599 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
25600 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
25601 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
25602
25603 * util/grub-probe.c (probe): Move partmap probing code from here ...
25604 (probe_partmap): ... to here.
25605 (probe): Use probe_partmap() once for the disk we're probing, and
25606 additionally, when such disk contains a memberlist() struct member,
25607 once for each disk that is contained in the structure returned by
25608 memberlist().
25609
25610 2008-02-09 Robert Millan <rmh@aybabtu.com>
25611
25612 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
25613 environment variable to 'all' in order to obtain debug output from
25614 non-util/ code.
25615 * util/i386/pc/grub-setup.c (main): Likewise.
25616
25617 2008-02-08 Robert Millan <rmh@aybabtu.com>
25618
25619 * disk/raid.c (grub_raid_scan_device): Check for
25620 `array->device[sb.this_disk.number]' rather than for
25621 `array->device[sb.this_disk.number]->name', since the latter is not
25622 guaranteed to be accessible.
25623
25624 2008-02-08 Robert Millan <rmh@aybabtu.com>
25625
25626 * disk/raid.c: Update copyright.
25627 * fs/cpio.c: Likewise.
25628 * include/grub/raid.h: Likewise.
25629 * loader/i386/pc/multiboot.c: Likewise.
25630 * util/hostfs.c: Likewise.
25631
25632 2008-02-08 Robert Millan <rmh@aybabtu.com>
25633
25634 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
25635 to a grub_disk_t array.
25636 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
25637 `device[x]'.
25638 (grub_raid_scan_device): Replace `device[x].name' accesses with
25639 `device[x]->name'. Simplify initialization of `array->device[x]'.
25640
25641 2008-02-08 Robert Millan <rmh@aybabtu.com>
25642
25643 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
25644 grub_dprintf() calls.
25645 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
25646 error message.
25647
25648 2008-02-07 Christian Franke <franke@computer.org>
25649
25650 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
25651 instead of fseek and ftell to support large files.
25652 (grub_hostfs_read): Likewise.
25653
25654 2008-02-07 Robert Millan <rmh@aybabtu.com>
25655
25656 Patch from Jeroen Dekkers.
25657 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
25658 failure, since successfully reading all array members might not be
25659 required.
25660
25661 2008-02-06 Robert Millan <rmh@aybabtu.com>
25662
25663 * util/grub-probe.c (probe): Simplify partmap probing (with the
25664 assumption that the first word up to the underscore equals to
25665 the module name).
25666
25667 2008-02-06 Christian Franke <franke@computer.org>
25668
25669 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
25670 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
25671 last block of a cpio or tar stream.
25672 Check for "TRAILER!!!" instead of any empty data
25673 block to detect last block of a cpio stream.
25674 (grub_cpio_dir): Fix constness of variable np.
25675 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
25676 cpio or tar trailer is detected. This fixes a crash
25677 on open of a non existing file.
25678
25679 2008-02-05 Bean <bean123ch@gmail.com>
25680
25681 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
25682 address of entry.
25683 (grub_multiboot_load_elf64): Likewise.
25684 (grub_multiboot): Initialize mbi structure.
25685
25686 * util/grub-fstest.c: Don't include unused header file script.h.
25687
25688 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
25689 of file.
25690 (grub_fstest_SOURCES): Likewise.
25691
25692 2008-02-05 Robert Millan <rmh@aybabtu.com>
25693
25694 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
25695 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
25696 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
25697 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
25698
25699 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
25700 (translation_table): Replace hardcoded values with macros
25701 provided by `<grub/term.h>'.
25702
25703 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
25704 (keyboard_map): Correct/add a few values, with macros provided
25705 by `<grub/term.h>'.
25706 (keyboard_map_shift): Zero values that don't differ from their
25707 `keyboard_map' equivalents.
25708 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
25709 Discard the second scan code that is always sent by Caps lock.
25710 Only use `keyboard_map_shift' when it provides a non-zero value,
25711 otherwise fallback to `keyboard_map'.
25712
25713 2008-02-04 Bean <bean123ch@gmail.com>
25714
25715 * Makefile.in (enable_grub_fstest): New variable.
25716
25717 * conf/common.rmk (grub_fstest_init.lst): New rule.
25718 (grub_fstest_init.h): Likewise.
25719 (grub_fstest_init.c): Likewise.
25720 (util/grub-fstest.c_DEPENDENCIES): New variable.
25721 (grub_fstest_SOURCES): Likewise.
25722
25723 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
25724
25725 * util/grub-fstest.c: New file.
25726
25727 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25728
25729 Make grub-setup handle a separate root device.
25730
25731 * util/i386/pc/grub-setup.c (setup): Always open the root device,
25732 so that the root device can be compared with the destination
25733 device.
25734 When embedding the core image, if the root and destination devices
25735 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
25736 0xFF.
25737 When not embedding, set ROOT_DRIVE to 0xFF.
25738
25739 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25740
25741 Add support for having a grub directory in a different drive. This
25742 is still only the data handling part.
25743
25744 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
25745 (codestart): Save %dh in GRUB_ROOT_DRIVE.
25746 (grub_root_drive): New variable.
25747
25748 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
25749 instead of GRUB_BOOT_DRIVE to construct a device name. Set
25750 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
25751 as it was.
25752
25753 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
25754
25755 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
25756 macro.
25757 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
25758
25759 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
25760 is bogus, because PXE booting does not specify any drive
25761 correctly.
25762
25763 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
25764 am not sure if this is really correct.
25765
25766 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
25767 is always identical to the boot drive when booting from a CD.
25768
25769 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
25770 longer.
25771 (root_drive): New variable.
25772 (real_start): Unconditionally set %dh to ROOT_DRIVE.
25773 (setup_sectors): Push %dx right after popping it, because %dh will
25774 be modified later.
25775 (copy_buffer): Restore %dx.
25776
25777 2008-02-03 Robert Millan <rmh@aybabtu.com>
25778
25779 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
25780 use `cdboot.img' for cdrom images.
25781
25782 2008-02-03 Robert Millan <rmh@aybabtu.com>
25783
25784 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
25785 only setup gfxterm when `font' command has succeeded.
25786
25787 2008-02-03 Robert Millan <rmh@aybabtu.com>
25788
25789 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
25790 (grub_rescue_cmd_multiboot_loader)
25791 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
25792
25793 2008-02-03 Pavel Roskin <proski@gnu.org>
25794
25795 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
25796 %edx and %esi from stack only after grub_gate_a20() is called.
25797 grub_gate_a20() clobbers %edx.
25798
25799 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25800
25801 * configure.ac (AC_INIT): Bumped to 1.96.
25802
25803 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
25804 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
25805 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
25806 video/readers/png.c.
25807
25808 2008-02-03 Bean <bean123ch@gmail.com>
25809
25810 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
25811 (cdboot_img_SOURCES): New variable.
25812 (cdboot_img_ASFLAGS): New variable.
25813 (cdboot_img_LDFLAGS): New variable.
25814
25815 * boot/i386/pc/cdboot.S: New file.
25816
25817 * disk/i386/pc/biosdisk.c (cd_start): New variable.
25818 (cd_count): Likewise.
25819 (grub_biosdisk_get_drive): Add support for cd device.
25820 (grub_biosdisk_call_hook): Likewise.
25821 (grub_biosdisk_iterate): Likewise.
25822 (grub_biosdisk_open): Likewise.
25823 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
25824 (grub_biosdisk_rw): Support reading from cd device.
25825 (GRUB_MOD_INIT): Iterate cd devices.
25826
25827 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
25828 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
25829 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
25830
25831 * kern/i386/pc/init.c (make_install_device): Check for cd device.
25832
25833 2008-02-02 Robert Millan <rmh@aybabtu.com>
25834
25835 * commands/read.c: New file.
25836 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
25837 (read_mod_SOURCES): New variable.
25838 (read_mod_CFLAGS): Likewise.
25839 (read_mod_LDFLAGS): Likewise.
25840
25841 2008-02-02 Robert Millan <rmh@aybabtu.com>
25842
25843 * normal/main.c (grub_normal_execute): Check for `menu->size' when
25844 determining whether menu has to be displayed.
25845
25846 2008-02-02 Marco Gerards <marco@gnu.org>
25847
25848 * bus/pci.c: New file.
25849
25850 * include/grub/pci.h: Likewise.
25851
25852 * include/grub/i386/pc/pci.h: Likewise.
25853
25854 * commands/lspci.c: Likewise.
25855
25856 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
25857 `lspci.mod'.
25858 (pci_mod_SOURCES): New variable.
25859 (pci_mod_CFLAGS): Likewise.
25860 (pci_mod_LDFLAGS): Likewise.
25861 (lspci_mod_SOURCES): Likewise.
25862 (lspci_mod_CFLAGS): Likewise.
25863 (lspci_mod_LDFLAGS): Likewise.
25864
25865 2008-02-02 Bean <bean123ch@gmail.com>
25866
25867 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
25868 (grub_ufs_get_file_block): Fix indirect block calculation problem.
25869
25870 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
25871 (grub_xfs_btree_node): New structure.
25872 (grub_xfs_btree_root): New structure.
25873 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
25874 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
25875 (GRUB_XFS_EXTENT_BLOCK): Likewise.
25876 (GRUB_XFS_EXTENT_SIZE): Likewise.
25877 (grub_xfs_read_block): Support btree format type.
25878 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
25879 Use directory block as basic unit.
25880
25881 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
25882
25883 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
25884 __attribute__ ((__regparm__ (1))).
25885
25886 2008-02-01 Robert Millan <rmh@aybabtu.com>
25887
25888 Correct a mistake in previous commit.
25889
25890 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
25891 top.
25892 (normal/command.c_DEPENDENCIES): New variable.
25893
25894 2008-02-01 Robert Millan <rmh@aybabtu.com>
25895
25896 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
25897 top.
25898 (normal/command.c_DEPENDENCIES): New variable.
25899 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
25900 * conf/i386-ieee1275.rmk: Likewise.
25901 * conf/i386-linuxbios.rmk: Likewise.
25902 * conf/i386-pc.rmk: Likewise.
25903 * conf/sparc64-ieee1275.rmk: Likewise.
25904 * conf/powerpc-ieee1275.rmk: Likewise.
25905 (grub_emu_SOURCES): Add `fs/fshelp.c'.
25906
25907 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
25908
25909 2008-02-01 Robert Millan <rmh@aybabtu.com>
25910
25911 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
25912 call at beginning of function.
25913
25914 2008-01-31 Pavel Roskin <proski@gnu.org>
25915
25916 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
25917 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
25918 (grub_mkrescue_SOURCES): Likewise.
25919 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
25920
25921 2008-01-30 Robert Millan <rmh@aybabtu.com>
25922
25923 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
25924 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
25925 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
25926 (grub_probe_SOURCES): ... to here.
25927
25928 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
25929 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
25930 * conf/i386-ieee1275.rmk: Likewise.
25931 * conf/i386-linuxbios.rmk: Likewise.
25932 * conf/powerpc-ieee1275.rmk: Likewise.
25933
25934 2008-01-30 Tristan Gingold <gingold@free.fr>
25935
25936 * kern/rescue.c: Silently accept empty lines.
25937
25938 2008-01-29 Bean <bean123ch@gmail.com>
25939
25940 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
25941 (real_code_2): Code cleanup and change comment style.
25942 (move_memory): Avoid using 32-bit address mode.
25943
25944 2008-01-29 Bean <bean123ch@gmail.com>
25945
25946 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
25947 (png_mod_SOURCES): New variable.
25948 (png_mod_CFLAGS): Likewise.
25949 (png_mod_LDFLAGS): Likewise.
25950
25951 * video/readers/png.c: New file.
25952
25953 2008-01-28 Robert Millan <rmh@aybabtu.com>
25954
25955 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
25956 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
25957 `ifndef GRUB_MOD_GAP' hack.
25958 * util/elf/grub-mkimage.c (add_segments): Likewise.
25959
25960 2008-01-27 Robert Millan <rmh@aybabtu.com>
25961
25962 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
25963 `GRUB_MOD_GAP' for platforms in which it's not defined.
25964 * util/elf/grub-mkimage.c (add_segments): Likewise.
25965
25966 2008-01-27 Robert Millan <rmh@aybabtu.com>
25967
25968 Get grub-emu to build again (including parallel builds).
25969
25970 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
25971 Split into ...
25972 (util/grub-emu.c_DEPENDENCIES): ... this, ...
25973 (normal/execute.c_DEPENDENCIES): ... this, ...
25974 (grub-emu_DEPENDENCIES): ... and this.
25975
25976 * conf/i386-efi.rmk: Likewise.
25977 * conf/i386-linuxbios.rmk: Likewise.
25978 * conf/i386-ieee1275.rmk: Likewise.
25979 * conf/powerpc-ieee1275.rmk: Likewise.
25980 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
25981
25982 2008-01-27 Robert Millan <rmh@aybabtu.com>
25983
25984 * NEWS: Add a few items.
25985
25986 2008-01-27 Robert Millan <rmh@aybabtu.com>
25987
25988 Fix parallel builds with grub-emu. Based on earlier commit for
25989 grub-probe and grub-setup.
25990
25991 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25992 (util/grub-emu.c_DEPENDENCIES): ... this.
25993 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25994 (util/grub-emu.c_DEPENDENCIES): ... this.
25995 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25996 (util/grub-emu.c_DEPENDENCIES): ... this.
25997 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25998 (util/grub-emu.c_DEPENDENCIES): ... this.
25999 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26000 (util/grub-emu.c_DEPENDENCIES): ... this.
26001
26002 2008-01-27 Pavel Roskin <proski@gnu.org>
26003
26004 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
26005 to create a gap between _end and the modules added to the image
26006 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
26007 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
26008 * util/elf/grub-mkimage.c (add_segments): Likewise.
26009
26010 2008-01-26 Pavel Roskin <proski@gnu.org>
26011
26012 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
26013 just return an error.
26014
26015 2008-01-26 Bean <bean123ch@gmail.com>
26016
26017 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
26018 (grub_reiserfs_get_item): Save offset of the next item.
26019 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
26020
26021 2008-01-25 Robert Millan <rmh@aybabtu.com>
26022
26023 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
26024 make all filesystem sources appear together (possibly fixing omissions
26025 while at it).
26026 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26027 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26028 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26029 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26030
26031 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
26032 add `kern/file.c'.
26033 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
26034 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26035 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
26036 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26037
26038 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
26039 (probe): Add a sanity check to make sure of our ability to read
26040 requested files when probing for filesystem type.
26041
26042 * genmk.rb: Update copyright year (2007).
26043
26044 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
26045 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
26046 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
26047 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
26048 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
26049 : Remove function prototypes.
26050
26051 2008-01-25 Robert Millan <rmh@aybabtu.com>
26052
26053 Revert my previous commits (based on wrong assumption of how grub_errno
26054 works).
26055
26056 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
26057 * kern/file.c (grub_file_open): Likewise.
26058
26059 2008-01-24 Pavel Roskin <proski@gnu.org>
26060
26061 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
26062 that hang if GRUB tries to setup colors.
26063 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
26064 colors for firmwares that don't support it.
26065 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
26066 Recognize Open Hack'Ware, set flags to work around its
26067 limitations.
26068
26069 2008-01-24 Robert Millan <rmh@aybabtu.com>
26070
26071 * kern/file.c (grub_file_open): Do not account previous failures of
26072 unrelated functions when grub_errno is checked for.
26073 Reported by Oleg Strikov.
26074
26075 2008-01-24 Bean <bean123ch@gmail.com>
26076
26077 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
26078 (grub_ufs_sblock): New member volume name.
26079 (grub_ufs_find_file): Fix string copy bug.
26080 (grub_ufs_label): Implement this function properly.
26081
26082 * fs/hfs.c (grub_hfs_cnid_type): New enum.
26083 (grub_hfs_iterate_records): Use the correct file number for extents
26084 and catalog file. Fix problem in next index calculation.
26085 (grub_hfs_find_node): Replace recursive function call with loop.
26086 (grub_hfs_iterate_dir): Replace recursive function call with loop.
26087
26088 2008-01-23 Robert Millan <rmh@aybabtu.com>
26089
26090 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
26091 `<grub/symbol.h>' and `<grub/multiboot.h>'.
26092 (grub_multiboot2_real_boot): New function prototype.
26093
26094 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
26095 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
26096
26097 * kern/i386/ieee1275/init.c (grub_os_area_addr)
26098 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
26099
26100 2008-01-23 Robert Millan <rmh@aybabtu.com>
26101
26102 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
26103 #ifdef'ed out grub_printf().
26104
26105 2008-01-23 Robert Millan <rmh@aybabtu.com>
26106
26107 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
26108 grub_dprintf calls, since they make "debug=all" mode unusable.
26109 (grub_console_checkkey): Likewise.
26110
26111 2008-01-23 Robert Millan <rmh@aybabtu.com>
26112
26113 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26114 `term/i386/pc/at_keyboard.c'.
26115 (pkglib_MODULES): Add `serial.mod'.
26116 (serial_mod_SOURCES): New variable.
26117 (serial_mod_CFLAGS): Likewise.
26118 (serial_mod_LDFLAGS): Likewise.
26119
26120 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
26121 `<grub/powerpc/ieee1275/console.h>'.
26122 (grub_keyboard_controller_init): New function prototype.
26123 (grub_console_checkkey): Likewise.
26124 (grub_console_getkey): Likewise.
26125
26126 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
26127 keyboard on i386.
26128
26129 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
26130 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
26131
26132 2008-01-23 Robert Millan <rmh@aybabtu.com>
26133
26134 * kern/i386/pc/init.c (make_install_device): When memdisk image is
26135 present, "(memdisk)/boot/grub" becomes the default prefix.
26136
26137 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
26138 a memdisk tarball with all the modules. Add --overlay=DIR option that
26139 allows users to overlay additional files into the image.
26140
26141 2008-01-23 Robert Millan <rmh@aybabtu.com>
26142
26143 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
26144 and `machine/memory.h'.
26145 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
26146 (_multiboot_mod_SOURCES): New variable.
26147 (_multiboot_mod_CFLAGS): Likewise.
26148 (_multiboot_mod_LDFLAGS): Likewise.
26149 (multiboot_mod_SOURCES): Likewise.
26150 (multiboot_mod_CFLAGS): Likewise.
26151 (multiboot_mod_LDFLAGS): Likewise.
26152
26153 * include/grub/i386/ieee1275/loader.h: New file.
26154
26155 * include/grub/i386/ieee1275/machine.h: Likewise.
26156
26157 * include/grub/i386/ieee1275/memory.h: Likewise.
26158
26159 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
26160 variable declaration.
26161 (grub_os_area_size): Likewise.
26162
26163 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
26164 (grub_lower_mem, grub_upper_mem): New variables.
26165 (grub_stop_floppy): New function (just to make
26166 grub_multiboot2_real_boot() happy).
26167
26168 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
26169 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
26170 (grub_stop): New function.
26171 Include `"../realmode.S"' and `"../loader.S"'.
26172
26173 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
26174 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
26175
26176 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
26177 rely on grub_multiboot2_real_boot() for final boot.
26178
26179 2008-01-22 Robert Millan <rmh@aybabtu.com>
26180
26181 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
26182 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
26183 device that doesn't look like an SD card.
26184 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26185 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
26186 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
26187 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
26188 found.
26189
26190 2008-01-22 Robert Millan <rmh@aybabtu.com>
26191
26192 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
26193 avoid claiming over our own code.
26194
26195 2008-01-22 Bean <bean123ch@gmail.com>
26196
26197 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
26198 (jpeg_mod_SOURCES): New variable.
26199 (jpeg_mod_CFLAGS): Likewise.
26200 (jpeg_mod_LDFLAGS): Likewise.
26201
26202 * video/readers/jpeg.c : New file.
26203
26204 2008-01-22 Bean <bean123ch@gmail.com>
26205
26206 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
26207 there are no more items.
26208
26209 2008-01-21 Robert Millan <rmh@aybabtu.com>
26210
26211 * kern/mm.c (grub_mm_init_region): Improve debug message.
26212
26213 2008-01-21 Robert Millan <rmh@aybabtu.com>
26214
26215 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
26216 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
26217 address.
26218 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
26219 a C macro.
26220 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
26221 Indicates start of upper memory.
26222 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
26223 (generate_image): Abort when image size is big enough to corrupt
26224 upper memory.
26225
26226 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
26227 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
26228 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26229 instead of hardcoding 0xA0000.
26230 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
26231 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26232 instead of hardcoding 0xA0000.
26233
26234 2008-01-21 Robert Millan <rmh@aybabtu.com>
26235
26236 * disk/memdisk.c (memdisk_size): New variable.
26237 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
26238 `memdisk_size'.
26239 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
26240 image to dynamic memory.
26241 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
26242 `memdisk_size'. Free memdisk block.
26243
26244 2008-01-21 Robert Millan <rmh@aybabtu.com>
26245
26246 Fix detection of very small filesystems (like tar).
26247
26248 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
26249 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
26250 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
26251 a problem with this disk).
26252
26253 2008-01-21 Robert Millan <rmh@aybabtu.com>
26254
26255 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
26256 on grub_biosdisk_rw_standard() error.
26257
26258 2008-01-21 Robert Millan <rmh@aybabtu.com>
26259
26260 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
26261 recent changes.
26262 * kern/elf.c: Likewise.
26263 * kern/ieee1275/ieee1275.c: Likewise.
26264 * kern/powerpc/ieee1275/openfw.c: Likewise.
26265 * term/ieee1275/ofconsole.c: Likewise.
26266
26267 2008-01-21 Robert Millan <rmh@aybabtu.com>
26268
26269 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
26270
26271 * include/grub/kernel.h (grub_arch_memdisk_addr)
26272 (grub_arch_memdisk_size): Moved from here ...
26273
26274 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
26275 (grub_arch_memdisk_size): ... to here.
26276
26277 2008-01-21 Robert Millan <rmh@aybabtu.com>
26278
26279 Mostly based on bugfix from Bean.
26280
26281 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
26282 attribute with hook() parameter.
26283 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
26284 declaration.
26285 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
26286 attribute with hook() parameter.
26287 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
26288 declaration.
26289
26290 2008-01-21 Robert Millan <rmh@aybabtu.com>
26291
26292 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
26293 (pkglib_MODULES): Add `memdisk.mod'.
26294 (memdisk_mod_SOURCES): New variable.
26295 (memdisk_mod_CFLAGS): Likewise.
26296 (memdisk_mod_LDFLAGS): Likewise.
26297
26298 * disk/memdisk.c: New file.
26299
26300 * include/grub/disk.h (grub_disk_dev_id): Add
26301 `GRUB_DISK_DEVICE_MEMDISK_ID'.
26302
26303 * include/grub/i386/pc/kernel.h
26304 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
26305 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
26306 (grub_kernel_image_size): New variable declaration.
26307 (grub_total_module_size): Likewise.
26308 (grub_memdisk_image_size): Likewise.
26309
26310 * include/grub/i386/pc/memory.h
26311 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
26312
26313 * include/grub/kernel.h: Include `<grub/symbol.h>'.
26314 (grub_arch_memdisk_addr): New variable declaration.
26315 (grub_arch_memdisk_size): Likewise.
26316
26317 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
26318 (grub_arch_memdisk_size): Likewise.
26319
26320 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
26321 (codestart): Replace hardcoded `0x100000' with
26322 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
26323
26324 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
26325 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
26326 not NULL, append the contents of the file it refers to, at the end of
26327 the compressed kernel image. Initialize `grub_memdisk_image_size'
26328 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
26329 (options): Add "memdisk"|'m' option.
26330 (main): Parse --memdisk|-m option, and pass user-provided path as
26331 parameter to generate_image().
26332
26333 2008-01-20 Robert Millan <rmh@aybabtu.com>
26334
26335 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
26336 grub_dprintf() calls from here ...
26337 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
26338
26339 2008-01-20 Robert Millan <rmh@aybabtu.com>
26340
26341 Fix detection of "real mode" when /options/real-mode? doesn't exist.
26342
26343 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
26344 declaration.
26345 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
26346 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
26347 `GRUB_IEEE1275_FLAG_REAL_MODE'.
26348 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
26349 property).
26350 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
26351 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
26352
26353 2008-01-19 Robert Millan <rmh@aybabtu.com>
26354
26355 Get rid of confusing function (superseded by
26356 `grub_ieee1275_get_integer_property')
26357 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
26358 prototype.
26359 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
26360 function.
26361 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
26362 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
26363 in native endianness from grub_ieee1275_get_integer_property().
26364
26365 2008-01-19 Robert Millan <rmh@aybabtu.com>
26366
26367 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
26368 command after "shut-down", since implementations differ on which
26369 the command for halt is.
26370
26371 2008-01-19 Robert Millan <rmh@aybabtu.com>
26372
26373 * include/grub/i386/linuxbios/console.h: Add header protection.
26374 (grub_keyboard_controller_init): New function prototype.
26375 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
26376 (KEYBOARD_COMMAND_READ): Likewise.
26377 (KEYBOARD_COMMAND_WRITE): Likewise.
26378 (KEYBOARD_SCANCODE_SET1): Likewise.
26379 (grub_keyboard_controller_write): New function.
26380 (grub_keyboard_controller_read): Likewise.
26381 (grub_keyboard_controller_init): Likewise.
26382
26383 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
26384 (grub_console_init): On coreboot/LinuxBIOS, call
26385 grub_keyboard_controller_init().
26386
26387 2008-01-19 Robert Millan <rmh@aybabtu.com>
26388
26389 PowerPC changes provided by Pavel Roskin.
26390
26391 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
26392 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
26393 don't rely on cmain() doing it.
26394 * kern/i386/ieee1275/startup.S (_start): Store %eax in
26395 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
26396
26397 2008-01-16 Robert Millan <rmh@aybabtu.com>
26398
26399 * include/grub/i386/linuxbios/memory.h
26400 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
26401 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
26402 receive `table_header' as argument. Instead, probe for it in the
26403 known memory ranges where it can be present.
26404 (grub_available_iterate): Do not pass a fixed `table_header' address
26405 to grub_linuxbios_table_iterate().
26406
26407 2008-01-15 Robert Millan <rmh@aybabtu.com>
26408
26409 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
26410 * conf/i386-ieee1275.rmk: New file.
26411 * include/grub/i386/ieee1275/console.h: Likewise.
26412 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
26413 * include/grub/i386/ieee1275/kernel.h: Likewise.
26414 * include/grub/i386/ieee1275/time.h: Likewise.
26415 * kern/i386/ieee1275/init.c: Likewise.
26416 * kern/i386/ieee1275/startup.S: Likewise.
26417
26418 2008-01-15 Robert Millan <rmh@aybabtu.com>
26419
26420 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
26421 when pointers are 32-bit (but still do set it to one when they are
26422 64-bit).
26423
26424 2008-01-15 Robert Millan <rmh@aybabtu.com>
26425
26426 * include/grub/ieee1275/ieee1275.h
26427 (grub_ieee1275_get_integer_property): New function prototype.
26428
26429 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
26430 (grub_ieee1275_get_integer_property): New function. Wraps around
26431 grub_ieee1275_get_property() to handle endianness.
26432
26433 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
26434 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
26435 where appropriate.
26436 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
26437 (grub_map): Likewise.
26438 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
26439
26440 2008-01-15 Bean <bean123ch@gmail.com>
26441
26442 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
26443 (grub_script_execute_cmdline): Reset grub_errno.
26444
26445 * normal/main.c (read_config_file): Reset grub_errno.
26446
26447 * normal/parse.y (script_init): New.
26448 (script): Move function and menuentry here.
26449 (delimiter): New.
26450 (command): Add delimiter at the end of command.
26451 (commands): Adjust to match the new command.
26452 (commandblock): Remove grub_script_lexer_record_start.
26453 (menuentry): Add grub_script_lexer_record_start, use the new commands.
26454 (if): Use the new commands.
26455
26456 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
26457
26458 2008-01-15 Robert Millan <rmh@aybabtu.com>
26459
26460 * normal/menu.c (run_menu): Move timeout message from here ...
26461 (print_timeout): ... to here.
26462 (run_menu): Use print_timeout() once during initial draw to print
26463 the whole message, and again in every clock tick to update only
26464 the number of seconds.
26465
26466 2008-01-15 Robert Millan <rmh@aybabtu.com>
26467
26468 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
26469 actual size of `available' from grub_ieee1275_get_property(), and
26470 restrict parsing to that bound.
26471
26472 2008-01-15 Christian Franke <franke@computer.org>
26473
26474 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
26475 (argp_program_version): Remove variable.
26476 (argp_program_bug_address): Likewise.
26477 (options): Convert from struct argp_option to struct option.
26478 (struct arguments): Remove.
26479 (parse_opt): Remove.
26480 (usage): New function.
26481 (main): Replace struct args members by simple variables.
26482 Replace argp_parse() by getopt_long().
26483 Add switch to evaluate options.
26484 Add missing "(...)" around root_dev in prefix string.
26485
26486 2008-01-14 Robert Millan <rmh@aybabtu.com>
26487
26488 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
26489 for grub_ieee1275_exit(), in order to improve portability.
26490
26491 2008-01-14 Robert Millan <rmh@aybabtu.com>
26492
26493 * util/grub.d/10_linux.in (prefix): Define.
26494 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
26495
26496 2008-01-13 Pavel Roskin <proski@gnu.org>
26497
26498 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
26499 grub_errno if no errors have been detected.
26500
26501 2008-01-12 Robert Millan <rmh@aybabtu.com>
26502
26503 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
26504 (grub_util_get_dev_abstraction): New function prototype.
26505
26506 * util/getroot.c: Include `<grub/util/getroot.h>'
26507 (grub_util_get_grub_dev): Move detection of abstraction type to ...
26508 (grub_util_get_dev_abstraction): ... here (new function).
26509
26510 * util/grub-probe.c: Convert PRINT_* to an enum. Add
26511 `PRINT_ABSTRACTION'.
26512 (probe): Probe for abstraction type when requested.
26513 (main): Understand `--target=abstraction'.
26514
26515 * util/i386/efi/grub-install.in: Add abstraction module to core
26516 image when it is found to be necessary.
26517 * util/i386/pc/grub-install.in: Likewise.
26518 * util/powerpc/ieee1275/grub-install.in: Likewise.
26519
26520 * util/update-grub_lib.in (font_path): Return system path without
26521 converting to GRUB path.
26522 * util/update-grub.in: Convert system path returned by font_path()
26523 to a GRUB path. Use `grub-probe -t abstraction' to determine what
26524 abstraction module is needed for loading fonts (if any). Export
26525 that as `GRUB_PRELOAD_MODULES'.
26526 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
26527 insmod commands).
26528
26529 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
26530
26531 Remove some unused code from reiserfs.
26532
26533 * fs/reiserfs.c (struct grub_reiserfs_key)
26534 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
26535 (struct grub_reiserfs_node_body): Removed.
26536 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26537 Likewise.
26538 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26539 Likewise.
26540 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26541 Likewise.
26542 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26543 Likewise.
26544 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26545 Likewise.
26546 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
26547 Likewise.
26548 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26549 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26550 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26551
26552 2008-01-10 Robert Millan <rmh@aybabtu.com>
26553
26554 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
26555 Determines if a file is garbage left by packaging systems, etc.
26556 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
26557 for processing /etc/grub.d scripts.
26558 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
26559 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
26560 as a condition for processing Linux images.
26561
26562 2008-01-10 Pavel Roskin <proski@gnu.org>
26563
26564 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
26565 to compile reiserfs.c on PowerPC.
26566
26567 2008-01-10 Robert Millan <rmh@aybabtu.com>
26568
26569 * kern/device.c (grub_device_iterate): Do not abort device iteration
26570 when one of the devices cannot be opened.
26571 * kern/disk.c (grub_disk_open): Do not account previous failures of
26572 unrelated functions when grub_errno is checked for.
26573
26574 2008-01-08 Robert Millan <rmh@aybabtu.com>
26575
26576 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
26577 `! grub_linux_is_bzimage', change order of address comparison to make
26578 it more intuitive, and improve "too big zImage" error message.
26579
26580 2008-01-08 Robert Millan <rmh@aybabtu.com>
26581
26582 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
26583 `$(update-grub_DATA)'.
26584 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
26585 targets.
26586
26587 2008-01-07 Robert Millan <rmh@aybabtu.com>
26588
26589 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
26590 which instruction is modified by grub-setup during installation
26591 (since it wasn't obvious by only looking at this file).
26592
26593 2008-01-07 Robert Millan <rmh@aybabtu.com>
26594
26595 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
26596 listing actual TODO items.
26597
26598 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26599
26600 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
26601 correctly.
26602 (grub_reiserfs_get_key_offset): Likewise.
26603 (grub_reiserfs_set_key_offset): Likewise.
26604 (grub_reiserfs_set_key_type): Likewise.
26605 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
26606
26607 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
26608 better to remove the bitfield version completely.
26609
26610 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26611
26612 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
26613 allocated from the heap, due to the fshelp implementation.
26614 (grub_reiserfs_dir): Free NODE, due to the same reason.
26615
26616 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26617
26618 Mostly from Vincent Pelletier:
26619
26620 * fs/reiserfs.c: New file.
26621
26622 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
26623 (reiserfs_mod_SOURCES): New variable.
26624 (reiserfs_mod_CFLAGS): Likewise.
26625 (reiserfs_mod_LDFLAGS): Likewise.
26626
26627 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
26628 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
26629 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
26630 normal/color.c.
26631
26632 2008-01-06 Robert Millan <rmh@aybabtu.com>
26633
26634 * normal/color.c: Remove `<grub/env.h>'.
26635
26636 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
26637
26638 * include/grub/normal.h: Include <grub/env.h>.
26639
26640 2008-01-05 Robert Millan <rmh@aybabtu.com>
26641
26642 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
26643 usage example with `(hd0,1)'.
26644 Reported by Samuel Thibault.
26645
26646 2008-01-05 Robert Millan <rmh@aybabtu.com>
26647
26648 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
26649 (grub_linux_boot_zimage): Rename to ...
26650 (grub_linux_boot): ... this.
26651 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
26652 (grub_linux_boot_zimage): Conditionalize zImage copy.
26653
26654 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
26655 (grub_linux_boot_bzimage): Remove prototype.
26656 (grub_linux_boot_zimage): Rename to ...
26657 (grub_linux_boot): ... this.
26658
26659 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
26660 (grub_linux_boot): Remove function.
26661
26662 2008-01-05 Robert Millan <rmh@aybabtu.com>
26663
26664 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
26665 (grub_env_write_color_highlight): Likewise.
26666 (grub_wait_after_message): Likewise.
26667
26668 * normal/color.c: New file.
26669
26670 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26671 (normal_mod_DEPENDENCIES): Likewise.
26672
26673 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26674 (normal_mod_DEPENDENCIES): Likewise.
26675
26676 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26677 (normal_mod_DEPENDENCIES): Likewise.
26678
26679 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26680 (normal_mod_DEPENDENCIES): Likewise.
26681
26682 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
26683 for waiting after a message is printed.
26684 * normal/main.c (read_config_file): Likewise.
26685 (grub_normal_init): Register grub_env_write_color_normal() and
26686 grub_env_write_color_highlight() hooks. Mark `color_normal' and
26687 `color_highlight' variables as global.
26688
26689 * normal/menu.c (grub_wait_after_message): New function.
26690 (grub_color_menu_normal): New variable. Replaces ...
26691 (GRUB_COLOR_MENU_NORMAL): ... this macro.
26692 (grub_color_menu_highlight): New variable. Replaces ...
26693 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
26694 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
26695 `GRUB_TERM_COLOR_STANDARD'.
26696 (print_message): Use `grub_setcolorstate' to reload colors. Rename
26697 `normal_code' and `highlight_code' to `old_color_normal' and
26698 `old_color_highlight', respectively.
26699 (grub_menu_init_page): Update colors when drawing the menu, based on
26700 `menu_color_normal' and `menu_color_highlight' variables.
26701 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
26702 a message is printed.
26703
26704 2008-01-05 Robert Millan <rmh@aybabtu.com>
26705
26706 * kern/env.c (grub_env_context_open): Propagate hooks for global
26707 variables to new context.
26708
26709 * kern/main.c (grub_set_root_dev): Export `root' variable.
26710
26711 2008-01-05 Robert Millan <rmh@aybabtu.com>
26712
26713 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
26714 discs unconditionally, since udev and others have options to provide
26715 them.
26716
26717 2008-01-05 Robert Millan <rmh@aybabtu.com>
26718
26719 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
26720
26721 2008-01-04 Christian Franke <franke@computer.org>
26722
26723 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
26724 of eisa_mmap.
26725
26726 2008-01-03 Pavel Roskin <proski@gnu.org>
26727
26728 * kern/i386/linuxbios/init.c: Put "void" to all function
26729 declarations with no arguments.
26730 * kern/powerpc/ieee1275/init.c: Likewise.
26731 * term/i386/pc/at_keyboard.c: Likewise.
26732 * term/i386/pc/vga_text.c: Likewise.
26733 * util/grub-mkdevicemap.c: Likewise.
26734
26735 2008-01-02 Robert Millan <rmh@aybabtu.com>
26736
26737 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
26738 message when loaded image is out of bounds.
26739 (grub_multiboot_load_elf64): Likewise.
26740
26741 2008-01-02 Pavel Roskin <proski@gnu.org>
26742
26743 * util/grub.d/10_linux.in: Try version without ".old" when
26744 looking for initrd. It's better to use initrd from the newer
26745 kernel of the same version than no initrd at all.
26746
26747 2008-01-01 Robert Millan <rmh@aybabtu.com>
26748
26749 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
26750
26751 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
26752
26753 * include/grub/video.h: Added grub_video_unmap_color and
26754 grub_video_get_active_render_target.
26755 (grub_video_adapter): Added unmap_color and get_active_render_target.
26756
26757 * video/video.c: Added grub_video_unmap_color and
26758 grub_video_get_active_render_target.
26759 (grub_video_get_info): Changed method to accept NULL pointer as an
26760 argument to allow detection of active video adapter.
26761
26762 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
26763 grub_video_vbe_unmap_color_int.
26764 Added grub_video_vbe_unmap_color and
26765 grub_video_vbe_get_active_render_target.
26766 (grub_video_vbe_adapter): Added unmap_color and
26767 get_active_render_target.
26768
26769 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
26770 with grub_video_vbe_unmap_color_int.
26771
26772 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
26773 (DEFAULT_NORMAL_COLOR): Likewise.
26774 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
26775 (DEFAULT_FG_COLOR): Removed.
26776 (DEFAULT_BG_COLOR): Likewise.
26777 (DEFAULT_CURSOR_COLOR): Changed value.
26778 (grub_virtual_screen): Added standard_color_setting,
26779 normal_color_setting, highlight_color_setting and term_color.
26780 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
26781 (bitmap_width): Added.
26782 (bitmap_height): Likewise.
26783 (bitmap): Likewise.
26784 (set_term_color): Likewise.
26785 (grub_virtual_screen_setup): Changed to use new terminal coloring
26786 settings.
26787 (grub_gfxterm_init): Added init for bitmap.
26788 (grub_gfxterm_fini): Added destroy for bitmap.
26789 (redraw_screen_rect): Updated to use background bitmap and new
26790 terminal coloring.
26791 (scroll_up): Added optimization for case when there is no bitmap.
26792 (grub_gfxterm_cls): Fixed to use correct background color.
26793 (grub_virtual_screen_setcolorstate): Changed to use new terminal
26794 coloring.
26795 (grub_virtual_screen_setcolor): Likewise.
26796 (grub_virtual_screen_getcolor): Added.
26797 (grub_gfxterm_background_image_cmd): Likewise.
26798 (grub_video_term): Added setcolor and getcolor.
26799 (MOD_INIT): Added registration of background_image command.
26800 (MOD_TERM): Added unregistration for background_image command.
26801
26802 2007-12-30 Pavel Roskin <proski@gnu.org>
26803
26804 * loader/multiboot_loader.c: Fix multiboot command
26805 unregistration. Fix all typos in the word "multiboot".
26806
26807 2007-12-29 Pavel Roskin <proski@gnu.org>
26808
26809 * util/grub.d/10_linux.in: Refactor search for initrd. Add
26810 support for initrd names used in Fedora.
26811
26812 2007-12-26 Bean <bean123ch@gmail.com>
26813
26814 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
26815 (cpio_mod_SOURCES): New variable.
26816 (cpio_mod_CFLAGS): Likewise.
26817 (cpio_mod_LDFLAGS): Likewise.
26818
26819 * fs/cpio.c: New file.
26820
26821 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
26822
26823 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26824
26825 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26826
26827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26828
26829 2007-12-25 Robert Millan <rmh@aybabtu.com>
26830
26831 * include/grub/term.h (struct grub_term): Add `getcolor' function.
26832 (grub_getcolor): New function.
26833
26834 * kern/term.c (grub_getcolor): New function.
26835 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
26836 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
26837 (print_entry): Set normal and highlight colors to
26838 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
26839 respectively, before printing and restore them to old
26840 values afterwards.
26841 (grub_menu_init_page): Likewise. Fill an additional colored space
26842 that would otherwise be left blank.
26843
26844 * term/efi/console.c (grub_console_getcolor): New function.
26845 (struct grub_console_term.getcolor): New variable.
26846 * term/i386/pc/console.c (grub_console_getcolor): New function.
26847 (struct grub_console_term.getcolor): New variable.
26848 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
26849 (struct grub_console_term.getcolor): New variable.
26850
26851 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
26852 (struct grub_console_term.setcolor): Remove variable.
26853 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
26854 (struct grub_console_term.setcolor): Remove variable.
26855 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
26856 (struct grub_console_term.setcolor): Remove variable.
26857 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
26858 (struct grub_console_term.setcolor): Remove variable.
26859
26860 2007-12-25 Robert Millan <rmh@aybabtu.com>
26861
26862 * configure.ac: Search for possible unifont.hex locations, and
26863 define UNIFONT_HEX if found.
26864
26865 * Makefile.in (UNIFONT_HEX): Define variable.
26866 (DATA): Rename to ...
26867 (PKGLIB): ... this. Update all users.
26868 (PKGDATA): New variable.
26869 (pkgdata_IMAGES): Rename to ...
26870 (pkglib_IMAGES): ... this. Update all users.
26871 (pkgdata_MODULES): Rename to ...
26872 (pkglib_MODULES): ... this. Update all users.
26873 (pkgdata_PROGRAMS): Rename to ...
26874 (pkglib_PROGRAMS): ... this. Update all users.
26875 (pkgdata_DATA): Rename to ...
26876 (pkglib_DATA): ... this. Update all users.
26877 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
26878 (unicode.pff, ascii.pff): New rules.
26879 (all-local): Add `$(PKGDATA)' dependency.
26880 (install-local): Process `$(PKGDATA)'.
26881
26882 * util/update-grub_lib.in (font_path): Search for *.pff files in
26883 a few more locations, including `${pkgdata}'.
26884
26885 2007-12-23 Robert Millan <rmh@aybabtu.com>
26886
26887 Patch from Bean <bean123ch@gmail.com>:
26888 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
26889 `size'.
26890
26891 2007-12-21 Bean <bean123ch@gmail.com>
26892
26893 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
26894 (ntfscomp_mod_SOURCES): New variable.
26895 (ntfscomp_mod_CFLAGS): Likewise.
26896 (ntfscomp_mod_LDFLAGS): Likewise.
26897
26898 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
26899 (grub_probe_SOURCES): Likewise.
26900 (grub_emu_SOURCES): Likewise.
26901
26902 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26903 (grub_emu_SOURCES): Likewise.
26904
26905 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26906 (grub_emu_SOURCES): Likewise.
26907
26908 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26909 (grub_emu_SOURCES): Likewise.
26910
26911 * fs/ntfs.c (grub_ntfscomp_func): New variable.
26912 (read_run_list): Renamed to grub_ntfs_read_run_list.
26913 (decomp_nextvcn): Moved to ntfscomp.c.
26914 (decomp_getch): Likewise.
26915 (decomp_get16): Likewise.
26916 (decomp_block): Likewise.
26917 (read_block): Likewise.
26918 (read_data): Partially moved to ntfscomp.c.
26919 (fixup): Change unsigned to grub_uint16_t.
26920 (read_mft): Change unsigned long to grub_uint32_t.
26921 (read_attr): Likewise.
26922 (read_data): Likewise.
26923 (read_run_data): Likewise.
26924 (read_run_list): Likewise.
26925 (read_mft): Likewise.
26926
26927 * fs/ntfscomp.c: New file.
26928
26929 * include/grub/ntfs.h: New file.
26930
26931 2007-12-16 Robert Millan <rmh@aybabtu.com>
26932
26933 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
26934 IDE disk check, since Linux is known to support 20 IDE disks.
26935 Reported by Colin Watson.
26936
26937 2007-12-15 Bean <bean123ch@gmail.com>
26938
26939 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
26940 (lnxboot_img_SOURCES): New variable.
26941 (lnxboot_img_ASFLAGS): Likewise.
26942 (lnxboot_img_LDFLAGS): Likewise.
26943
26944 * boot/i386/pc/lnxboot.S: New file.
26945
26946 2007-11-24 Pavel Roskin <proski@gnu.org>
26947
26948 * configure.ac: Test if '--build-id=none' is supported by the
26949 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
26950 objcopy to generate incorrect binary files (binutils
26951 2.17.50.0.18-1 as shipped by Fedora 8).
26952 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
26953 linking, so that build ID doesn't break the test.
26954
26955 2007-11-24 Pavel Roskin <proski@gnu.org>
26956
26957 * include/grub/i386/time.h: use "void" in the argument list
26958 of grub_cpu_idle().
26959 * include/grub/powerpc/time.h: Likewise.
26960 * include/grub/sparc64/time.h: Likewise.
26961
26962 2007-11-18 Christian Franke <franke@computer.org>
26963
26964 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
26965 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
26966 This fixes the problem that function keys did not work in grub-emu.
26967
26968 2007-11-18 Christian Franke <franke@computer.org>
26969
26970 * disk/host.c (grub_host_open): Remove attribute unused from
26971 name parameter. Add check for "host". This fixes the problem
26972 that grub-emu does not find partitions.
26973
26974 2007-11-18 Christian Franke <franke@computer.org>
26975
26976 * util/hostfs.c (is_dir): New function.
26977 (grub_hostfs_dir): Handle missing dirent.d_type case.
26978 (grub_hostfs_read): Add missing fseek().
26979 (grub_hostfs_label): Clear label pointer. This fixes a crash
26980 of grub-emu on "ls (host)".
26981
26982 2007-11-18 Christian Franke <franke@computer.org>
26983
26984 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
26985 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
26986 to 64 bit boundary by default.
26987
26988 2007-11-18 Bean <bean123ch@gmail.com>
26989
26990 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
26991 (hexdump_mod_SOURCES): New variable.
26992 (hexdump_mod_CFLAGS): Likewise.
26993 (hexdump_mod_LDFLAGS): Likewise.
26994
26995 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26996
26997 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26998
26999 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27000
27001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27002
27003 * include/grub/hexdump.h: New file.
27004
27005 * commands/hexdump.c: New file.
27006
27007 2007-11-10 Robert Millan <rmh@aybabtu.com>
27008
27009 * commands/i386/pc/play.c (beep_off): Switch order of arguments
27010 in grub_outb() calls.
27011 (beep_on): Likewise.
27012
27013 2007-11-10 Christian Franke <franke@computer.org>
27014
27015 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
27016 (grub_menu_run): Likewise.
27017
27018 2007-11-10 Robert Millan <rmh@aybabtu.com>
27019
27020 * include/grub/i386/efi/machine.h: New file.
27021 * include/grub/i386/linuxbios/machine.h: Likewise.
27022 * include/grub/i386/pc/machine.h: Likewise.
27023 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27024 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27025
27026 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
27027 (serial_hw_io_addr): New variable.
27028 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
27029 instead of `(unsigned short *) 0x400'.
27030
27031 2007-11-10 Bean <bean123ch@gmail.com>
27032
27033 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
27034
27035 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27036
27037 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
27038 (vga_mod_SOURCES): Added.
27039 (vga_mod_CFLAGS): Likewise.
27040 (vga_mod_LDFLAGS): Likewise.
27041
27042 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
27043 grub_outb() calls.
27044 (set_map_mask): Likewise.
27045 (set_read_map): Likewise.
27046 (set_read_address): Likewise.
27047 (vga_font): Removed variable.
27048 (get_vga_glyph): Removed function.
27049 (invalidate_char): Likewise.
27050 (write_char): Changed to use grub_font_get_glyph() for font
27051 information.
27052 (grub_vga_putchar): Likewise.
27053 (grub_vga_getcharwidth): Likewise.
27054
27055 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27056
27057 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
27058 flags.
27059 (pxeboot_img_LDFLAGS): Likewise.
27060 (diskboot_img_LDFLAGS): Likewise.
27061 (kernel_img_LDFLAGS): Likewise.
27062
27063 2007-11-06 Robert Millan <rmh@aybabtu.com>
27064
27065 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
27066 in grub_outb() calls.
27067 (serial_hw_init): Likewise.
27068
27069 2007-11-05 Robert Millan <rmh@aybabtu.com>
27070
27071 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
27072 spaces. Skip non-regular files.
27073
27074 2007-11-05 Robert Millan <rmh@aybabtu.com>
27075
27076 * kern/disk.c (grub_disk_firmware_fini)
27077 (grub_disk_firmware_is_tainted): New variables.
27078
27079 * include/grub/disk.h (grub_disk_firmware_fini)
27080 (grub_disk_firmware_is_tainted): Likewise.
27081
27082 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
27083 (grub_disk_biosdisk_fini): ... to here.
27084 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
27085 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
27086 is set. Register grub_disk_biosdisk_fini() in
27087 `grub_disk_firmware_fini'.
27088
27089 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
27090 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
27091 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
27092 to finish existing firmware disk interface.
27093
27094 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
27095 (ata_mod_SOURCES): New variable.
27096 (ata_mod_CFLAGS): Likewise.
27097 (ata_mod_LDFLAGS): Likewise.
27098
27099 2007-11-05 Robert Millan <rmh@aybabtu.com>
27100
27101 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
27102 (grub_ata_wait): Reimplement using grub_millisleep().
27103
27104 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
27105 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
27106
27107 2007-11-03 Marco Gerards <marco@gnu.org>
27108
27109 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
27110 (CRTC_ADDR_PORT): New macro.
27111 (CRTC_DATA_PORT): Likewise.
27112 (CRTC_CURSOR): Likewise.
27113 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27114 (CRTC_CURSOR_ADDR_LOW): Likewise.
27115 (update_cursor): New function.
27116 (grub_console_real_putchar): Call `update_cursor'.
27117 (grub_console_gotoxy): Likewise.
27118 (grub_console_cls): Set the default color when clearing the
27119 screen.
27120 (grub_console_setcursor): Implemented.
27121
27122 2007-11-03 Marco Gerards <marco@gnu.org>
27123
27124 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
27125 become activate.
27126 (grub_ata_pio_write): Likewise.
27127
27128 (grub_atapi_identify): Wait after issuing an ATA command.
27129 (grub_atapi_packet): Likewise.
27130 (grub_ata_identify): Likewise.
27131 (grub_ata_readwrite): Likewise.
27132
27133 2007-11-03 Marco Gerards <marco@gnu.org>
27134
27135 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
27136 (grub_ata_pio_write): Likewise.
27137 (grub_ata_readwrite): Use `grub_error', instead of
27138 returning `grub_errno'.
27139
27140 2007-11-03 Marco Gerards <marco@gnu.org>
27141
27142 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
27143 grub_ata_pio_write once for every single sector, instead of for
27144 multiple sectors.
27145
27146 2007-10-31 Robert Millan <rmh@aybabtu.com>
27147
27148 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
27149
27150 * conf/i386-linuxbios.rmk: New file.
27151
27152 * kern/i386/pc/hardware.c: Likewise.
27153 * term/i386/pc/at_keyboard.c: Likewise.
27154 * term/i386/pc/vga_text.c: Likewise.
27155
27156 * include/grub/i386/linuxbios/boot.h: Likewise.
27157 * include/grub/i386/linuxbios/console.h: Likewise.
27158 * include/grub/i386/linuxbios/init.h: Likewise.
27159 * include/grub/i386/linuxbios/kernel.h: Likewise.
27160 * include/grub/i386/linuxbios/loader.h: Likewise.
27161 * include/grub/i386/linuxbios/memory.h: Likewise.
27162 * include/grub/i386/linuxbios/serial.h: Likewise.
27163 * include/grub/i386/linuxbios/time.h: Likewise.
27164
27165 * kern/i386/linuxbios/init.c: Likewise.
27166 * kern/i386/linuxbios/startup.S: Likewise.
27167 * kern/i386/linuxbios/table.c: Likewise.
27168
27169 2007-10-31 Marco Gerards <marco@gnu.org>
27170
27171 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
27172 (ata_mod_SOURCES): New variable.
27173 (ata_mod_CFLAGS): Likewise.
27174 (ata_mod_LDFLAGS): Likewise.
27175
27176 * disk/ata.c: New file.
27177
27178 * include/grub/disk.h (grub_disk_dev_id): Add
27179 `GRUB_DISK_DEV_ATA_ID'.
27180
27181 2007-10-31 Robert Millan <rmh@aybabtu.com>
27182
27183 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
27184 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
27185
27186 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
27187 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
27188
27189 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
27190 `<grub/types.h>'.
27191
27192 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
27193
27194 2007-10-27 Robert Millan <rmh@aybabtu.com>
27195
27196 * include/grub/types.h (ULONG_MAX): Define macro.
27197
27198 2007-10-22 Robert Millan <rmh@aybabtu.com>
27199
27200 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
27201 `"../realmode.S"'.
27202 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
27203
27204 2007-10-22 Robert Millan <rmh@aybabtu.com>
27205
27206 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
27207 (pkgdata_MODULES): Add `biosdisk.mod'.
27208 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
27209 variables.
27210
27211 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
27212 (grub_biosdisk_init): Replace with ...
27213 (GRUB_MOD_INIT(biosdisk)): ... this.
27214 (grub_biosdisk_fini): Replace with ...
27215 (GRUB_MOD_FINI(biosdisk)): ... this.
27216
27217 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
27218 (grub_machine_init): Remove call to grub_biosdisk_init().
27219 (grub_machine_fini): Remove call to grub_machine_fini().
27220
27221 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
27222
27223 2007-10-22 Robert Millan <rmh@aybabtu.com>
27224
27225 * include/grub/time.h: New file.
27226 * include/grub/i386/time.h: Likewise.
27227 * include/grub/powerpc/time.h: Likewise.
27228 * include/grub/sparc64/time.h: Likewise.
27229
27230 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
27231 instances to ...
27232 (KERNEL_MACHINE_TIME_HEADER): ... this.
27233 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27234 instances to ...
27235 (KERNEL_MACHINE_TIME_HEADER): ... this.
27236 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27237 instances to ...
27238 (KERNEL_MACHINE_TIME_HEADER): ... this.
27239
27240 * kern/i386/efi/init.c: Include `<grub/time.h>'.
27241 (grub_millisleep): New function.
27242 * kern/i386/pc/init.c: Include `<grub/time.h>'.
27243 (grub_millisleep): New function.
27244 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
27245 Remove `grub/machine/time.h' include.
27246 (grub_millisleep): New function.
27247 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
27248 Remove `grub/machine/time.h' include.
27249 (grub_millisleep): New function.
27250
27251 * include/grub/misc.h (grub_div_roundup): New function.
27252
27253 * kern/misc.c: Include `<grub/time.h>'.
27254 (grub_millisleep_generic): New function.
27255
27256 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
27257 Add `time.h'.
27258 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
27259 Add `time.h'.
27260 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
27261 `machine/time.h'. Add `time.h'.
27262 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27263
27264 2007-10-21 Robert Millan <rmh@aybabtu.com>
27265
27266 * include/grub/misc.h (grub_max): New function.
27267
27268 2007-10-21 Robert Millan <rmh@aybabtu.com>
27269
27270 * util/misc.c (grub_util_info): Call fflush() before returning.
27271
27272 2007-10-20 Robert Millan <rmh@aybabtu.com>
27273
27274 * genmk.rb (Image): Copy `extra_flags' from here ...
27275 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
27276
27277 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
27278 to `argc' and `args' arguments.
27279
27280 2007-10-17 Robert Millan <rmh@aybabtu.com>
27281
27282 * kern/i386/loader.S: New file.
27283
27284 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
27285 * kern/i386/loader.S (grub_linux_prot_size)... to here.
27286 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
27287 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
27288 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
27289 * kern/i386/loader.S (grub_linux_real_addr)... to here.
27290 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
27291 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
27292 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
27293 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
27294 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
27295 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
27296 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
27297 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
27298
27299 * kern/i386/realmode.S: New file.
27300
27301 * kern/i386/pc/startup.S (protstack): Moved from here ...
27302 * kern/i386/realmode.S (protstack)... to here.
27303 * kern/i386/pc/startup.S (gdt): Moved from here ...
27304 * kern/i386/realmode.S (gdt)... to here.
27305 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
27306 * kern/i386/realmode.S (prot_to_real)... to here.
27307
27308 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
27309 `kern/i386/realmode.S'.
27310
27311 2007-10-17 Robert Millan <rmh@aybabtu.com>
27312
27313 * include/grub/i386/loader.h: New file.
27314
27315 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
27316 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27317 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27318 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27319 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
27320 * include/grub/i386/loader.h (grub_linux_prot_size)
27321 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27322 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27323 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27324 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
27325
27326 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
27327
27328 2007-10-15 Robert Millan <rmh@aybabtu.com>
27329
27330 * normal/misc.c (grub_normal_print_device_info): Do not probe for
27331 filesystem when dev->disk is unset.
27332 Do probe for filesystem even when dev->disk->has_partitions is set.
27333 In case a filesystem is found, always report it.
27334 In case it isn't, if dev->disk->has_partitions is set, report that
27335 a partition table was found instead of reporting that no filesystem
27336 could be identified.
27337
27338 2007-10-12 Robert Millan <rmh@aybabtu.com>
27339
27340 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
27341 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
27342
27343 * include/grub/types.h (grub_host_to_target16): New macro.
27344 (grub_host_to_target32): Likewise.
27345 (grub_host_to_target64): Likewise.
27346 (grub_target_to_host16): Likewise.
27347 (grub_target_to_host32): Likewise.
27348 (grub_target_to_host64): Likewise.
27349
27350 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27351 Renamed from to ...
27352 (GRUB_MOD_ALIGN): ...this. Update all users.
27353
27354 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
27355 grub_host_to_target32.
27356 Replace grub_be_to_cpu32 with grub_target_to_host32.
27357 (load_modules): Likewise.
27358 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
27359 Replace grub_be_to_cpu32 with grub_target_to_host32.
27360 Replace grub_cpu_to_be16 with grub_host_to_target16.
27361 Replace grub_cpu_to_be32 grub_host_to_target32.
27362
27363 2007-10-12 Robert Millan <rmh@aybabtu.com>
27364
27365 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
27366 * util/elf/grub-mkimage.c: ... here.
27367
27368 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
27369 `util/powerpc/ieee1275/grub-mkimage.c'.
27370
27371 2007-10-07 Robert Millan <rmh@aybabtu.com>
27372
27373 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
27374 and make it easier to figure out.
27375 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
27376 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
27377 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
27378 leave us with less than HEAP_MIN_SIZE total heap.
27379 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
27380
27381 2007-10-03 Robert Millan <rmh@aybabtu.com>
27382
27383 * include/grub/i386/io.h: New file.
27384 * commands/i386/pc/play.c (inb): Removed.
27385 (outb): Removed.
27386 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27387 with grub_outb().
27388 * term/i386/pc/serial.c (inb): Removed.
27389 (outb): Removed.
27390 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27391 with grub_outb().
27392 * term/i386/pc/vga.c (inb): Removed.
27393 (outb): Removed.
27394 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27395 with grub_outb().
27396
27397 2007-10-02 Robert Millan <rmh@aybabtu.com>
27398
27399 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
27400 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27401 Reported by Marcin Kurek.
27402
27403 2007-09-07 Robert Millan <rmh@aybabtu.com>
27404
27405 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
27406 SmartFirmware version updates (as released by Sven Luther), and avoid
27407 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
27408 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
27409 known broken.
27410
27411 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27412
27413 From Hitoshi Ozeki:
27414 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
27415 when merging two regions.
27416
27417 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27418
27419 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
27420 * normal/completion.c (grub_normal_do_completion): Likewise.
27421 Reported by Hitoshi Ozeki.
27422
27423 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27424
27425 Do not use devices at boot in chainloading.
27426
27427 * loader/i386/pc/chainloader.c (boot_drive): New variable.
27428 (boot_part_addr): Likewise.
27429 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
27430 with BOOT_DRIVE and BOOT_PART_ADDR.
27431 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
27432 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
27433
27434 2007-08-29 Robert Millan <rmh@aybabtu.com>
27435
27436 Patch from Simon Peter <dn.tlp@gmx.net>:
27437 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
27438 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
27439 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
27440 util/i386/pc/grub-setup.c_DEPENDENCIES.
27441 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
27442 util/grub-probe.c_DEPENDENCIES.
27443 * conf/powerpc-ieee1275.rmk: Likewise.
27444
27445 2007-08-28 Robert Millan <rmh@aybabtu.com>
27446
27447 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
27448 to tell grub-mkdevicemap how to name devices.
27449 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
27450 feature).
27451
27452 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
27453 util/i386/get_disk_name.c.
27454 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
27455 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
27456 util/ieee1275/get_disk_name.c.
27457
27458 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
27459
27460 * DISTLIST: Add util/i386/get_disk_name.c and
27461 util/ieee1275/get_disk_name.c.
27462
27463 * util/grub-mkdevicemap.c: Replace device naming logic with
27464 grub_util_get_disk_name() calls.
27465
27466 2007-08-20 Robert Millan <rmh@aybabtu.com>
27467
27468 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
27469 (so that it works for both plural and singular quantities).
27470
27471 2007-08-05 Robert Millan <rmh@aybabtu.com>
27472
27473 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
27474 so that [xz] isn't taken into account when determining order.
27475
27476 2007-08-02 Marco Gerards <marco@gnu.org>
27477
27478 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
27479 `include/multiboot2.h', `include/grub/elfload.h',
27480 `include/multiboot.h', `include/grub/multiboot.h',
27481 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
27482 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
27483 `kern/elf.c', `loader/multiboot_loader.c',
27484 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
27485 `loader/i386/pc/multiboot2.c',
27486 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
27487 `util/i386/pc/grub-mkrescue.in'. Remove
27488 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
27489 `include/grub/i386/pc/util/biosdisk.h' and
27490 `include/grub/powerpc/ieee1275/multiboot.h'.
27491
27492 2007-08-02 Bean <bean123ch@gmail.com>
27493
27494 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
27495 (ntfs_mod_SOURCES): New variable.
27496 (ntfs_mod_CFLAGS): Likewise.
27497 (ntfs_mod_LDFLAGS): Likewise.
27498
27499 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
27500 (grub_probe_SOURCES): Likewise.
27501 (grub_emu_SOURCES): Likewise.
27502
27503 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27504 (grub_emu_SOURCES): Likewise.
27505
27506 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27507 (grub_emu_SOURCES): Likewise.
27508
27509 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
27510
27511 * fs/ntfs.c: New file.
27512
27513 2007-08-02 Bean <bean123ch@gmail.com>
27514
27515 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
27516
27517 * file.h (grub_file): Likewise.
27518
27519 * fshelp.h (grub_fshelp_read_file): Likewise.
27520
27521 * util/i386/pc/grub-setup.c (setup): Likewise.
27522 (save_first_sector): Likewise.
27523 (save_blocklists): Likewise.
27524
27525 * fs/affs.c (grub_affs_read_file): Likewise.
27526
27527 * fs/ext2.c (grub_ext2_read_file): Likewise.
27528
27529 * fs/fat.c (grub_fat_read_data): Likewise.
27530
27531 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
27532
27533 * fs/hfs.c (grub_hfs_read_file): Likewise.
27534
27535 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27536
27537 * fs/jfs.c (grub_jfs_read_file): Likewise.
27538
27539 * fs/minix.c (grub_minix_read_file): Likewise.
27540
27541 * fs/sfs.c (grub_sfs_read_file): Likewise.
27542
27543 * fs/ufs.c (grub_ufs_read_file): Likewise.
27544
27545 * fs/xfs.c (grub_xfs_read_file): Likewise.
27546
27547 * command/blocklist.c (read_blocklist): Likewise.
27548 (print_blocklist): Likewise.
27549
27550 2007-08-02 Marco Gerards <marco@gnu.org>
27551
27552 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
27553 `util/hostfs.c'.
27554
27555 * disk/host.c: New file.
27556
27557 * util/hostfs.c: Likewise.
27558
27559 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
27560 return `GRUB_ERR_BAD_FS'.
27561 * fs/sfs.c (grub_sfs_mount): Likewise.
27562 * fs/xfs.c (grub_xfs_mount): Likewise.
27563
27564 * include/grub/disk.h (enum grub_disk_dev_id): Add
27565 `GRUB_DISK_DEVICE_HOST_ID'.
27566
27567 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
27568
27569 2007-07-24 Jerone Young <jerone@gmail.com>
27570
27571 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
27572 modules for compilation.
27573 * conf/powerpc-ieee1275.rmk: Likewise.
27574
27575 * include/multiboot.h: Move multiboot definitions to one file. Rename
27576 many definitions to not get grub specific.
27577 * include/multiboot2.h: Create header with multiboot 2 definitions.
27578 * include/grub/multiboot.h: Header for grub specific function
27579 prototypes and definitions.
27580 * include/grub/multiboot2.h: Likewise.
27581 * include/grub/multiboot_loader.h: Likewise.
27582 * include/grub/i386/pc/multiboot.h: Removed.
27583 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
27584
27585 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
27586 and 2 to allow for one multiboot and module commands.
27587 * loader/multiboot2.c: Add multiboot2 functionality.
27588 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
27589 and definition names.
27590 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
27591 2 functions.
27592 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
27593 ieee1275 specific multiboot2 code.
27594
27595 * kern/i386/pc/startup.S: Change headers and definition names for
27596 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
27597
27598 2007-07-22 Robert Millan <rmh@aybabtu.com>
27599
27600 * geninitheader.sh: Process file specified in first parameter rather
27601 than hardcoding grub_modules_init.lst.
27602 * geninit.sh: Likewise. Also, construct header name dynamically rather
27603 than hardcoding grub_modules_init.h.
27604
27605 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
27606 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
27607 grub_probe_init.[ch] and grub_setup_init.[ch].
27608
27609 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
27610 grub_modules_init.h with grub_emu_init.h.
27611 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
27612 grub_probe_init.[ch] files.
27613 * conf/i386-efi.rmk: Likewise.
27614 * conf/i386-pc.rmk: Likewise.
27615 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
27616 grub_setup_init.[ch] files.
27617
27618 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
27619 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
27620 to initialize modules rather than a list of hardcoded functions.
27621 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
27622 grub_init_all() to initialize modules rather than a list of hardcoded
27623 functions.
27624
27625 2007-07-22 Robert Millan <rmh@aybabtu.com>
27626
27627 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27628 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
27629
27630 2007-07-22 Robert Millan <rmh@aybabtu.com>
27631
27632 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27633 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
27634 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
27635 flag when running on SmartFirmware.
27636 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
27637 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
27638 was set.
27639
27640 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27641 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
27642 rather than decreasing it.
27643
27644 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
27645 there's not enough space to do it, fail in the same way as when it
27646 can't be done because there are no partitions.
27647
27648 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
27649 when nvsetenv failed.
27650
27651 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27652
27653 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
27654 because this rule is automatically generated.
27655 (grub-mkrescue): Removed for the same reason as above.
27656
27657 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27658
27659 Migrate to GNU General Public License Version 3.
27660
27661 * COPYING: Replaced with the plain text version of GPLv3.
27662
27663 * config.guess: Updated from gnulib.
27664 * config.sub: Likewise.
27665
27666 * geninit.sh: Output a GPLv3 copyright notice.
27667 * geninitheader.sh: Likewise.
27668 * genmodsrc.sh: Likewise.
27669 * gensymlist.sh.in: Likewise.
27670
27671 * boot/i386/pc/boot.S: Upgraded to GPLv3.
27672 * boot/i386/pc/diskboot.S: Likewise.
27673 * boot/i386/pc/pxeboot.S: Likewise.
27674 * commands/blocklist.c: Likewise.
27675 * commands/boot.c: Likewise.
27676 * commands/cat.c: Likewise.
27677 * commands/cmp.c: Likewise.
27678 * commands/configfile.c: Likewise.
27679 * commands/echo.c: Likewise.
27680 * commands/help.c: Likewise.
27681 * commands/ls.c: Likewise.
27682 * commands/search.c: Likewise.
27683 * commands/terminal.c: Likewise.
27684 * commands/test.c: Likewise.
27685 * commands/videotest.c: Likewise.
27686 * commands/i386/cpuid.c: Likewise.
27687 * commands/i386/pc/halt.c: Likewise.
27688 * commands/i386/pc/play.c: Likewise.
27689 * commands/i386/pc/reboot.c: Likewise.
27690 * commands/i386/pc/vbeinfo.c: Likewise.
27691 * commands/i386/pc/vbetest.c: Likewise.
27692 * commands/ieee1275/halt.c: Likewise.
27693 * commands/ieee1275/reboot.c: Likewise.
27694 * commands/ieee1275/suspend.c: Likewise.
27695 * disk/loopback.c: Likewise.
27696 * disk/lvm.c: Likewise.
27697 * disk/raid.c: Likewise.
27698 * disk/efi/efidisk.c: Likewise.
27699 * disk/i386/pc/biosdisk.c: Likewise.
27700 * disk/ieee1275/ofdisk.c: Likewise.
27701 * font/manager.c: Likewise.
27702 * fs/affs.c: Likewise.
27703 * fs/ext2.c: Likewise.
27704 * fs/fat.c: Likewise.
27705 * fs/fshelp.c: Likewise.
27706 * fs/hfs.c: Likewise.
27707 * fs/hfsplus.c: Likewise.
27708 * fs/iso9660.c: Likewise.
27709 * fs/jfs.c: Likewise.
27710 * fs/minix.c: Likewise.
27711 * fs/sfs.c: Likewise.
27712 * fs/ufs.c: Likewise.
27713 * fs/xfs.c: Likewise.
27714 * hello/hello.c: Likewise.
27715 * include/grub/acorn_filecore.h: Likewise.
27716 * include/grub/arg.h: Likewise.
27717 * include/grub/bitmap.h: Likewise.
27718 * include/grub/boot.h: Likewise.
27719 * include/grub/cache.h: Likewise.
27720 * include/grub/device.h: Likewise.
27721 * include/grub/disk.h: Likewise.
27722 * include/grub/dl.h: Likewise.
27723 * include/grub/elfload.h: Likewise.
27724 * include/grub/env.h: Likewise.
27725 * include/grub/err.h: Likewise.
27726 * include/grub/file.h: Likewise.
27727 * include/grub/font.h: Likewise.
27728 * include/grub/fs.h: Likewise.
27729 * include/grub/fshelp.h: Likewise.
27730 * include/grub/gzio.h: Likewise.
27731 * include/grub/hfs.h: Likewise.
27732 * include/grub/kernel.h: Likewise.
27733 * include/grub/loader.h: Likewise.
27734 * include/grub/lvm.h: Likewise.
27735 * include/grub/misc.h: Likewise.
27736 * include/grub/mm.h: Likewise.
27737 * include/grub/net.h: Likewise.
27738 * include/grub/normal.h: Likewise.
27739 * include/grub/parser.h: Likewise.
27740 * include/grub/partition.h: Likewise.
27741 * include/grub/pc_partition.h: Likewise.
27742 * include/grub/raid.h: Likewise.
27743 * include/grub/rescue.h: Likewise.
27744 * include/grub/script.h: Likewise.
27745 * include/grub/setjmp.h: Likewise.
27746 * include/grub/symbol.h: Likewise.
27747 * include/grub/term.h: Likewise.
27748 * include/grub/terminfo.h: Likewise.
27749 * include/grub/tparm.h: Likewise.
27750 * include/grub/types.h: Likewise.
27751 * include/grub/video.h: Likewise.
27752 * include/grub/efi/api.h: Likewise.
27753 * include/grub/efi/chainloader.h: Likewise.
27754 * include/grub/efi/console.h: Likewise.
27755 * include/grub/efi/console_control.h: Likewise.
27756 * include/grub/efi/disk.h: Likewise.
27757 * include/grub/efi/efi.h: Likewise.
27758 * include/grub/efi/pe32.h: Likewise.
27759 * include/grub/efi/time.h: Likewise.
27760 * include/grub/i386/linux.h: Likewise.
27761 * include/grub/i386/setjmp.h: Likewise.
27762 * include/grub/i386/types.h: Likewise.
27763 * include/grub/i386/efi/kernel.h: Likewise.
27764 * include/grub/i386/efi/loader.h: Likewise.
27765 * include/grub/i386/efi/time.h: Likewise.
27766 * include/grub/i386/pc/biosdisk.h: Likewise.
27767 * include/grub/i386/pc/boot.h: Likewise.
27768 * include/grub/i386/pc/chainloader.h: Likewise.
27769 * include/grub/i386/pc/console.h: Likewise.
27770 * include/grub/i386/pc/init.h: Likewise.
27771 * include/grub/i386/pc/kernel.h: Likewise.
27772 * include/grub/i386/pc/loader.h: Likewise.
27773 * include/grub/i386/pc/memory.h: Likewise.
27774 * include/grub/i386/pc/multiboot.h: Likewise.
27775 * include/grub/i386/pc/serial.h: Likewise.
27776 * include/grub/i386/pc/time.h: Likewise.
27777 * include/grub/i386/pc/vbe.h: Likewise.
27778 * include/grub/i386/pc/vbeblit.h: Likewise.
27779 * include/grub/i386/pc/vbefill.h: Likewise.
27780 * include/grub/i386/pc/vbeutil.h: Likewise.
27781 * include/grub/i386/pc/vga.h: Likewise.
27782 * include/grub/ieee1275/ieee1275.h: Likewise.
27783 * include/grub/ieee1275/ofdisk.h: Likewise.
27784 * include/grub/powerpc/libgcc.h: Likewise.
27785 * include/grub/powerpc/setjmp.h: Likewise.
27786 * include/grub/powerpc/types.h: Likewise.
27787 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
27788 * include/grub/powerpc/ieee1275/console.h: Likewise.
27789 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
27790 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27791 * include/grub/powerpc/ieee1275/loader.h: Likewise.
27792 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
27793 * include/grub/powerpc/ieee1275/time.h: Likewise.
27794 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
27795 * include/grub/sparc64/libgcc.h: Likewise.
27796 * include/grub/sparc64/setjmp.h: Likewise.
27797 * include/grub/sparc64/types.h: Likewise.
27798 * include/grub/sparc64/ieee1275/console.h: Likewise.
27799 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27800 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27801 * include/grub/sparc64/ieee1275/time.h: Likewise.
27802 * include/grub/util/biosdisk.h: Likewise.
27803 * include/grub/util/getroot.h: Likewise.
27804 * include/grub/util/lvm.h: Likewise.
27805 * include/grub/util/misc.h: Likewise.
27806 * include/grub/util/raid.h: Likewise.
27807 * include/grub/util/resolve.h: Likewise.
27808 * io/gzio.c: Likewise.
27809 * kern/device.c: Likewise.
27810 * kern/disk.c: Likewise.
27811 * kern/dl.c: Likewise.
27812 * kern/elf.c: Likewise.
27813 * kern/env.c: Likewise.
27814 * kern/err.c: Likewise.
27815 * kern/file.c: Likewise.
27816 * kern/fs.c: Likewise.
27817 * kern/loader.c: Likewise.
27818 * kern/main.c: Likewise.
27819 * kern/misc.c: Likewise.
27820 * kern/mm.c: Likewise.
27821 * kern/parser.c: Likewise.
27822 * kern/partition.c: Likewise.
27823 * kern/rescue.c: Likewise.
27824 * kern/term.c: Likewise.
27825 * kern/efi/efi.c: Likewise.
27826 * kern/efi/init.c: Likewise.
27827 * kern/efi/mm.c: Likewise.
27828 * kern/i386/dl.c: Likewise.
27829 * kern/i386/efi/init.c: Likewise.
27830 * kern/i386/efi/startup.S: Likewise.
27831 * kern/i386/pc/init.c: Likewise.
27832 * kern/i386/pc/lzo1x.S: Likewise.
27833 * kern/i386/pc/startup.S: Likewise.
27834 * kern/ieee1275/ieee1275.c: Likewise.
27835 * kern/powerpc/cache.S: Likewise.
27836 * kern/powerpc/dl.c: Likewise.
27837 * kern/powerpc/ieee1275/cmain.c: Likewise.
27838 * kern/powerpc/ieee1275/crt0.S: Likewise.
27839 * kern/powerpc/ieee1275/init.c: Likewise.
27840 * kern/powerpc/ieee1275/openfw.c: Likewise.
27841 * kern/sparc64/cache.S: Likewise.
27842 * kern/sparc64/dl.c: Likewise.
27843 * kern/sparc64/ieee1275/init.c: Likewise.
27844 * kern/sparc64/ieee1275/openfw.c: Likewise.
27845 * loader/efi/chainloader.c: Likewise.
27846 * loader/efi/chainloader_normal.c: Likewise.
27847 * loader/i386/efi/linux.c: Likewise.
27848 * loader/i386/efi/linux_normal.c: Likewise.
27849 * loader/i386/pc/chainloader.c: Likewise.
27850 * loader/i386/pc/chainloader_normal.c: Likewise.
27851 * loader/i386/pc/linux.c: Likewise.
27852 * loader/i386/pc/linux_normal.c: Likewise.
27853 * loader/i386/pc/multiboot.c: Likewise.
27854 * loader/i386/pc/multiboot_normal.c: Likewise.
27855 * loader/powerpc/ieee1275/linux.c: Likewise.
27856 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27857 * normal/arg.c: Likewise.
27858 * normal/cmdline.c: Likewise.
27859 * normal/command.c: Likewise.
27860 * normal/completion.c: Likewise.
27861 * normal/execute.c: Likewise.
27862 * normal/function.c: Likewise.
27863 * normal/lexer.c: Likewise.
27864 * normal/main.c: Likewise.
27865 * normal/menu.c: Likewise.
27866 * normal/menu_entry.c: Likewise.
27867 * normal/misc.c: Likewise.
27868 * normal/parser.y: Likewise.
27869 * normal/script.c: Likewise.
27870 * normal/i386/setjmp.S: Likewise.
27871 * normal/powerpc/setjmp.S: Likewise.
27872 * normal/sparc64/setjmp.S: Likewise.
27873 * partmap/acorn.c: Likewise.
27874 * partmap/amiga.c: Likewise.
27875 * partmap/apple.c: Likewise.
27876 * partmap/gpt.c: Likewise.
27877 * partmap/pc.c: Likewise.
27878 * partmap/sun.c: Likewise.
27879 * term/gfxterm.c: Likewise.
27880 * term/terminfo.c: Likewise.
27881 * term/efi/console.c: Likewise.
27882 * term/i386/pc/console.c: Likewise.
27883 * term/i386/pc/serial.c: Likewise.
27884 * term/i386/pc/vesafb.c: Likewise.
27885 * term/i386/pc/vga.c: Likewise.
27886 * term/ieee1275/ofconsole.c: Likewise.
27887 * util/biosdisk.c: Likewise.
27888 * util/console.c: Likewise.
27889 * util/genmoddep.c: Likewise.
27890 * util/getroot.c: Likewise.
27891 * util/grub-emu.c: Likewise.
27892 * util/grub-mkdevicemap.c: Likewise.
27893 * util/grub-probe.c: Likewise.
27894 * util/lvm.c: Likewise.
27895 * util/misc.c: Likewise.
27896 * util/raid.c: Likewise.
27897 * util/resolve.c: Likewise.
27898 * util/update-grub.in: Likewise.
27899 * util/update-grub_lib.in: Likewise.
27900 * util/grub.d/00_header.in: Likewise.
27901 * util/grub.d/10_hurd.in: Likewise.
27902 * util/grub.d/10_linux.in: Likewise.
27903 * util/i386/efi/grub-install.in: Likewise.
27904 * util/i386/efi/grub-mkimage.c: Likewise.
27905 * util/i386/pc/grub-install.in: Likewise.
27906 * util/i386/pc/grub-mkimage.c: Likewise.
27907 * util/i386/pc/grub-mkrescue.in: Likewise.
27908 * util/i386/pc/grub-setup.c: Likewise.
27909 * util/i386/pc/misc.c: Likewise.
27910 * util/powerpc/ieee1275/grub-install.in: Likewise.
27911 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
27912 * util/powerpc/ieee1275/misc.c: Likewise.
27913 * video/bitmap.c: Likewise.
27914 * video/video.c: Likewise.
27915 * video/i386/pc/vbe.c: Likewise.
27916 * video/i386/pc/vbeblit.c: Likewise.
27917 * video/i386/pc/vbefill.c: Likewise.
27918 * video/i386/pc/vbeutil.c: Likewise.
27919 * video/readers/tga.c: Likewise.
27920
27921 2007-07-02 Robert Millan <rmh@aybabtu.com>
27922
27923 * conf/i386-efi.rmk: Replace obsolete reference to
27924 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
27925 with util/getroot.c.
27926 * conf/powerpc-ieee1275.rmk: Likewise.
27927 * conf/sparc64-ieee1275.rmk: Likewise.
27928
27929 * util/grub-emu.c (main): Fix unchecked pointer handling.
27930
27931 2007-07-02 Robert Millan <rmh@aybabtu.com>
27932
27933 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
27934 invocation to fail, in order to support partition-less media.
27935
27936 * util/i386/pc/grub-install.in: Likewise.
27937
27938 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
27939 which fs or partmap modules are needed (akin to its sister scripts).
27940
27941 Also use grub-probe to get rid of unportable /proc/mounts check.
27942
27943 Print the same informational message that the other scripts do, before
27944 exiting.
27945
27946 2007-06-23 Robert Millan <rmh@aybabtu.com>
27947
27948 * util/update-grub_lib.in (font_path): New function. Determine whether
27949 a font file can be found and, if so, echo the GRUB path to it.
27950
27951 * util/update-grub.in: Handle multiple terminals depending on user
27952 input, platform availability and font file presence. Propagate
27953 variables of our findings to /etc/grub.d/ children.
27954
27955 * util/grub.d/00_header.in: Handle multiple terminals, based on
27956 environment setup by update-grub.
27957
27958 2007-06-23 Robert Millan <rmh@aybabtu.com>
27959
27960 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
27961
27962 2007-06-21 Robert Millan <rmh@aybabtu.com>
27963
27964 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
27965 indicate end of data section in kernel image.
27966 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
27967 GRUB_KERNEL_MACHINE_DATA_END.
27968
27969 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
27970 space for it.
27971 * kern/i386/efi/startup.S: Likewise.
27972
27973 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
27974 during image generation. Implement --prefix option to override this
27975 patch.
27976 * util/i386/efi/grub-mkimage.c: Likewise.
27977
27978 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
27979 code to make path relative to its root into a separate function.
27980
27981 * util/i386/pc/grub-install.in: Use newly provided
27982 make_system_path_relative_to_its_root() to convert ${grubdir}, then
27983 pass the result to grub-install --prefix.
27984
27985 2007-06-13 Robert Millan <rmh@aybabtu.com>
27986
27987 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
27988 DEFAULT_DEVICE_MAP.
27989 * util/grub-emu.c: Use above definitions from misc.h instead of
27990 defining them.
27991 * util/grub-mkdevicemap.c: Likewise.
27992 * util/i386/pc/grub-setup.c: Likewise.
27993 * util/grub-probe.c: Likewise.
27994 (probe): Abort with grub_util_error() when either
27995 grub_guess_root_device or grub_util_get_grub_dev fails.
27996
27997 2007-06-12 Robert Millan <rmh@aybabtu.com>
27998
27999 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
28000 "pager" assignment.
28001 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
28002 "pcdata".
28003 * util/grub-probe.c (probe): Likewise for "drive_name".
28004
28005 2007-06-11 Robert Millan <rmh@aybabtu.com>
28006
28007 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
28008 not just the cdrom one.
28009
28010 2007-06-11 Robert Millan <rmh@aybabtu.com>
28011
28012 * util/i386/pc/grub-mkrescue.in: Add "set -e".
28013 Add --pkglibdir=DIR option to override pkglibdir.
28014 Mention --image-type=TYPE in help output.
28015 Fix --grub-mkimage (it was a no-op).
28016 Abort gracefully when no parameter is given.
28017
28018 2007-06-11 Robert Millan <rmh@aybabtu.com>
28019
28020 * util/i386/pc/grub-mkrescue.in: New file.
28021 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
28022 * Makefile.in: Handle bin_SCRIPTS.
28023
28024 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
28025
28026 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
28027 list of video modes.
28028
28029 2007-06-06 Robert Millan <rmh@aybabtu.com>
28030
28031 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
28032 file doesn't exist, or if it is in a filesystem grub can't read.
28033
28034 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
28035 not abort if GRUB_DRIVE could not be defined. Rearrange generated
28036 header comment to fit in 80 columns when the variables are resolved.
28037
28038 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
28039 could be identified by update-grub. Remove redundant check for
28040 unifont.pff existence (since convert_system_path_to_grub_path now
28041 handles that).
28042
28043 2007-06-04 Robert Millan <rmh@aybabtu.com>
28044
28045 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
28046
28047 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
28048
28049 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
28050
28051 2007-06-04 Robert Millan <rmh@aybabtu.com>
28052
28053 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
28054
28055 * include/grub/partition.h: Declare grub_apple_partition_map_init and
28056 grub_apple_partition_map_fini.
28057
28058 * util/biosdisk.c
28059 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
28060 to access >2 TiB disks).
28061
28062 Print disk->total_sectors with %llu instead of %lu, since this
28063 variable is always 64-bit (prevents wrong disk size from being displayed
28064 on either >2 TiB disk or big-endian CPU).
28065
28066 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
28067 into a generic case that supports all (sane) partition maps.
28068
28069 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
28070 breaks big-endian.
28071
28072 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
28073 and grub_apple_partition_map_fini() after that.
28074
28075 2007-06-01 Robert Millan <rmh@aybabtu.com>
28076
28077 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
28078
28079 * util/grub.d/00_header.in: Only enable gfxterm when
28080 convert_system_path_to_grub_path() succeeds.
28081
28082 2007-05-20 Robert Millan <rmh@aybabtu.com>
28083
28084 * util/update-grub_lib.in: New file.
28085 * DISTLIST: Add update-grub_lib.in.
28086 * conf/common.rmk: Generate update-grub_lib and install it in
28087 $(lib_DATA).
28088 * Makefile.in: Add install routine for $(lib_DATA).
28089
28090 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
28091 function provided by update-grub_lib to support arbitrary paths of
28092 unifont.pff.
28093 * util/update-grub.in: Use convert_system_path_to_grub_path() to
28094 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
28095
28096 2007-05-19 Robert Millan <rmh@aybabtu.com>
28097
28098 * commands/i386/cpuid.c: New module.
28099 * DISTLIST: Add it.
28100 * conf/i386-efi.rmk: Enable cpuid.mod.
28101 * conf/i386-pc.rmk: Likewise.
28102
28103 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28104
28105 * kern/disk.c (grub_disk_read): Check return value of
28106 grub_realloc().
28107
28108 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28109
28110 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
28111 arrays.
28112 * disk/raid.c (grub_raid_open): Likewise.
28113
28114 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28115
28116 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
28117 stack instead of on the heap.
28118
28119 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
28120 before doing a read on it.
28121
28122 * configure.ac: Only use -fno-stack-protector for the target
28123 environment.
28124
28125 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28126
28127 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
28128 __attribute_ ((unused)) to mode_type argument.
28129
28130 * util/getroot.c (grub_guess_root_device): Fix #endif.
28131
28132 * kern/misc.c (memcmp): Fix prototype.
28133
28134 * include/grub/partition.h [GRUB_UTIL]
28135 (grub_gpt_partition_map_init): Add prototype.
28136 (grub_gpt_partition_map_fini): Likewise.
28137
28138 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
28139 at the right place.
28140
28141 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
28142 (grub_fat_read_data): Likewise.
28143 (grub_fat_find_dir): Likewise.
28144
28145 * font/manager.c (find_glyph): Make table a const.
28146 (grub_font_get_glyph): Remove bitmap from if statement.
28147
28148 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
28149
28150 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
28151 code, first search for device in /dev/mapper, then in /dev.
28152 (grub_util_get_grub_dev): New function.
28153 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
28154 prototype.
28155 * util/grub-probe.c (probe): Remove check for RAID, call
28156 grub_util_get_grub_dev() instead of
28157 grub_util_biosdisk_get_grub_dev().
28158 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
28159 grub_util_biosdisk_get_grub_dev().
28160 * util/i386/pc/grub-setup.c (main): Likewise.
28161
28162 2007-05-16 Robert Millan <rmh@aybabtu.com>
28163
28164 * DISTLIST: Update for the latest changes.
28165 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
28166 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
28167 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
28168 grub/util/biosdisk.h.
28169 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
28170 grub/util/biosdisk.h.
28171
28172 2007-05-16 Robert Millan <rmh@aybabtu.com>
28173
28174 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
28175
28176 2007-05-16 Robert Millan <rmh@aybabtu.com>
28177
28178 * util/i386/efi/grub-install.in: New.
28179 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
28180 newly added grub-install.
28181 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
28182 include.
28183 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
28184 grub/util/biosdisk.h.
28185 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
28186 grub/util/biosdisk.h.
28187
28188 2007-05-16 Robert Millan <rmh@aybabtu.com>
28189
28190 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
28191 * include/grub/util/biosdisk.h: ... here.
28192 * util/i386/pc/biosdisk.c: Moved to ...
28193 * util/biosdisk.c: ... here.
28194 * util/i386/pc/getroot.c: Moved to ...
28195 * util/getroot.c: ... here.
28196 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
28197 * util/grub-mkdevicemap.c: ... here.
28198 * util/i386/pc/grub-probe.c: Moved to ...
28199 * util/grub-probe.c: ... here.
28200
28201 2007-05-15 Robert Millan <rmh@aybabtu.com>
28202
28203 * util/update-grub.in: Remove duplicated line in grub.cfg header
28204 message.
28205
28206 2007-05-13 Robert Millan <rmh@aybabtu.com>
28207
28208 * util/update-grub.in: Fix a few assumptions about the devices holding
28209 /, /boot and /boot/grub being the same.
28210 * util/grub.d/00_header.in: Likewise.
28211 * util/grub.d/10_hurd.in: Likewise.
28212 * util/grub.d/10_linux.in: Likewise.
28213
28214 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
28215 patterns. Use that to define the `.old' suffix as older than `'.
28216
28217 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
28218
28219 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
28220 the grub.cfg header message.
28221
28222 2007-05-11 Robert Millan <rmh@aybabtu.com>
28223
28224 * util/update-grub.in: Create device.map if it doesn't already exist,
28225 before attempting to run grub-probe.
28226 Check for grub-probe and grub-mkdevicemap with the same code
28227 grub-install is using.
28228 Remove test mode.
28229
28230 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
28231
28232 * Makefile.in: Add the datarootdir autoconf variable.
28233
28234 2007-05-09 Robert Millan <rmh@aybabtu.com>
28235
28236 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
28237 fail gracefully if dev->disk->partition == NULL.
28238
28239 2007-05-07 Robert Millan <rmh@aybabtu.com>
28240
28241 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
28242 determine partition map module.
28243 * util/i386/pc/grub-install.in: Use this feature to decide which
28244 partition module to load, instead of hardcoding pc and gpt.
28245
28246 2007-05-07 Robert Millan <rmh@aybabtu.com>
28247
28248 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
28249 source directory differs from build directory.
28250
28251 2007-05-05 Robert Millan <rmh@aybabtu.com>
28252
28253 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
28254 initialisation.
28255
28256 2007-05-05 Robert Millan <rmh@aybabtu.com>
28257
28258 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
28259
28260 2007-05-05 Robert Millan <rmh@aybabtu.com>
28261
28262 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
28263 command-line arguments via ${GRUB_CMDLINE_LINUX}.
28264
28265 2007-05-05 Robert Millan <rmh@aybabtu.com>
28266
28267 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
28268 (grub_probe_SOURCES): Likewise.
28269 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
28270 GPT and initialize dos_part and bsd_part accordingly.
28271 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
28272 install_bsd_part.
28273 (main): Activate gpt module for use during partition identification,
28274 and deactivate it afterwards.
28275 * util/i386/pc/grub-install.in: Add gpt module to core.img.
28276 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
28277 partition identification, and deactivate it afterwards.
28278
28279 2007-05-05 Robert Millan <rmh@aybabtu.com>
28280
28281 * term/i386/pc/console.c (grub_console_fini): Call
28282 grub_term_set_current() before grub_term_unregister().
28283
28284 2007-05-04 Robert Millan <rmh@aybabtu.com>
28285
28286 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
28287 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
28288 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
28289 and update-grub_DATA.
28290 * conf/common.rmk: Build and install update-grub components.
28291 * conf/common.mk: Regenerate.
28292 * util/update-grub.in: New. Core of update-grub.
28293 * util/grub.d/00_header.in: New. Generates grub.cfg header.
28294 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
28295 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
28296 * util/grub.d/README: New. Document grub.d directory layout.
28297
28298 2007-05-01 Robert Millan <rmh@aybabtu.com>
28299
28300 * util/grub-emu.c: Move initialization functions
28301 grub_util_biosdisk_init() and grub_init_all() before
28302 grub_util_biosdisk_get_grub_dev(), which relies on them.
28303
28304 2007-04-19 Robert Millan <rmh@aybabtu.com>
28305
28306 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
28307 it is used later.
28308
28309 2007-04-18 Jerone Young <jerone@gmail.com>
28310
28311 * kernel/elf.c: Add missing parenthesis for conditional statement
28312 stanza.
28313
28314 2007-04-10 Jerone Young <jerone@gmail.com>
28315
28316 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
28317 continue on and look for device node with real device name.
28318
28319 2007-04-10 Jerone Young <jerone@gmail.com>
28320
28321 * configure.ac: Add argument for autoconf to use transformation
28322 ability.
28323 * Makefile.in: Add autoconf package transformation code.
28324 * util/i386/pc/grub-install.in: Likewise.
28325 * util/powerpc/ieee1275/grub-install.in: Likewise.
28326
28327 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28328
28329 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
28330 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
28331 (EXT2_REVISION): Likewise.
28332 (EXT2_INODE_SIZE): Likewise.
28333 (struct grub_ext2_block_group): Added a missing member
28334 "used_dirs".
28335 (grub_ext2_read_inode): Divide by the inode size in a superblock
28336 instead of 128 to obtain INODES_PER_BLOCK.
28337 Use the macro EXT2_INODE_SIZE instead of directly using
28338 SBLOCK->INODE_SIZE.
28339
28340 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28341
28342 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
28343 superblock instead of the structure size to compute an
28344 offset. This fixes the problem that GRUB could not read a
28345 filesystem when inode size is different from 128-byte.
28346
28347 2007-03-05 Marco Gerards <marco@gnu.org>
28348
28349 * normal/main.c (read_config_file): When "menu" is not set, create
28350 an initial context.
28351
28352 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28353
28354 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
28355 (HEAP_LIMIT): New macro.
28356 (grub_claim_heap): Claim memory up to `heaplimit'.
28357
28358 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28359
28360 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
28361 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
28362 (_start): Likewise.
28363 (grub_arch_modules_addr): Return address after `_end'.
28364 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
28365 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
28366 (add_segments): Calculate `_end' from phdr size and location.
28367 (ALIGN_UP): Moved to ...
28368 * include/grub/misc.h: here.
28369 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
28370 New macro.
28371 (GRUB_IEEE1275_MODULE_BASE): Removed.
28372
28373 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28374
28375 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
28376 loop boundary.
28377
28378 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28379
28380 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
28381 All users updated.
28382 (grub_elf64_load_hook_t): Likewise.
28383 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
28384 debug output.
28385
28386 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28387
28388 * kern/mm.c: Update copyright.
28389 (grub_mm_debug): Correct syntax error.
28390 (grub_mm_dump_free): New function.
28391 (grub_debug_free): Call `grub_free'.
28392 * include/grub/mm.h: Update copyright.
28393 (grub_mm_dump_free): Add declaration.
28394
28395 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28396
28397 * include/grub/ieee1275/ieee1275.h: Update copyright.
28398 * kern/powerpc/ieee1275/init.c: Likewise.
28399 * kern/powerpc/ieee1275/openfw.c: Likewise.
28400
28401 * loader/powerpc/ieee1275/linux.c: Likewise.
28402 * include/grub/elfload.h: Likewise.
28403 * kern/elf.c: Likewise.
28404 (grub_elf32_load): Pass `base' and `size' parameters. Update all
28405 callers.
28406 (grub_elf64_load): Likewise.
28407 (grub_elf32_load_segment): Move to a nested function.
28408 (grub_elf64_load_segment): Likewise.
28409
28410 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28411
28412 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
28413 prototype.
28414 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
28415 (grub_heap_len): Likewise.
28416 (HEAP_SIZE): New macro.
28417 (grub_claim_heap): New function.
28418 (grub_machine_init): Don't claim heap directly. Call
28419 `grub_claim_heap'.
28420 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
28421 (grub_available_iterate): New function.
28422
28423 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
28424
28425 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
28426 * configure.ac: Use it for testing the HOST and TARGET compilers.
28427
28428 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
28429
28430 * Makefile.in (enable_grub_emu): New variable.
28431 * configure.ac (--enable-grub-emu): New option.
28432 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
28433 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
28434 * conf/i386-pc.rmk: Likewise.
28435 * conf/powerpc-ieee1275.rmk: Likewise.
28436 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
28437
28438 2006-12-12 Marco Gerards <marco@gnu.org>
28439
28440 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
28441
28442 * kern/env.c (grub_env_unset): Don't free the member `value' when
28443 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
28444 pointer.
28445
28446 * normal/main.c (current_menu): Removed.
28447 (free_menu): Unset the `menu' environment variable.
28448 (grub_normal_menu_addentry): Make use of the environment variable
28449 `menu', instead of using the global `current_menu'. Allocate
28450 memory for the sourcecode of this entry.
28451 (read_config_file): New argument `nested', changed all callers.
28452 Only in the case of a new context, initialize a new menu. Set the
28453 `menu' environment variable.
28454 (grub_normal_execute): Don't set and unset the environment
28455 variable `menu' here anymore. Only free the menu when leaving the
28456 context.
28457
28458 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
28459 leak.
28460
28461 2006-12-11 Marco Gerards <marco@gnu.org>
28462
28463 * normal/menu_entry.c (run): Fix off by one bug so the last line
28464 is executed. Move the loader check to outside the loop.
28465
28466 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
28467
28468 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
28469
28470 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
28471
28472 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
28473 the number of sectors. Reported by Andrey Shuvikov
28474 <mr_hyro@yahoo.com>.
28475
28476 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
28477
28478 * kern/disk.c (grub_disk_read): When there is a read error, always
28479 try to read only the necessary data.
28480
28481 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
28482 disk/raid.c.
28483 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
28484 prototype.
28485 [GRUB_UTIL] (grub_raid_fini): Likewise.
28486 [GRUB_UTIL] (grub_lvm_init): Likewise.
28487 [GRUB_UTIL] (grub_lvm_fini): Likewise.
28488 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
28489 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
28490 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
28491 and grub_raid_fini().
28492
28493 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28494
28495 * include/grub/types.h (__unused): Rename to UNUSED.
28496 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
28497 (grub_elf64_size): Likewise.
28498
28499 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28500
28501 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
28502 grub_error_push and grub_error_pop in the error-handling path.
28503 (grub_elf32_load_segment): Only call grub_file_read with non-zero
28504 length.
28505
28506 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28507
28508 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
28509 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28511 (kernel_elf_SOURCES): Likewise.
28512 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
28513 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
28514 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28515 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28516 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
28517 (elf_mod_SOURCES): New variable.
28518 (elf_mod_CFLAGS): Likewise.
28519 (elf_mod_LDFLAGS): Likewise.
28520 * include/grub/types.h (__unused): New macro.
28521 * include/grub/elfload.h: New file.
28522 * kern/elf.c: Likewise.
28523 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
28524 (ELF32_LOADMASK): New macro.
28525 (ELF64_LOADMASK): Likewise.
28526 (vmlinux): Removed.
28527 (grub_linux_load32): New function.
28528 (grub_linux_load64): Likewise.
28529 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
28530 Use grub_elf_t instead of grub_file_t.
28531
28532 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
28533
28534 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
28535 `catch_result' to struct set_color_args.
28536
28537 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28538
28539 * normal/menu.c: Include grub/script.h.
28540 * normal/menu_entry.c: Likewise.
28541 * include/grub/normal.h: Do not include grub/script.h.
28542
28543 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28544
28545 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
28546
28547 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28548
28549 * kern/disk.c (grub_disk_open): Print debug messages when opening a
28550 disk.
28551 (grub_disk_close): Print debug messages when closing a disk.
28552 (grub_disk_read): Print debug messages when disk read fails.
28553 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
28554 filesystem type.
28555 * kern/partition.c: Include misc.h.
28556 (grub_partition_iterate): Print debug messages when detecting
28557 partition type.
28558
28559 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28560
28561 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
28562 is negative.
28563 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
28564
28565 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
28566
28567 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28568 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
28569
28570 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
28571
28572 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
28573 instead of sizeof(lv). Patch by Michael Guntsche.
28574
28575 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
28576
28577 * disk/lvm.c: Rename VGS to VG_LIST.
28578 (grub_lvm_iterate): Change VGS->LV to VG-LV.
28579 (grub_lvm_open): Likewise.
28580 Thanks to Michael Guntsche for finding this bug.
28581
28582 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28583
28584 * configure.ac (AC_INIT): Bumped to 1.95.
28585
28586 2006-10-14 Robert Millan <rmh@aybabtu.com>
28587
28588 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
28589 with "/dev/.static/dev/md".
28590
28591 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28592
28593 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
28594 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
28595 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
28596 DRIVE_NAME are always freed.
28597
28598 * util/i386/pc/biosdisk.c (make_device_name): Add one into
28599 DOS_PART, as a DOS partition is counted from one instead of zero
28600 now. Reported by Robert Millan.
28601
28602 2006-10-14 Robert Millan <rmh@aybabtu.com>
28603
28604 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
28605 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
28606 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
28607 string returned by grub_guess_root_device.
28608 * util/i386/pc/grub-setup.c: Likewise.
28609 * util/i386/pc/grub-probefs.c: Likewise.
28610
28611 * util/i386/pc/grub-probefs.c: Rename to ...
28612 * util/i386/pc/grub-probe.c: ... this.
28613 * DISTLIST: Remove grub-probefs, add grub-probe.
28614 * conf/i386-efi.rmk: Likewise.
28615 * conf/i386-pc.rmk: Likewise.
28616 * util/i386/pc/grub-install.in: Likewise.
28617
28618 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
28619 choose which information we want to print.
28620
28621 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28622
28623 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
28624 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
28625 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
28626 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
28627 video/readers/tga.c and video/i386/pc/vbeutil.c.
28628
28629 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
28630
28631 Added support for RAID and LVM.
28632
28633 * disk/lvm.c: New file.
28634 * disk/raid.c: Likewise.
28635 * include/grub/lvm.h: Likewise.
28636 * include/grub/raid.h: Likewise.
28637 * include/grub/util/lvm.h: Likewise.
28638 * include/grub/util/raid.h: Likewise.
28639 * util/lvm.c: Likewise.
28640 * util/raid.c: Likewise.
28641
28642 * include/grub/disk.h (grub_disk_dev_id): Add
28643 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
28644 (grub_disk_get_size): New prototype.
28645 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
28646 returns a partition.
28647 (grub_disk_get_size): New function.
28648
28649 * kern/i386/pc/init.c (make_install_device): Copy the prefix
28650 verbatim if grub_install_dos_part is -2.
28651
28652 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
28653 and LVM devices.
28654
28655 * util/i386/pc/grub-setup.c (setup): New argument
28656 MUST_EMBED. Force embedding of GRUB when the argument is
28657 true. Close FILE before returning.
28658 (main): Add support for RAID and LVM.
28659
28660 * conf/common.rmk: Add RAID and LVM modules.
28661 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
28662 util/lvm.c.
28663 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
28664
28665 * kern/misc.c (grub_strstr): New function.
28666 * include/grub/misc.h (grub_strstr): New prototype.
28667
28668 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
28669
28670 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
28671
28672 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
28673
28674 * kern/misc.c (grub_strtoull): Guess the base only if not
28675 specified.
28676
28677 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28678
28679 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
28680 PowerMac support.
28681
28682 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28683
28684 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
28685
28686 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
28687 Remove `flags' argument. All callers changed.
28688 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
28689 (IEEE1275_IHANDLE_INVALID): New variable.
28690 (IEEE1275_CELL_INVALID): New variable.
28691 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28692 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
28693 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
28694 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
28695 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
28696 codes from Open Firmware. All callers updated.
28697 (grub_ieee1275_next_property): Directly return Open Firmware return
28698 code.
28699 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28700 Standardize error checking from `grub_ieee1275_get_property'.
28701 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
28702 `devalias' to `aliases'. Correct comments. Consolidate error paths.
28703
28704 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28705
28706 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
28707 `instance_to_package_args' to `instance_to_path_args'.
28708
28709 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
28710 `grub_ieee1275_chosen'.
28711
28712 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
28713 `grub_ieee1275_interpret'.
28714
28715 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28716
28717 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
28718
28719 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28720
28721 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
28722 (__cmpdi): Likewise.
28723
28724 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
28725 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
28726 `grub_ssize_t'.
28727
28728 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
28729
28730 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
28731 to type `grub_ssize_t'.
28732 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
28733
28734 2006-09-22 Marco Gerards <marco@gnu.org>
28735
28736 * normal/script.c (grub_script_create_cmdmenu): Skip leading
28737 newlines.
28738
28739 2006-09-22 Marco Gerards <marco@gnu.org>
28740
28741 * commands/echo.c: New file.
28742
28743 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
28744
28745 * conf/common.rmk (echo_mod_SOURCES): New variable.
28746 (echo_mod_CFLAGS): Likewise.
28747 (echo_mod_LDFLAGS): Likewise.
28748
28749 2006-09-22 Marco Gerards <marco@gnu.org>
28750
28751 * normal/main.c (get_line): Malloc memory instead of using
28752 preallocated memory. Removed the arguments `cmdline' and
28753 `max_len'. Updated all callers.
28754
28755 2006-09-22 Marco Gerards <marco@gnu.org>
28756
28757 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
28758 (normal_mod_DEPENDENCIES): Likewise.
28759
28760 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
28761 (normal_mod_DEPENDENCIES): Likewise.
28762
28763 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
28764
28765 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
28766
28767 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
28768 programs.
28769 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
28770 (normal_mod_DEPENDENCIES): Likewise.
28771 * conf/i386-pc.mk: Regenerate.
28772 * conf/i386-efi.mk: Likewise
28773 * conf/common.mk: Likewise.
28774 * conf/powerpc-ieee1275.mk: Likewise.
28775 * conf/sparc64-ieee1275.mk: Likewise.
28776
28777 2006-09-22 Robert Millan <rmh@aybabtu.com>
28778
28779 Sync with i386 version.
28780 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
28781 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
28782
28783 2006-09-21 Robert Millan <rmh@aybabtu.com>
28784
28785 Import from GRUB Legacy (lib/device.c):
28786 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
28787 (init_device_map) [__linux__]: Add support for I2O devices.
28788
28789 2006-09-14 Marco Gerards <marco@gnu.org>
28790
28791 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
28792 `-melf_i386'.
28793
28794 2006-09-14 Robert Millan <rmh@aybabtu.com>
28795
28796 * util/i386/pc/grub-install.in: Skip menu.lst when removing
28797 /boot/grub/*.lst.
28798
28799 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
28800
28801 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
28802 before adding it to device.map.
28803
28804 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
28805
28806 * genmk.rb: Let GCC generate dependencies the first time it
28807 compiles a file; using the -MD option.
28808 * conf/common.mk: Regenerate.
28809 * conf/i386-pc.mk: Likewise.
28810 * conf/i386-efi.mk: Likewise.
28811 * conf/powerpc-ieee1275.mk: Likewise.
28812 * conf/sparc64-ieee1275.mk: Likewise.
28813
28814 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
28815
28816 Move the prototypes of grub_setjmp and grub_longjmp to
28817 cpu/setjmp.h, so that each architecture may specify different
28818 attributes.
28819
28820 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
28821 (grub_longjmp): Likewise.
28822 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
28823 (grub_longjmp): Likewise.
28824 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
28825 (grub_longjmp): Likewise.
28826
28827 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
28828 [!GRUB_UTIL] (grub_longjmp): Removed.
28829
28830 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
28831
28832 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
28833 "color!" method does not return any value.
28834
28835 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28836
28837 * include/grub/bitmap.h: New file.
28838
28839 * include/grub/i386/pc/vbeutil.h: Likewise.
28840
28841 * video/bitmap.c: Likewise.
28842
28843 * video/readers/tga.c: Likewise.
28844
28845 * video/i386/pc/vbeutil.c: Likewise.
28846
28847 * commands/videotest.c: Code cleanup and updated to reflect to new
28848 video API.
28849
28850 * term/gfxterm.c: Likewise.
28851
28852 * video/video.c: Likewise.
28853
28854 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
28855 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
28856 (bitmap_mod_SOURCES): New entry.
28857 (bitmap_mod_CFLAGS): Likewise.
28858 (bitmap_mod_LDFLAGS): Likewise.
28859 (tga_mod_SOURCES): Likewise.
28860 (tga_mod_CFLAGS): Likewise.
28861 (tga_mod_LDFLAGS): Likewise.
28862
28863 * include/grub/video.h (grub_video_blit_operators): New enum type.
28864 (grub_video_render_target): Changed as forward declaration and moved
28865 actual definition to be video driver specific.
28866 (grub_video_adapter.blit_bitmap): Added blitting operator.
28867 (grub_video_adapter.blit_render_target): Likewise.
28868 (grub_video_blit_bitmap): Likewise.
28869 (grub_video_blit_render_target): Likewise.
28870
28871 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
28872 driver specific render target definition.
28873 (grub_video_vbe_map_rgba): Added driver internal helper.
28874 (grub_video_vbe_unmap_color): Updated to use
28875 grub_video_i386_vbeblit_info.
28876 (grub_video_vbe_get_video_ptr): Likewise.
28877
28878 * include/grub/i386/pc/vbeblit.h
28879 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
28880 grub_video_i386_vbeblit_info.
28881 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28882 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28883 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28884 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28885 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28886 (grub_video_i386_vbeblit_index_index): Likewise.
28887 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
28888 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28889 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28890 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
28891 operator.
28892 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
28893 operator.
28894
28895 * video/i386/pc/vbeblit.c: Updated to reflect changes on
28896 include/grub/i386/pc/vbeblit.h.
28897
28898 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
28899 Updated to use grub_video_i386_vbeblit_info.
28900 (grub_video_i386_vbefill_R8G8B8): Likewise.
28901 (grub_video_i386_vbefill_index): Likewise.
28902 (grub_video_i386_vbefill): Added generic filler.
28903
28904 * video/i386/pc/vbefill.c: Updated to reflect changes on
28905 include/grub/i386/pc/vbefill.h.
28906
28907 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
28908 grub_video_i386_vbeblit_info.
28909 (grub_video_vbe_unmap_color): Likewise.
28910 (grub_video_vbe_blit_glyph): Likewise.
28911 (grub_video_vbe_scroll): Likewise.
28912 (grub_video_vbe_draw_pixel): Removed function.
28913 (grub_video_vbe_get_pixel): Likewise.
28914 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
28915 updated code to use it.
28916 (common_blitter): Added common blitter for render target and bitmap.
28917 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
28918 (grub_video_vbe_blit_render_target): Likewise.
28919
28920 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
28921
28922 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
28923 is in text mode if there is no console control protocol instance
28924 available.
28925
28926 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28927
28928 * include/grub/video.h: Code cleanup.
28929
28930 * include/grub/i386/pc/vbe.h: Likewise.
28931
28932 * video/i386/pc/vbe.c: Likewise.
28933
28934 * video/i386/pc/vbeblit.c: Likewise.
28935
28936 * video/i386/pc/vbefill.c: Likewise.
28937
28938 * video/video.c: Likewise. Also added more comments.
28939
28940 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28941
28942 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
28943 (struct grub_biosdisk_dap): Likewise.
28944
28945 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
28946 linkage settings for all functions.
28947
28948 2006-07-12 Marco Gerards <marco@gnu.org>
28949
28950 * configure.ac (--enable-mm-debug): Fix typo.
28951
28952 * genkernsyms.sh.in: Use proper quoting for `CC'.
28953
28954 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
28955
28956 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
28957 (normal_mod_ASFLAGS): Remove "-m32".
28958
28959 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
28960
28961 * util/misc.c: Include config.h.
28962 [!HAVE_MEMALIGN]: Do not include malloc.h.
28963 (grub_memalign): Use posix_memalign, if present. Then, use
28964 memalign, if present. Otherwise, emit an error.
28965
28966 * util/grub-emu.c: Do not include malloc.h.
28967
28968 * include/grub/util/misc.h: Include unistd.h. This is required for
28969 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
28970 D. Eades III <hde@foobar-qux.org>.
28971
28972 * configure.ac (AC_GNU_SOURCE): Added.
28973 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
28974 type.
28975
28976 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
28977
28978 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
28979 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
28980
28981 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
28982
28983 * include/grub/types.h (grub_host_addr_t): Rename to
28984 grub_target_addr_t.
28985 (grub_host_off_t): Rename to grub_target_off_t.
28986 (grub_host_size_t): Rename to grub_target_size_t.
28987 (grub_host_ssize_t): Rename to grub_target_ssize_t.
28988 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
28989
28990 * include/grub/kernel.h (struct grub_module_header): Change type
28991 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
28992 (grub_module_info): Likewise.
28993
28994 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28995
28996 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
28997 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
28998 Velazquez <jesus.velazquez@gmail.com>.
28999
29000 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29001
29002 Count partitions from 1 instead of 0 in the string representation
29003 of partitions. Still use 0-based internally.
29004
29005 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
29006 (sun_partition_map_iterate): Use grub_partition_t instead of
29007 struct grub_partition *. Cast DESC->START_CYLINDER to
29008 grub_uint64_t after converting the endian.
29009 (sun_partition_map_probe): Subtract 1 for PARTNUM.
29010 (sun_partition_map_get_name): Add 1 to P->INDEX.
29011
29012 * partmap/pc.c (grub_partition_parse): Subtract 1 for
29013 PCDATA->DOS_PART.
29014 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
29015
29016 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
29017 zero instead of one.
29018 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
29019 (gpt_partition_map_get_name): Add 1 into P->INDEX.
29020
29021 * partmap/apple.c (apple_partition_map_iterate): Change the type
29022 of POS to unsigned.
29023 (apple_partition_map_probe): Subtract 1 for PARTNUM.
29024 (apple_partition_map_get_name): Add 1 into P->INDEX.
29025
29026 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
29027 of POS to unsigned.
29028 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
29029 calculate the offset of a partition.
29030 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
29031 (amiga_partition_map_get_name): Add 1 into P->INDEX.
29032
29033 * partmap/acorn.c (acorn_partition_map_find): Change the type of
29034 SECTOR to grub_disk_addr_t.
29035 (acorn_partition_map_iterate): Likewise.
29036 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
29037 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
29038 top.
29039 (acorn_partition_map_get_name): Add 1 into P->INDEX.
29040
29041 * kern/i386/pc/init.c (make_install_device): Add 1 into
29042 GRUB_INSTALL_DOS_PART.
29043
29044 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
29045 conditional.
29046
29047 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29048
29049 Clean up the code to support 64-bit addressing in disks and
29050 files. This change is not enough for filesystems yet.
29051
29052 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
29053 type of "start" to grub_uint64_t.
29054 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
29055 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
29056 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
29057 convert addresses.
29058
29059 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
29060 to grub_disk_addr_t.
29061
29062 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
29063 string.
29064
29065 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29066
29067 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
29068 to char *.
29069
29070 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
29071
29072 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
29073
29074 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
29075
29076 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
29077 to grub_off_t, to detect an error from grub_file_seek.
29078 (grub_multiboot_load_elf32): Likewise.
29079
29080 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
29081 maximum unsigned long value when an overflow is detected.
29082 (grub_strtoull): New function.
29083 (grub_divmod64): Likewise.
29084 (grub_lltoa): use grub_divmod64.
29085
29086 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
29087 grub_disk_addr_t.
29088 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
29089 the pointer to next character. Use grub_strtoull instead of
29090 grub_strtoul.
29091 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
29092 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
29093 respectively.
29094
29095 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
29096 return value is signed.
29097 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
29098 test if OFFSET is less than zero, as OFFSET is unsigned now.
29099
29100 * kern/disk.c (struct grub_disk_cache): Change the type of
29101 "sector" to grub_disk_addr_t.
29102 (grub_disk_cache_get_index): Change the type of SECTOR to
29103 grub_disk_addr_t. Calculate the hash with SECTOR casted to
29104 unsigned after shifting.
29105 (grub_disk_cache_invalidate): Change the type of SECTOR to
29106 grub_disk_addr_t.
29107 (grub_disk_cache_unlock): Likewise.
29108 (grub_disk_cache_store): Likewise.
29109 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
29110 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
29111 grub_disk_addr_t and grub_uint64_t, respectively.
29112 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
29113 body, as the value of OFFSET is tweaked by
29114 grub_disk_check_range. Change the types of START_SECTOR, LEN and
29115 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
29116 respectively.
29117 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
29118 body, as the value of OFFSET is tweaked by
29119 grub_disk_check_range. Change the types of LEN and N to
29120 grub_size_t.
29121
29122 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
29123 and "saved_offset" to grub_off_t.
29124 (test_header): Cast BUF to char *.
29125 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
29126 to char *.
29127 (grub_gzio_read): Change the types of OFFSET and SIZE to
29128 grub_off_t and grub_size_t, respectively.
29129
29130 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
29131 Removed.
29132 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
29133 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
29134 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
29135 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
29136 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
29137
29138 * include/grub/types.h (grub_off_t): Unconditionally set to
29139 grub_uint64_t.
29140 (grub_disk_addr_t): Changed to grub_uint64_t.
29141
29142 * include/grub/partition.h (struct grub_partition): Change the
29143 types of "start", "len" and "offset" to grub_disk_addr_t,
29144 grub_uint64_t and grub_disk_addr_t, respectively.
29145 (grub_partition_get_start): Return grub_disk_addr_t.
29146 (grub_partition_get_len): Return grub_uint64_t.
29147
29148 * include/grub/misc.h (grub_strtoull): New prototype.
29149 (grub_divmod64): Likewise.
29150
29151 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
29152 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
29153 grub_off_t, respectively.
29154 All callers and references changed.
29155
29156 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
29157 grub_size_t in "read".
29158 All callers and references changed.
29159
29160 * include/grub/file.h (struct grub_file): Change the types of
29161 "offset" and "size" to grub_off_t and grub_off_t,
29162 respectively. Change the type of SECTOR to grub_disk_addr_t in
29163 "read_hook".
29164 (grub_file_read): Change the type of LEN to grub_size_t.
29165 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
29166 grub_off_t.
29167 (grub_file_size): Return grub_off_t.
29168 (grub_file_tell): Likewise.
29169 All callers and references changed.
29170
29171 * include/grub/disk.h (struct grub_disk_dev): Change the types of
29172 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
29173 "write".
29174 (struct grub_disk): Change the type of "total_sectors" to
29175 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
29176 "read_hook".
29177 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
29178 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
29179 (grub_disk_write): Likewise.
29180 All callers and references changed.
29181
29182 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
29183 char * for grub_strncmp to silence gcc.
29184 (grub_iso9660_mount): Likewise.
29185 (grub_iso9660_mount): Likewise.
29186 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
29187 return statement.
29188 (grub_iso9660_iterate_dir): Likewise.
29189 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
29190
29191 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
29192 LEN to grub_disk_addr_t and grub_size_t, respectively.
29193
29194 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29195
29196 * fs/jfs.c (grub_jfs_read_file): Likewise.
29197
29198 * fs/minix.c (grub_jfs_read_file): Likewise.
29199
29200 * fs/sfs.c (grub_jfs_read_file): Likewise.
29201
29202 * fs/ufs.c (grub_jfs_read_file): Likewise.
29203
29204 * fs/xfs.c (grub_jfs_read_file): Likewise.
29205
29206 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
29207 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
29208 respectively.
29209
29210 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
29211 BLKNR to -1 instead of returning GRUB_ERRNO.
29212 (grub_ext2_read_file): Change the types of SECTOR and
29213 LEN to grub_disk_addr_t and grub_size_t, respectively.
29214
29215 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
29216 LEN to grub_disk_addr_t and grub_size_t, respectively.
29217
29218 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
29219 grub_file_read.
29220
29221 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
29222 string. Do not cast SECTOR explicitly.
29223
29224 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
29225 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
29226 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
29227 grub_disk_addr_t and grub_size_t, respectively. If the sector is
29228 over 2TB and LBA mode is not supported, raise an error.
29229 (get_safe_sectors): New function.
29230 (grub_biosdisk_read): Use get_safe_sectors.
29231 (grub_biosdisk_write): Likewise.
29232
29233 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
29234 (grub_efidisk_write): Likewise.
29235
29236 * disk/loopback.c (delete_loopback): Cosmetic changes.
29237 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
29238 correctly.
29239 (grub_loopback_open): Likewise.
29240 (grub_loopback_read): Likewise. Also, change the type of POS to
29241 grub_off_t, and fix the usage of grub_memset.
29242
29243 * commands/i386/pc/play.c: Include grub/machine/time.h.
29244
29245 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
29246 print FILE->SIZE.
29247
29248 * commands/configfile.c: Include grub/env.h.
29249
29250 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
29251 GRUB_ERRNO directly instead. Change the type of POS to
29252 grub_off_t. Follow the coding standard.
29253
29254 * commands/blocklist.c: Include grub/partition.h.
29255 (grub_cmd_blocklist): Return an error if the underlying device is
29256 not a disk. Take the starting sector of a partition into account,
29257 if a partition is used.
29258
29259 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
29260 a length field.
29261 (lba_mode): Support 64-bit addresses.
29262 (chs_mode): Likewise.
29263 (copy_buffer): Adapted to the new offsets of a length field and a
29264 segment field.
29265 (blocklist_default_start): Allocate 64-bit space.
29266
29267 * boot/i386/pc/boot.S (force_lba): Removed.
29268 (boot_drive): Moved to under KERNEL_SECTOR.
29269 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
29270 space.
29271 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
29272 is useless.
29273 (lba_mode): Refactored to support a 64-bit address. More size
29274 optimization.
29275 (setup_sectors): Likewise.
29276
29277 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29278
29279 * DISTLIST: Added include/grub/i386/linux.h. Removed
29280 include/grub/i386/pc/linux.h
29281
29282 * configure.ac (AC_INIT): Bumped to 1.94.
29283
29284 * config.guess: Updated from gnulib.
29285 * config.sub: Likewise.
29286 * install-sh: Likewise.
29287 * mkinstalldirs: Likewise.
29288
29289 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29290
29291 * conf/common.rmk (grub_modules_init.lst): Depended on
29292 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
29293 MODSRCFILES.
29294
29295 * genmk.rb (PModule::rule): Reverted the previous change.
29296
29297 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29298
29299 * conf/common.rmk (grub_modules_init.lst): Depends on
29300 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
29301 that the target does not exist before producing.
29302 (grub_modules_init.h): Remove the target before generating.
29303 (grub_emu_init.c): Likewise.
29304
29305 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
29306
29307 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
29308
29309 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
29310 for the target-specific tests. Make sure that we also have the
29311 up-to-date target variables for those tests.
29312
29313 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29314
29315 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
29316 (PModule::rule): Likewise.
29317
29318 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29319
29320 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
29321 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
29322 target-specific flags should be prefixed.
29323 (PModule::rule): Likewise.
29324
29325 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
29326
29327 * configure.ac (CMP): Check if cmp is available explicitly.
29328
29329 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
29330
29331 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
29332 (target_cpu): New variable.
29333 (pkglibdir): Use target_cpu instead of host_cpu.
29334
29335 * util/i386/pc/grub-install.in (host_cpu): Removed.
29336 (target_cpu): New variable.
29337 (pkglibdir): Use target_cpu instead of host_cpu.
29338
29339 * util/genmoddep.c: Removed.
29340
29341 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
29342 instead of GRUB_HOST_SIZEOF_VOID_P.
29343 * kern/dl.c: Likewise.
29344
29345 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
29346 ...
29347 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29348 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29349 (GRUB_TARGET_SIZEOF_LONG): ... this.
29350 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29351 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29352 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29353 to ...
29354 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29355 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29356 (GRUB_TARGET_SIZEOF_LONG): ... this.
29357 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29358 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29359 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29360 to ...
29361 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29362 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29363 (GRUB_TARGET_SIZEOF_LONG): ... this.
29364 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29365 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29366
29367 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
29368 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
29369 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
29370 instead of GRUB_HOST_SIZEOF_LONG.
29371 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
29372 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
29373 GRUB_CPU_WORDS_BIGENDIAN.
29374 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
29375 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
29376 grub_host_ssize_t.
29377
29378 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
29379 (genmoddep_SOURCES): Likewise.
29380 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
29381 (genmoddep_SOURCES): Likewise.
29382 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
29383 (genmoddep_SOURCES): Likewise.
29384 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
29385 Likewise.
29386 (genmoddep_SOURCES): Likewise.
29387
29388 * genmoddep.awk: New file.
29389
29390 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
29391 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
29392 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
29393 (PModule::rule): Likewise.
29394 (Program::rule): Likewise.
29395 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
29396 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
29397 respectively.
29398
29399 * configure.ac: Rewritten intensively to use host and target
29400 instead of build and host, respectively.
29401
29402 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
29403 (host_cpu): Removed.
29404 (target_cpu): New variable.
29405 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
29406 (BUILD_CC): Removed.
29407 (BUILD_CFLAGS): Likewise.
29408 (BUILD_CPPFLAGS): Likewise.
29409 (TARGET_CC): New variable.
29410 (TARGET_CFLAGS): Likewise.
29411 (TARGET_CPPFLAGS): Likewise.
29412 (TARGET_LDFLAGS): Likewise.
29413 (AWK): Likewise.
29414 (include): Use target_cpu instead of host_cpu.
29415 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
29416
29417 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
29418
29419 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
29420
29421 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
29422 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
29423 field 'false' to 'exec_on_false'.
29424 (grub_script_create_cmdif): Renamed argument names to reflect above
29425 changes.
29426
29427 * normal/execute.c (grub_script_execute_cmdif): Likewise.
29428
29429 * normal/script.c (grub_script_create_cmdif): Likewise.
29430
29431 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
29432
29433 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
29434 top.
29435 (grub_hfsplus_btree_recptr): Likewise.
29436 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
29437 FILEBLOCK both to pass a block number and store next block
29438 number.
29439 (grub_hfsplus_read_block): Rewritten heavily to support an extent
29440 overflow file correctly. Specify errors appropriately, because
29441 fshelp expects that GRUB_ERRNO is set when fails. Reuse
29442 grub_hfsplus_btree_recptr to get the pointer to a found key.
29443 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
29444 is found.
29445
29446 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
29447 linux.mod.
29448 (_linux_mod_SOURCES): New variable.
29449 (_linux_mod_CFLAGS): Likewise.
29450 (_linux_mod_LDFLAGS): Likewise.
29451 (linux_mod_SOURCES): Likewise.
29452 (linux_mod_CFLAGS): Likewise.
29453 (linux_mod_LDFLAGS): Likewise.
29454
29455 * DISTLIST: Added loader/i386/efi/linux.c,
29456 loader/i386/efi/linux_normal.c and
29457 include/grub/i386/efi/loader.h.
29458
29459 * loader/i386/efi/linux.c: New file.
29460 * loader/i386/efi/linux_normal.c: Likewise.
29461 * include/grub/i386/efi/loader.h: Likewise.
29462
29463 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
29464
29465 * commands/blocklist.c: New file.
29466
29467 * DISTLIST: Added commands/blocklist.c.
29468
29469 * term/efi/console.c (grub_console_highlight_color): Use a lighter
29470 color for the background, and a darker color for the foreground.
29471 (grub_console_checkkey): Return READ_KEY.
29472 (grub_console_cls): Set the background to
29473 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
29474
29475 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
29476
29477 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
29478 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
29479
29480 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
29481 prototype.
29482
29483 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
29484 BG. The spec is wrong again.
29485
29486 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
29487 prototype.
29488 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
29489
29490 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29491 commands/blocklist.c.
29492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29493
29494 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
29495 (blocklist_mod_SOURCES): New variable.
29496 (blocklist_mod_CFLAGS): Likewise.
29497 (blocklist_mod_LDFLAGS): Likewise.
29498
29499 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
29500
29501 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
29502 duplication.
29503 (lba_mode): Use %eax more intensively to reduce the code size.
29504
29505 2006-05-20 Marco Gerards <marco@gnu.org>
29506
29507 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
29508
29509 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
29510 for `menuentry'.
29511 (script): Accept leading newlines.
29512 (newlines): New rule to describe 0 or more newlines.
29513 (commands): Accept `command' with trailing newline. Fixed the
29514 order in which arguments were passed to `grub_script_add_cmd'.
29515 Accept commands separated by newlines.
29516 (function): Changed to accept newlines.
29517 (menuentry) Rewritten.
29518
29519 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
29520 front of the list, instead of to the end.
29521
29522 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
29523
29524 * util/i386/pc/grub-install.in (bindir): New variable.
29525 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
29526 Shaver <lbgwjl@gmail.com>.
29527
29528 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
29529
29530 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
29531 grub/machine/linux.h
29532 * loader/i386/pc/linux.c: Likewise.
29533
29534 * include/grub/i386/pc/linux.h: Moved to ...
29535 * include/grub/i386/linux.h: ... here.
29536
29537 * include/grub/i386/linux.h (struct linux_kernel_params): New
29538 struct.
29539
29540 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
29541
29542 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
29543 checking.
29544 (grub_video_vbe_blit_glyph): Likewise.
29545 (grub_video_vbe_blit_bitmap): Likewise.
29546 (grub_video_vbe_blit_render_target): Likewise.
29547
29548 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
29549
29550 * configure.ac (--with-platform): Properly quote the square
29551 brackets.
29552
29553 2006-05-08 Marco Gerards <marco@gnu.org>
29554
29555 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
29556 this...
29557 (kernel_elf_HEADERS): ...to this. Updated all users.
29558 (grubof_symlist.c): Renamed from this...
29559 (kernel_elf_symlist.c): ...to this. Updated all users.
29560 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29561 (grubof_SOURCES): Renamed from this...
29562 (kernel_elf_SOURCES): ...to this.
29563 (grubof_HEADERS): Renamed from this...
29564 (kernel_elf_HEADERS): ...to this.
29565 (grubof_CFLAGS): Renamed from this...
29566 (kernel_elf_CFLAGS): ...to this.
29567 (grubof_ASFLAGS): Renamed from this...
29568 (kernel_elf_ASFLAGS): ...to this.
29569 (grubof_LDFLAGS): Renamed from this...
29570 (kernel_elf_LDFLAGS): ...to this.
29571
29572 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
29573 this...
29574 (kernel_elf_HEADERS): ...to this. Updated all users.
29575 (grubof_symlist.c): Renamed from this...
29576 (kernel_elf_symlist.c): ...to this. Updated all users.
29577 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29578 (grubof_SOURCES): Renamed from this...
29579 (kernel_elf_SOURCES): ...to this.
29580 (grubof_HEADERS): Renamed from this...
29581 (kernel_elf_HEADERS): ...to this.
29582 (grubof_CFLAGS): Renamed from this...
29583 (kernel_elf_CFLAGS): ...to this.
29584 (grubof_ASFLAGS): Renamed from this...
29585 (kernel_elf_ASFLAGS): ...to this.
29586 (grubof_LDFLAGS): Renamed from this...
29587 (kernel_elf_LDFLAGS): ...to this.
29588
29589 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
29590 `kernel.elf' instead of `grubof'.
29591
29592 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
29593
29594 Add --with-platform to configure. Use pkglibdir instead of
29595 pkgdatadir. This is reported by Roger Leigh.
29596
29597 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
29598 (host_vendor): Likewise.
29599 (host_os): Likewise.
29600 (pkgdatadir): Likewise.
29601 (platform): New variable.
29602 (pkglibdir): Likewise.
29603 Use PKGLIBDIR instead of PKGDATADIR.
29604
29605 * util/i386/pc/grub-install.in (datadir): Removed.
29606 (host_vendor): Likewise.
29607 (host_os): Likewise.
29608 (pkgdatadir): Likewise.
29609 (platform): New variable.
29610 (pkglibdir): Likewise.
29611 Use PKGLIBDIR instead of PKGDATADIR.
29612
29613 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
29614 instead of GRUB_DATADIR.
29615 (main): Likewise.
29616 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29617 (main): Likewise.
29618 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29619 (main): Likewise.
29620
29621 * configure.ac (--with-platform): New option.
29622 Use PLATFORM instead of HOST_VENDOR to specify a platform.
29623
29624 * Makefile.in: Include a makefile based on PLATFORM instead of
29625 HOST_VENDOR.
29626 (pkgdatadir): Not appended by the machine type.
29627 (pkglibdir): Appended by the machine type.
29628 (host_vendor): Removed.
29629 (platform): New variable.
29630 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
29631 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
29632 (uninstall): Likewise.
29633
29634 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
29635
29636 Use the environment context in the menu. Remove the commands
29637 "default" and "timeout", and use variables instead.
29638
29639 * normal/menu.c: Include grub/env.h.
29640 (print_entry): Cast TITLE to silence gcc.
29641 (get_timeout): New function.
29642 (set_timeout): Likewise.
29643 (get_entry_number): Likewise.
29644 (run_menu): Use a default entry, a fallback entry and a timeout
29645 in the environment variables "default", "fallback" and
29646 "timeout". Also, tweak the default entry if it is not within the
29647 current menu entries.
29648 (grub_menu_run): Use a fallback entry in the environment variable
29649 "fallback".
29650
29651 * normal/main.c (read_config_file): Do not initialize
29652 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
29653 NEWMENU->TIMEOUT.
29654 (grub_normal_execute): Use a data slot to store the menu.
29655
29656 * include/grub/normal.h (struct grub_menu): Removed default_entry,
29657 fallback_entry and timeout.
29658 (struct grub_menu_list): Removed.
29659 (grub_menu_list_t): Likewise.
29660 (struct grub_context): Likewise.
29661 (grub_context_t): Likewise.
29662 (grub_context_get): Likewise.
29663 (grub_context_get_current_menu): Likewise.
29664 (grub_context_push_menu): Likewise.
29665 (grub_context_pop_menu): Likewise.
29666 (grub_default_init): Likewise.
29667 (grub_default_fini): Likewise.
29668 (grub_timeout_init): Likewise.
29669 (grub_timeout_fini): Likewise.
29670
29671 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
29672 and timeout.mod.
29673 (normal_mod_SOURCES): Removed normal/context.c.
29674
29675 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
29676 commands/default.c, commands/timeout.c and normal/context.c.
29677 (normal_mod_SOURCES): Removed normal/context.c.
29678
29679 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
29680 commands/timeout.c and normal/context.c.
29681 (normal_mod_SOURCES): Removed normal/context.c.
29682
29683 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
29684 commands/default.c, commands/timeout.c and normal/context.c.
29685 (normal_mod_SOURCES): Removed normal/context.c.
29686
29687 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
29688 timeout.mod.
29689 (default_mod_SOURCES): Removed.
29690 (default_mod_CFLAGS): Likewise.
29691 (default_mod_LDFLAGS): Likewise.
29692 (timeout_mod_SOURCES): Removed.
29693 (timeout_mod_CFLAGS): Likewise.
29694 (timeout_mod_LDFLAGS): Likewise.
29695
29696 * DISTLIST: Removed commands/default.c, commands/timeout.c and
29697 normal/context.c.
29698
29699 * commands/default.c: Removed.
29700 * commands/timeout.c: Likewise.
29701 * normal/context.c: Likewise.
29702
29703 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
29704
29705 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
29706
29707 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
29708
29709 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
29710 "next" to "prev" for readability.
29711 (struct grub_env_sorted_var): New struct.
29712 (grub_env_context): Renamed to ...
29713 (initial_context): ... this.
29714 (grub_env_var_context): Renamed to ...
29715 (current_context): ... this.
29716 (grub_env_find): Look only at CURRENT_CONTEXT.
29717 (grub_env_context_open): Rewritten to copy exported variables from
29718 previous context.
29719 (grub_env_context_close): Rewritten according to the new
29720 scheme. Also, add an assertion to prevent the initial context from
29721 removed.
29722 (grub_env_insert): Removed the code for the sorted list.
29723 (grub_env_remove): Likewise.
29724 (grub_env_export): Simply mark the variable with
29725 GRUB_ENV_VAR_GLOBAL.
29726 (grub_env_set): A cosmetic change for naming consistency.
29727 (grub_env_get): Likewise.
29728 (grub_env_unset): Likewise.
29729 (grub_env_iterate): Rewritten to sort variables within this
29730 function.
29731 (grub_register_variable_hook): Fixed for naming consistency. Call
29732 grub_env_find again, only if NAME is not found at the first time.
29733 (mangle_data_slot_name): New function.
29734 (grub_env_set_data_slot): Likewise.
29735 (grub_env_get_data_slot): Likewise.
29736 (grub_env_unset_data_slot): Likewise.
29737
29738 * include/grub/env.h (grub_env_var_type): New enum.
29739 (GRUB_ENV_VAR_LOCAL): New constant.
29740 (GRUB_ENV_VAR_GLOBAL): Likewise.
29741 (GRUB_ENV_VAR_DATA): Likewise.
29742 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
29743 "type".
29744 (grub_env_set): Replace VAR with NAME for consistency.
29745 (grub_register_variable_hook): Likewise.
29746 (grub_env_export): Specify the name of the argument.
29747 (grub_env_set_data_slot): New prototype.
29748 (grub_env_get_data_slot): Likewise.
29749 (grub_env_unset_data_slot): Likewise.
29750
29751 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29752
29753 Extend the loader so that GRUB can accept a loader which comes
29754 back to GRUB when a loaded image exits. Also, this change adds
29755 support for a chainloader on EFI.
29756
29757 * term/efi/console.c: Include grub/misc.h.
29758 (grub_console_checkkey): Display a scan code on the top for
29759 debugging. This will be removed once the EFI port gets stable.
29760 Correct the scan code mapping.
29761
29762 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
29763 allocate memory from larger regions, in order to reduce the number
29764 of allocated regions. Otherwise, the MacOSX loader panics.
29765 (filter_memory_map): Avoid less than 1MB for compatibility with
29766 other loaders.
29767 (add_memory_regions): Allocate from the tail of a region, if
29768 possible, to avoid allocating a region near to 1MB, for the MacOSX
29769 loader.
29770
29771 * kern/efi/init.c (grub_efi_set_prefix): Specify
29772 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
29773
29774 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
29775 argument IMAGE_HANDLE and specify it to get a loaded image.
29776 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
29777 grub_efi_get_loaded_image.
29778 (grub_efi_get_filename): Divide the length by the size of
29779 grub_efi_char16_t.
29780 (grub_efi_get_device_path): New function.
29781 (grub_efi_print_device_path): Print End Device Path nodes. Divide
29782 the length by the size of grub_efi_char16_t for a file path device
29783 path node.
29784
29785 * kern/loader.c (grub_loader_noreturn): New variable.
29786 (grub_loader_set): Accept a new argument NORETURN. Set
29787 GRUB_LOADER_NORETURN to NORETURN.
29788 All callers changed.
29789 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
29790 grub_machine_fini.
29791
29792 * include/grub/efi/efi.h (grub_efi_get_device_path): New
29793 prototype.
29794 (grub_efi_get_loaded_image): Take an argument to specify an image
29795 handle.
29796
29797 * include/grub/loader.h (grub_loader_set): Added one more argument
29798 NORETURN.
29799
29800 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
29801 instead of grub_efi_open_protocol.
29802 (grub_efidisk_get_device_name): Likewise.
29803 (grub_efidisk_close): Print a newline.
29804 (grub_efidisk_get_device_handle): Fixed to use
29805 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
29806 GRUB_EFI_DEVICE_PATH_TYPE.
29807
29808 * disk/efi/efidisk.c (device_path_guid): Moved to ...
29809 * kern/efi/efi.c (device_path_guid): ... here.
29810
29811 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
29812 chain.mod.
29813 (kernel_mod_HEADERS): Added efi/disk.h.
29814 (_chain_mod_SOURCES): New variable.
29815 (_chain_mod_CFLAGS): Likewise.
29816 (_chain_mod_LDFLAGS): Likewise.
29817 (chain_mod_SOURCES): Likewise.
29818 (chain_mod_CFLAGS): Likewise.
29819 (chain_mod_LDFLAGS): Likewise.
29820
29821 * DISTLIST: Added include/grub/efi/chainloader.h,
29822 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
29823
29824 * include/grub/efi/chainloader.h: New file.
29825 * loader/efi/chainloader.c: Likewise.
29826 * loader/efi/chainloader_normal.c: Likewise.
29827
29828 2006-04-30 Marco Gerards <marco@gnu.org>
29829
29830 * commands/configfile.c (grub_cmd_source): New function.
29831 (GRUB_MOD_INIT): Register the commands `source' and `.'.
29832 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
29833
29834 2006-04-30 Marco Gerards <marco@gnu.org>
29835
29836 * normal/execute.c (grub_script_execute_cmd): Change the return
29837 type to `grub_err_t'. Correctly return the error.
29838 (grub_script_execute_cmdline): In case a command line is not a
29839 command or a function, try to interpret it as an assignment.
29840
29841 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29842
29843 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
29844 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
29845 skip a node whose name is obviously invalid as UTF-16,
29846 i.e. contains a NUL character. Stop the iteration when the last
29847 directory entry is found. Instead of using the return value of
29848 grub_hfsplus_btree_iterate_node, store the value in RET and use
29849 it, because the iterator can be stopped by the last directory
29850 entry.
29851
29852 2006-04-30 Marco Gerards <marco@gnu.org>
29853
29854 * include/grub/env.h (grub_env_export): New prototype. Reported
29855 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
29856
29857 2006-04-30 Marco Gerards <marco@gnu.org>
29858
29859 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
29860 size of the extents in a catalog file record.
29861
29862 2006-04-29 Marco Gerards <marco@gnu.org>
29863
29864 * commands/configfile.c (grub_cmd_configfile): Execute the
29865 configfile within its own context.
29866
29867 * include/grub/env.h (grub_env_context_open): New prototype.
29868 (grub_env_context_close): Likewise.
29869
29870 * kern/env.c (grub_env): Removed.
29871 (grub_env_sorted): Likewise.
29872 (grub_env_context): New variable.
29873 (grub_env_var_context): Likewise.
29874 (grub_env_find): Search both the active context and the global
29875 context.
29876 (grub_env_context_open): New function.
29877 (grub_env_context_close): Likewise.
29878 (grub_env_insert): Likewise.
29879 (grub_env_remove): Likewise.
29880 (grub_env_export): Likewise.
29881 (grub_env_set): Changed to use helper functions to avoid code
29882 duplication.
29883 (grub_env_iterate): Rewritten so both the current context and the
29884 global context are being used.
29885
29886 * normal/command.c (export_command): New function.
29887 (grub_command_init): Register the `export' function.
29888
29889 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
29890
29891 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
29892 explicitly to suppress gcc's warnings.
29893 * fs/fat.c (grub_fat_find_dir): Likewise.
29894 (grub_fat_label): Likewise.
29895 * fs/xfs.c (grub_xfs_read_inode): Likewise.
29896 (grub_xfs_mount): Likewise.
29897 (grub_xfs_label): Likewise.
29898 * fs/affs.c (grub_affs_mount): Likewise.
29899 (grub_affs_label): Likewise.
29900 (grub_affs_iterate_dir): Likewise.
29901 * fs/sfs.c (grub_sfs_mount): Likewise.
29902 (grub_sfs_iterate_dir): Likewise.
29903 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
29904 * fs/hfs.c (grub_hfs_mount): Likewise.
29905 (grub_hfs_cmp_catkeys): Likewise.
29906 (grub_hfs_find_dir): Likewise.
29907 (grub_hfs_dir): Likewise.
29908 (grub_hfs_label): Likewise.
29909 * fs/jfs.c (grub_jfs_mount): Likewise.
29910 (grub_jfs_opendir): Likewise.
29911 (grub_jfs_getent): Likewise.
29912 (grub_jfs_lookup_symlink): Likewise.
29913 (grub_jfs_label): Likewise.
29914 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
29915 (grub_hfsplus_iterate_dir): Likewise.
29916 (grub_hfsplus_btree_iterate_node): Made static.
29917
29918 * util/grub-emu.c (prefix): New variable.
29919 (grub_machine_set_prefix): New function.
29920 (main): Do not set the environment variable "prefix" here. Only
29921 set PREFIX, which is used later by grub_machine_set_prefix.
29922
29923 * include/grub/video.h: Do not include grub/symbol.h.
29924 (grub_video_register): Not exported. This symbol is not defined in
29925 the kernel.
29926 (grub_video_unregister): Likewise.
29927 (grub_video_iterate): Likewise.
29928 (grub_video_setup): Likewise.
29929 (grub_video_restore): Likewise.
29930 (grub_video_get_info): Likewise.
29931 (grub_video_get_blit_format): Likewise.
29932 (grub_video_set_palette): Likewise.
29933 (grub_video_get_palette): Likewise.
29934 (grub_video_set_viewport): Likewise.
29935 (grub_video_get_viewport): Likewise.
29936 (grub_video_map_color): Likewise.
29937 (grub_video_map_rgb): Likewise.
29938 (grub_video_map_rgba): Likewise.
29939 (grub_video_fill_rect): Likewise.
29940 (grub_video_blit_glyph): Likewise.
29941 (grub_video_blit_bitmap): Likewise.
29942 (grub_video_blit_render_target): Likewise.
29943 (grub_video_scroll): Likewise.
29944 (grub_video_swap_buffers): Likewise.
29945 (grub_video_create_render_target): Likewise.
29946 (grub_video_delete_render_target): Likewise.
29947 (grub_video_set_active_render_target): Likewise.
29948
29949 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
29950 Undefined.
29951 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
29952
29953 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
29954 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29955 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29956 instead of $(srcdir)/genkernsyms.sh.
29957
29958 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
29959 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29960 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29961 instead of $(srcdir)/genkernsyms.sh.
29962
29963 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
29964 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29965 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29966 instead of $(srcdir)/genkernsyms.sh.
29967
29968 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
29969 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29970 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29971 instead of $(srcdir)/genkernsyms.sh.
29972
29973 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
29974 genkernsyms.sh.
29975
29976 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
29977 genkernsyms.sh.
29978 (gensymlist.sh): New target.
29979 (genkernsyms.sh): Likewise.
29980
29981 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
29982 genkernsyms.sh.in and gensymlist.sh.in.
29983
29984 * genkernsyms.sh: Removed.
29985 * gensymlist.sh: Likewise.
29986
29987 * genkernsyms.sh.in: New file.
29988 * gensymlist.sh.in: Likewise.
29989
29990 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29991
29992 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
29993 clobber "prefix", since we may have already set it manually.
29994
29995 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29996
29997 * kern/misc.c (abort): New alias for grub_abort.
29998
29999 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
30000
30001 A new machine-specific function "grub_machine_set_prefix" is
30002 defined. This is called after loading modules, so that a prefix
30003 initialization can use modules. Also, this change adds an
30004 intensive debugging feature for the memory manager via the
30005 configure option "--enable-mm-debug".
30006
30007 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
30008 PART.LEN.
30009
30010 * kern/sparc64/ieee1275/init.c (abort): Removed.
30011 (grub_stop): Likewise.
30012 (grub_exit): New function.
30013 (grub_set_prefix): Renamed to ...
30014 (grub_machine_set_prefix): ... this.
30015 (grub_machine_init): Do not call grub_set_prefix.
30016
30017 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
30018 (grub_machine_set_prefix): ... this.
30019 (grub_machine_init): Do not call grub_set_prefix.
30020
30021 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
30022 (grub_machine_init): Do not set the prefix here.
30023
30024 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
30025
30026 * kern/efi/init.c: Include grub/mm.h.
30027 (grub_efi_set_prefix): New function.
30028
30029 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
30030 (grub_efi_get_filename): New function.
30031 (grub_print_device_path): Renamed to ...
30032 (grub_efi_print_device_path): ... this.
30033
30034 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
30035 [MM_DEBUG] (grub_realloc): Likewise.
30036 [MM_DEBUG] (grub_free): Likewise.
30037 [MM_DEBUG] (grub_memalign): Likewise.
30038 [MM_DEBUG] (grub_mm_debug): New variable.
30039 [MM_DEBUG] (grub_debug_malloc): New function.
30040 [MM_DEBUG] (grub_debug_free): New function.
30041 [MM_DEBUG] (grub_debug_realloc): New function.
30042 [MM_DEBUG] (grub_debug_memalign): New function.
30043
30044 * kern/misc.c (grub_abort): Print a newline to distinguish
30045 the message.
30046
30047 * kern/main.c (grub_main): Call grub_machine_set_prefix and
30048 grub_set_root_dev after loading modules. This is necessary when
30049 setting a prefix depends on modules.
30050
30051 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
30052 (grub_efi_print_device_path): ... this.
30053 (grub_efi_get_filename): New prototype.
30054 (grub_efi_set_prefix): Likewise.
30055
30056 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
30057 and grub/disk.h.
30058 (grub_efidisk_get_device_handle): New prototype.
30059 (grub_efidisk_get_device_name): Likewise.
30060
30061 * include/grub/mm.h: Include config.h.
30062 (MM_DEBUG): Removed.
30063 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
30064 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
30065 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
30066 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
30067 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
30068 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
30069 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
30070 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
30071 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
30072
30073 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
30074
30075 * disk/efi/efidisk.c: Include grub/partition.h.
30076 (iterate_child_devices): New function.
30077 (add_device): First, compare only last device path nodes, so that
30078 devices are sorted by the types.
30079 (grub_efidisk_get_device_handle): New function.
30080 (grub_efidisk_get_device_name): Likewise.
30081
30082 * configure.ac (--enable-mm-debug): New option to enable the
30083 memory manager debugging feature. This makes the binary much
30084 bigger, so is disabled by default.
30085
30086 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
30087
30088 Use grub_abort instead of grub_stop, and grub_exit must be
30089 define in each architecture now. Also, this change adds support
30090 for EFI disks.
30091
30092 * util/i386/pc/grub-probefs.c: Include grub/term.h.
30093 (grub_getkey): New function.
30094 (grub_term_get_current): Likewise.
30095
30096 * util/i386/pc/grub-setup.c: Include grub/term.h.
30097 (grub_getkey): New function.
30098 (grub_term_get_current): Likewise.
30099
30100 * util/misc.c (grub_stop): Renamed to ...
30101 (grub_exit): ... this.
30102
30103 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
30104 (grub_exit): ... this.
30105 (grub_machine_init): Use grub_abort instead of abort.
30106 (grub_stop): Removed.
30107
30108 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
30109 abort.
30110
30111 * kern/i386/pc/startup.S (grub_exit): New function.
30112 (cold_reboot): New label.
30113
30114 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
30115 (grub_efi_init): Call grub_efidisk_init.
30116 (grub_efi_fini): Call grub_efidisk_fini.
30117
30118 * kern/efi/efi.c: Include grub/mm.h.
30119 (grub_efi_console_control_guid): Renamed to ...
30120 (console_control_guid): ... this.
30121 (grub_efi_loaded_image_guid): Renamed to ...
30122 (loaded_image_guid): ... this.
30123 (grub_efi_locate_handle): New function.
30124 (grub_efi_open_protocol): Likewise.
30125 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
30126 GRUB_EFI_CONSOLE_CONTROL_GUID.
30127 (grub_efi_exit): Removed.
30128 (grub_stop): Likewise.
30129 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
30130 (grub_exit): New function.
30131 (grub_print_device_path): Likewise.
30132
30133 * kern/rescue.c (grub_rescue_cmd_exit): New function.
30134 (grub_enter_rescue_mode): Register "exit".
30135
30136 * kern/misc.c (grub_real_dprintf): A cosmetic change.
30137 (grub_abort): New function.
30138
30139 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
30140
30141 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
30142
30143 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
30144
30145 * include/grub/efi/efi.h (grub_efi_exit): Removed.
30146 (grub_print_device_path): New prototype.
30147 (grub_efi_locate_handle): Likewise.
30148 (grub_efi_open_protocol): Likewise.
30149
30150 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
30151 * disk/efi/efidisk.c: Likewise.
30152
30153 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
30154
30155 * include/grub/efi/console_control.h
30156 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
30157
30158 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
30159 last 8 bytes as an array.
30160 (GRUB_EFI_DISK_IO_GUID): New macro.
30161 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
30162 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
30163 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
30164 grub_uint8_t.
30165 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
30166 (struct grub_efi_device_path): Rename the member "sub_type" to
30167 "subtype".
30168 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
30169 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
30170 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
30171 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
30172 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
30173 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
30174 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
30175 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
30176 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
30177 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
30178 (struct grub_efi_pci_device_path): New structure.
30179 (grub_efi_pci_device_path_t): New type.
30180 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
30181 (struct grub_efi_pccard_device_path): New structure.
30182 (grub_efi_pccard_device_path_t): New type.
30183 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
30184 (struct grub_efi_memory_mapped_device_path): New structure.
30185 (grub_efi_memory_mapped_device_path_t): New type.
30186 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
30187 (struct grub_efi_vendor_device_path): New structure.
30188 (grub_efi_vendor_device_path_t): New type.
30189 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
30190 (struct grub_efi_controller_device_path): New structure.
30191 (grub_efi_controller_device_path_t): New type.
30192 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
30193 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
30194 (struct grub_efi_acpi_device_path): New structure.
30195 (grub_efi_acpi_device_path_t): New type.
30196 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
30197 (struct grub_efi_expanded_acpi_device_path): New structure.
30198 (grub_efi_expanded_acpi_device_path_t): New type.
30199 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
30200 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
30201 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
30202 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
30203 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
30204 (struct grub_efi_atapi_device_path): New structure.
30205 (grub_efi_atapi_device_path_t): New type.
30206 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
30207 (struct grub_efi_fibre_channel_device_path): New structure.
30208 (grub_efi_fibre_channel_device_path_t): New type.
30209 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
30210 (struct grub_efi_1394_device_path): New structure.
30211 (grub_efi_1394_device_path_t): New type.
30212 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
30213 (struct grub_efi_usb_device_path): New structure.
30214 (grub_efi_usb_device_path_t): New type.
30215 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
30216 (struct grub_efi_usb_class_device_path): New structure.
30217 (grub_efi_usb_class_device_path_t): New type.
30218 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
30219 (struct grub_efi_i2o_device_path): New structure.
30220 (grub_efi_i2o_device_path_t): New type.
30221 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
30222 (struct grub_efi_mac_address_device_path): New structure.
30223 (grub_efi_mac_address_device_path_t): New type.
30224 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
30225 (struct grub_efi_ipv4_device_path): New structure.
30226 (grub_efi_ipv4_device_path_t): New type.
30227 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
30228 (struct grub_efi_ipv6_device_path): New structure.
30229 (grub_efi_ipv6_device_path_t): New type.
30230 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
30231 (struct grub_efi_infiniband_device_path): New structure.
30232 (grub_efi_infiniband_device_path_t): New type.
30233 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
30234 (struct grub_efi_uart_device_path): New structure.
30235 (grub_efi_uart_device_path_t): New type.
30236 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
30237 (struct grub_efi_vendor_messaging_device_path): New structure.
30238 (grub_efi_vendor_messaging_device_path_t): New type.
30239 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
30240 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
30241 (struct grub_efi_hard_drive_device_path): New structure.
30242 (grub_efi_hard_drive_device_path_t): New type.
30243 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
30244 (struct grub_efi_cdrom_device_path): New structure.
30245 (grub_efi_cdrom_device_path_t): New type.
30246 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
30247 (struct grub_efi_vendor_media_device_path): New structure.
30248 (grub_efi_vendor_media_device_path_t): New type.
30249 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
30250 (struct grub_efi_file_path_device_path): New structure.
30251 (grub_efi_file_path_device_path_t): New type.
30252 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
30253 (struct grub_efi_protocol_device_path): New structure.
30254 (grub_efi_protocol_device_path_t): New type.
30255 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
30256 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
30257 (struct grub_efi_bios_device_path): New structure.
30258 (grub_efi_bios_device_path_t): New type.
30259 (struct grub_efi_disk_io): New structure.
30260 (grub_efi_disk_io_t): New type.
30261 (struct grub_efi_block_io_media): New structure.
30262 (grub_efi_block_io_media_t): New type.
30263 (struct grub_efi_block_io): New structure.
30264 (grub_efi_block_io_t): New type.
30265
30266 * include/grub/misc.h (grub_stop): Removed.
30267 (grub_exit): New prototype.
30268 (grub_abort): Likewise.
30269
30270 * include/grub/disk.h (enum grub_disk_dev_id): Added
30271 GRUB_DISK_DEVICE_EFIDISK_ID.
30272
30273 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
30274 disk/efi/efidisk.c.
30275 (kernel_syms.lst): Remove the target if an error occurs.
30276
30277 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
30278
30279 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
30280 as it was simply too buggy.
30281
30282 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
30283
30284 * kern/misc.c (grub_lltoa): New function.
30285 (grub_vsprintf): Added support for the long long suffix,
30286 i.e. "ll".
30287
30288 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
30289
30290 * Makefile.in (LDFLAGS): Add variable.
30291 (LD): Remove variable.
30292 * configure.ac: Add -m32 to LDFLAGS.
30293 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
30294 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
30295 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
30296 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
30297 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
30298 variables.
30299 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
30300 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
30301 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
30302
30303 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
30304
30305 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
30306 length for unknown glyph.
30307
30308 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30309
30310 Add support for pre-loaded modules into the EFI port.
30311
30312 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
30313 completely. Accept one more argument DIR. The caller has changed.
30314
30315 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
30316
30317 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
30318 (grub_efi_loaded_image_guid): New variable.
30319 (grub_efi_get_loaded_image): New function.
30320 (grub_arch_modules_addr): Likewise.
30321
30322 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
30323 prototype.
30324
30325 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
30326 (struct grub_efi_loaded_image): New structure.
30327 (grub_efi_loaded_image_t): New type.
30328
30329 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30330
30331 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
30332 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
30333 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
30334
30335 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
30336
30337 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
30338
30339 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
30340
30341 * DISTLIST: Added include/grub/efi/console.h,
30342 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
30343 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30344
30345 * include/grub/efi/console.h: New file.
30346 * include/grub/efi/time.h: Likewise.
30347 * include/grub/i386/efi/kernel.h: Likewise.
30348 * kern/efi/init.c: Likewise.
30349 * kern/efi/mm.c: Likewise.
30350 * term/efi/console.c: Likewise.
30351
30352 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
30353 (grub_stop): Removed.
30354 (grub_get_rtc): Likewise.
30355 (grub_machine_init): Simply call grub_efi_init.
30356 (grub_machine_fini): Call grub_efi_fini.
30357
30358 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
30359 (grub_efi_output_string): Removed.
30360 (grub_efi_stall): New function.
30361 (grub_stop): Likewise.
30362 (grub_get_rtc): Likewise.
30363
30364 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
30365 (grub_efi_stall): New prototype.
30366 (grub_efi_allocate_pages): Likewise.
30367 (grub_efi_free_pages): Likewise.
30368 (grub_efi_get_memory_map): Likewise.
30369 (grub_efi_mm_init): Likewise.
30370 (grub_efi_mm_fini): Likewise.
30371 (grub_efi_init): Likewise.
30372 (grub_efi_fini): Likewise.
30373
30374 * include/grub/i386/efi/time.h: Do not include
30375 grub/symbol.h. Include grub/efi/time.h.
30376 (GRUB_TICKS_PER_SECOND): Removed.
30377 (grub_get_rtc): Likewise.
30378
30379 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
30380 Added padding. The EFI spec is buggy.
30381 (GRUB_EFI_BLACK): New macro.
30382 (GRUB_EFI_BLUE): Likewise.
30383 (GRUB_EFI_GREEN): Likewise.
30384 (GRUB_EFI_CYAN): Likewise.
30385 (GRUB_EFI_RED): Likewise.
30386 (GRUB_EFI_MAGENTA): Likewise.
30387 (GRUB_EFI_BROWN): Likewise.
30388 (GRUB_EFI_LIGHTGRAY): Likewise.
30389 (GRUB_EFI_BRIGHT): Likewise.
30390 (GRUB_EFI_DARKGRAY): Likewise.
30391 (GRUB_EFI_LIGHTBLUE): Likewise.
30392 (GRUB_EFI_LIGHTGREEN): Likewise.
30393 (GRUB_EFI_LIGHTCYAN): Likewise.
30394 (GRUB_EFI_LIGHTRED): Likewise.
30395 (GRUB_EFI_LIGHTMAGENTA): Likewise.
30396 (GRUB_EFI_YELLOW): Likewise.
30397 (GRUB_EFI_WHITE): Likewise.
30398 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
30399 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
30400 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
30401 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
30402 (GRUB_EFI_BACKGROUND_RED): Likewise.
30403 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
30404 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
30405 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
30406 (GRUB_EFI_TEXT_ATTR): Likewise.
30407
30408 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
30409 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30410 (kernel_mod_HEADERS): Added efi/time.h.
30411
30412 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
30413
30414 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
30415 include/grub/efi/api.h, include/grub/efi/console_control.h,
30416 include/grub/efi/efi.h, include/grub/efi/pe32.h,
30417 include/grub/i386/efi/time.h, kern/efi/efi.c,
30418 kern/i386/efi/init.c, kern/i386/efi/startup.S,
30419 and util/i386/efi/grub-mkimage.c.
30420
30421 * Makefile.in (RMKFILES): Added i386-efi.rmk.
30422
30423 * genmk.rb (PModule#rule): Do not export symbols if
30424 #{prefix}_EXPORTS is set to "no".
30425
30426 * conf/i386-efi.mk: New file.
30427 * conf/i386-efi.rmk: Likewise.
30428 * include/grub/efi/api.h: Likewise.
30429 * include/grub/efi/console_control.h: Likewise.
30430 * include/grub/efi/efi.h: Likewise.
30431 * include/grub/efi/pe32.h: Likewise.
30432 * include/grub/i386/efi/time.h: Likewise.
30433 * kern/efi/efi.c: Likewise.
30434 * kern/i386/efi/init.c: Likewise.
30435 * kern/i386/efi/startup.S: Likewise.
30436 * util/i386/efi/grub-mkimage.c: Likewise.
30437
30438 2006-04-17 Marco Gerards <marco@gnu.org>
30439
30440 * include/grub/script.h: Include <grub/parser.h> and
30441 "grub_script.tab.h".
30442 (struct grub_lexer_param): New struct.
30443 (struct grub_parser_param): Likewise.
30444 (grub_script_create_arglist): Pass the state in an argument.
30445 (grub_script_add_arglist): Likewise.
30446 (grub_script_create_cmdline): Likewise.
30447 (grub_script_create_cmdblock): Likewise.
30448 (grub_script_create_cmdif): Likewise.
30449 (grub_script_create_cmdmenu): Likewise.
30450 (grub_script_add_cmd): Likewise.
30451 (grub_script_arg_add): Likewise.
30452 (grub_script_lexer_ref): Likewise.
30453 (grub_script_lexer_deref): Likewise.
30454 (grub_script_lexer_record_start): Likewise.
30455 (grub_script_lexer_record_stop): Likewise.
30456 (grub_script_mem_record): Likewise.
30457 (grub_script_mem_record_stop): Likewise.
30458 (grub_script_malloc): Likewise.
30459 (grub_script_yylex): Likewise.
30460 (grub_script_yyparse): Likewise.
30461 (grub_script_yyerror): Likewise.
30462 (grub_script_yylex): Likewise.
30463 (grub_script_lexer_init): Return the state.
30464
30465 * normal/lexer.c (grub_script_lexer_state): Removed variable.
30466 (grub_script_lexer_done): Likewise.
30467 (grub_script_lexer_getline): Likewise.
30468 (grub_script_lexer_refs): Likewise.
30469 (script): Likewise.
30470 (newscript): Likewise.
30471 (record): Likewise.
30472 (recording): Likewise.
30473 (recordpos): Likewise.
30474 (recordlen): Likewise.
30475 (grub_script_lexer_init): Return the state instead of setting
30476 global variables.
30477 (grub_script_lexer_ref): Use the newly added argument for state
30478 instead of globals.
30479 (grub_script_lexer_deref): Likewise.
30480 (grub_script_lexer_record_start): Likewise.
30481 (grub_script_lexer_record_stop): Likewise.
30482 (recordchar): Likewise.
30483 (nextchar): Likewise.
30484 (grub_script_yylex2): Likewise.
30485 (grub_script_yylex): Likewise.
30486 (grub_script_yyerror): Likewise.
30487
30488 * normal/parser.y (func_mem): Removed variable.
30489 (menu_entry): Likewise.
30490 (err): Likewise.
30491 (%lex-param): New parser option.
30492 (%parse-param): Likewise.
30493 (script): Always return the AST.
30494 (argument): Pass the state around.
30495 (arguments): Likewise.
30496 (grubcmd): Likewise.
30497 (commands): Likewise.
30498 (function): Likewise.
30499 (menuentry): Likewise.
30500 (if_statement): Likewise.
30501 (if): Likewise.
30502
30503 * normal/script.c (grub_script_memused): Removed variable.
30504 (grub_script_parsed): Likewise.
30505 (grub_script_malloc): Added a state argument. Use that instead of
30506 global variables.
30507 (grub_script_mem_record): Likewise.
30508 (grub_script_mem_record_stop): Likewise.
30509 (grub_script_arg_add): Likewise.
30510 (grub_script_add_arglist): Likewise.
30511 (grub_script_create_cmdline): Likewise.
30512 (grub_script_create_cmdif): Likewise.
30513 (grub_script_create_cmdmenu): Likewise.
30514 (grub_script_add_cmd): Likewise.
30515 (grub_script_parse): Setup the state before calling the parser.
30516
30517 2006-04-16 Marco Gerards <marco@gnu.org>
30518
30519 * normal/command.c (grub_command_init): Remove the title command.
30520
30521 * normal/lexer.c (grub_script_yylex): Renamed from this...
30522 (grub_script_yylex2): ... to this.
30523 (grub_script_yylex): New function. Temporary
30524 introduced to filter some tokens.
30525 (grub_script_yyerror): Print a newline.
30526
30527 * normal/main.c (read_config_file): Output information about the
30528 lines that contain errors. Wait for a key after all lines have
30529 been processed. Don't return an empty menu.
30530
30531 * normal/parser.y (func_mem): Don't initialize.
30532 (menu_entry): Likewise.
30533 (err): New variable.
30534 (script): Don't return anything when an error was encountered.
30535 (ws, returns): Removed rules.
30536 (argument): Disabled concatenated variable support.
30537 (arguments): Remove explicit separators.
30538 (grubcmd): Likewise.
30539 (function): Likewise.
30540 (menuentry): Likewise.
30541 (if): Likewise.
30542 (commands): Likewise. Add error handling.
30543
30544 * normal/script.c (grub_script_create_cmdline): If
30545 `grub_script_parsed' is 0, assume the parser encountered an error.
30546
30547 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
30548
30549 * configure.ac: Add support for EFI. Fix the typo
30550 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
30551
30552 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30553
30554 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
30555 foreign multibyte characters should be shown correctly.
30556
30557 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30558
30559 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
30560 calculation.
30561 (read_config_file): Made it to close file before returning.
30562
30563 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
30564
30565 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
30566 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
30567 video/i386/pc/vbefill.c.
30568
30569 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
30570 video/i386/pc/vbefill.c.
30571
30572 * include/grub/video.h (grub_video_blit_format): New enum.
30573 (grub_video_mode_info): Added new member blit_format.
30574 (grub_video_get_blit_format): New function prototype.
30575
30576 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
30577 function prototype.
30578 (grub_video_vbe_map_rgb): Likewise.
30579 (grub_video_vbe_unmap_color): Likewise.
30580
30581 * include/grub/i386/pc/vbeblit.h: New file.
30582
30583 * include/grub/i386/pc/vbefill.h: New file.
30584
30585 * video/video.c (grub_video_get_blit_format): New function.
30586 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
30587 (grub_video_vbe_map_rgb): Likewise.
30588 (grub_video_vbe_unmap_color): Likewise.
30589
30590 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
30591 optimized fills.
30592 (grub_video_vbe_blit_render_target): Changed to use more optimized
30593 blits.
30594 (grub_video_vbe_setup): Added detection for optimized settings.
30595 (grub_video_vbe_create_render_target): Likewise.
30596
30597 * video/i386/pc/vbeblit.c: New file.
30598
30599 * video/i386/pc/vbefill.c: New file.
30600
30601 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
30602
30603 * font/manager.c (grub_font_get_glyph): Removed font fixup from
30604 here...
30605
30606 * util/unifont2pff.rb: ... and moved it to here. Improved argument
30607 parsing to support both hex and dec ranges. If filename was missing
30608 show usage information.
30609
30610 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
30611
30612 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
30613 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
30614
30615 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
30616 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
30617 (video_mod_SOURCES): Added.
30618 (video_mod_CFLAGS): Likewise.
30619 (video_mod_LDFLAGS): Likewise.
30620 (gfxterm_mod_SOURCES): Likewise.
30621 (gfxterm_mod_CFLAGS): Likewise.
30622 (gfxterm_mod_LDFLAGS): Likewise.
30623 (videotest_mod_SOURCES): Likewise.
30624 (videotest_mod_CFLAGS): Likewise.
30625 (videotest_mod_LDFLAGS): Likewise.
30626 (vesafb_mod_SOURCES): Removed.
30627 (vesafb_mod_CFLAGS): Likewise.
30628 (vesafb_mod_LDFLAGS): Likewise.
30629 (vga_mod_SOURCES): Likewise.
30630 (vga_mod_CFLAGS): Likewise.
30631 (vga_mod_LDFLAGS): Likewise.
30632
30633 * commands/videotest.c: New file.
30634
30635 * font/manager.c (fill_with_default_glyph): Modified to use
30636 grub_font_glyph.
30637 (grub_font_get_glyph): Likewise.
30638 (fontmanager): Renamed from this...
30639 (font_manager): ... to this.
30640
30641 * include/grub/font.h (grub_font_glyph): Added new structure.
30642 (grub_font_get_glyph): Modified to use grub_font_glyph.
30643
30644 * include/grub/misc.h (grub_abs): Added as inline function.
30645
30646 * include/grub/video.h: New file.
30647
30648 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
30649 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
30650 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
30651 (grub_vbe_get_controller_info): Renamed from this...
30652 (grub_vbe_bios_get_controller_info): ... to this.
30653 (grub_vbe_get_mode_info): Renamed from this...
30654 (grub_vbe_bios_get_mode_info): ... to this.
30655 (grub_vbe_set_mode): Renamed from this...
30656 (grub_vbe_bios_set_mode): ... to this.
30657 (grub_vbe_get_mode): Renamed from this...
30658 (grub_vbe_bios_get_mode): ... to this.
30659 (grub_vbe_set_memory_window): Renamed from this...
30660 (grub_vbe_bios_set_memory_window): ... to this.
30661 (grub_vbe_get_memory_window): Renamed from this...
30662 (grub_vbe_bios_get_memory_window): ... to this.
30663 (grub_vbe_set_scanline_length): Renamed from this...
30664 (grub_vbe_set_scanline_length): ... to this.
30665 (grub_vbe_get_scanline_length): Renamed from this...
30666 (grub_vbe_bios_get_scanline_length): ... to this.
30667 (grub_vbe_set_display_start): Renamed from this...
30668 (grub_vbe_bios_set_display_start): ... to this.
30669 (grub_vbe_get_display_start): Renamed from this...
30670 (grub_vbe_bios_get_display_start): ... to this.
30671 (grub_vbe_set_palette_data): Renamed from this...
30672 (grub_vbe_bios_set_palette_data): ... to this.
30673 (grub_vbe_set_pixel_rgb): Removed.
30674 (grub_vbe_set_pixel_index): Likewise.
30675
30676 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
30677 from this...
30678 (grub_vbe_bios_get_controller_info): ... to this.
30679 (grub_vbe_get_mode_info): Renamed from this...
30680 (grub_vbe_bios_get_mode_info): ... to this.
30681 (grub_vbe_set_mode): Renamed from this...
30682 (grub_vbe_bios_set_mode): ... to this.
30683 (grub_vbe_get_mode): Renamed from this...
30684 (grub_vbe_bios_get_mode): ... to this.
30685 (grub_vbe_set_memory_window): Renamed from this...
30686 (grub_vbe_bios_set_memory_window): ... to this.
30687 (grub_vbe_get_memory_window): Renamed from this...
30688 (grub_vbe_bios_get_memory_window): ... to this.
30689 (grub_vbe_set_scanline_length): Renamed from this...
30690 (grub_vbe_set_scanline_length): ... to this.
30691 (grub_vbe_get_scanline_length): Renamed from this...
30692 (grub_vbe_bios_get_scanline_length): ... to this.
30693 (grub_vbe_set_display_start): Renamed from this...
30694 (grub_vbe_bios_set_display_start): ... to this.
30695 (grub_vbe_get_display_start): Renamed from this...
30696 (grub_vbe_bios_get_display_start): ... to this.
30697 (grub_vbe_set_palette_data): Renamed from this...
30698 (grub_vbe_bios_set_palette_data): ... to this.
30699 (grub_vbe_bios_get_controller_info): Fixed problem with registers
30700 getting corrupted after calling it. Added more pushes and pops.
30701 (grub_vbe_bios_set_mode): Likewise.
30702 (grub_vbe_bios_get_mode): Likewise.
30703 (grub_vbe_bios_get_memory_window): Likewise.
30704 (grub_vbe_bios_set_scanline_length): Likewise.
30705 (grub_vbe_bios_get_scanline_length): Likewise.
30706 (grub_vbe_bios_get_display_start): Likewise.
30707 (grub_vbe_bios_set_palette_data): Likewise.
30708
30709 * normal/cmdline.c (cl_set_pos): Refresh the screen.
30710 (cl_insert): Likewise.
30711 (cl_delete): Likewise.
30712
30713 * term/gfxterm.c: New file.
30714
30715 * term/i386/pc/vesafb.c: Removed file.
30716
30717 * video/video.c: New file.
30718
30719 * video/i386/pc/vbe.c (real2pm): Added new function.
30720 (grub_video_vbe_draw_pixel): Likewise.
30721 (grub_video_vbe_get_video_ptr): Likewise.
30722 (grub_video_vbe_get_pixel): Likewise
30723 (grub_video_vbe_init): Likewise.
30724 (grub_video_vbe_fini): Likewise.
30725 (grub_video_vbe_setup): Likewise.
30726 (grub_video_vbe_get_info): Likewise.
30727 (grub_video_vbe_set_palette): Likewise.
30728 (grub_video_vbe_get_palette): Likewise.
30729 (grub_video_vbe_set_viewport): Likewise.
30730 (grub_video_vbe_get_viewport): Likewise.
30731 (grub_video_vbe_map_color): Likewise.
30732 (grub_video_vbe_map_rgb): Likewise.
30733 (grub_video_vbe_map_rgba): Likewise.
30734 (grub_video_vbe_unmap_color): Likewise.
30735 (grub_video_vbe_fill_rect): Likewise.
30736 (grub_video_vbe_blit_glyph): Likewise.
30737 (grub_video_vbe_blit_bitmap): Likewise.
30738 (grub_video_vbe_blit_render_target): Likewise.
30739 (grub_video_vbe_scroll): Likewise.
30740 (grub_video_vbe_swap_buffers): Likewise.
30741 (grub_video_vbe_create_render_target): Likewise.
30742 (grub_video_vbe_delete_render_target): Likewise.
30743 (grub_video_vbe_set_active_render_target): Likewise.
30744 (grub_vbe_set_pixel_rgb): Remove function.
30745 (grub_vbe_set_pixel_index): Likewise.
30746 (index_color_mode): Remove static variable.
30747 (active_mode): Likewise.
30748 (framebuffer): Likewise.
30749 (bytes_per_scan_line): Likewise.
30750 (grub_video_vbe_adapter): Added new static variable.
30751 (framebuffer): Likewise.
30752 (render_target): Likewise.
30753 (initial_mode): Likewise.
30754 (mode_in_use): Likewise.
30755 (mode_list): Likewise.
30756
30757 2006-03-10 Marco Gerards <marco@gnu.org>
30758
30759 * configure.ac (AC_INIT): Bumped to 1.93.
30760
30761 * DISTLIST: Added `include/grub/hfs.h'.
30762
30763 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
30764
30765 * boot/i386/pc/boot.S (general_error): Before looping, try INT
30766 18H, which might help the BIOS falling back to next boot media.
30767
30768 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
30769
30770 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
30771 Poe Chen <poe.poechen@gmail.com>.
30772
30773 2006-01-17 Marco Gerards <marco@gnu.org>
30774
30775 * include/grub/normal.h: Include <grub/script.h>.
30776 (grub_command_list): Removed struct.
30777 (grub_command_list_t): Removed type.
30778 (grub_menu_entry): Remove members `num' and `command_list'. Add
30779 members `commands' and `sourcecode'.
30780 * include/grub/script.h: Add inclusion guards.
30781 (grub_script_cmd_menuentry): New struct.
30782 (grub_script_execute_menuentry): New prototype.
30783 (grub_script_lexer_record_start): Likewise.
30784 (grub_script_lexer_record_stop): Likewise.
30785 * normal/execute.c (grub_script_execute_menuentry): New function.
30786 * normal/lexer.c (record, recording, recordpos, recordlen): New
30787 variables.
30788 (grub_script_lexer_record_start): New function.
30789 (grub_script_lexer_record_stop): Likewise.
30790 (recordchar): Likewise.
30791 (nextchar): Likewise.
30792 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
30793 2048 as the buffer size. Add the tokens `menuentry' and `@'.
30794 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
30795 (current_menu): New variable.
30796 (free_menu): Mainly rewritten.
30797 (grub_normal_menu_addentry): New function.
30798 (read_config_file): Rewritten.
30799 * normal/menu.c (run_menu_entry): Mainly rewritten.
30800 * normal/menu_entry.c (make_screen): Rewritten the code to insert
30801 the menu entry.
30802 (run): Mainly rewritten.
30803 * normal/parser.y (menu_entry): New variable.
30804 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
30805 (menuentry): New rule.
30806 (command): Add `menuentry'.
30807 (if_statement): Allow additional returns before `fi'.
30808 * normal/script.c (grub_script_create_cmdmenu): New function.
30809
30810 2006-01-03 Marco Gerards <marco@gnu.org>
30811
30812 * INSTALL: GNU Bison is required.
30813 * configure.ac: Rewritten the test to detect Bison.
30814 * Makefile.in (YACC): New variable. Reported by Xun Sun
30815 <xun.sun.cn@gmail.com>.
30816
30817 2006-01-03 Marco Gerards <marco@gnu.org>
30818
30819 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
30820 the HFS+ filesystem to filesystem blocks.
30821 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
30822 GCC warning is silenced.
30823
30824 2006-01-03 Marco Gerards <marco@gnu.org>
30825
30826 * partmap/apple.c (apple_partition_map_iterate): Convert the data
30827 read from disk from big endian to host byte order.
30828
30829 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
30830
30831 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
30832 documentation.
30833 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
30834 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
30835 embedded HFS+ filesystem.
30836 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
30837 (grub_hfs_sblock): Move from here...
30838 * include/grub/hfs.h: To here... New file.
30839 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
30840 documentation.
30841 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
30842 New macros.
30843 (grub_hfsplus_volheader): Change type of member `magic' to
30844 `grub_uint16_t'.
30845 (grub_hfsplus_data): Add new member `embedded_offset'.
30846 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
30847 returned block.
30848 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
30849 Calculate the offset.
30850
30851 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30852
30853 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
30854 Removed.
30855 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
30856
30857 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30858
30859 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
30860 ENV->NAME is NULL after allocating ENV->VALUE.
30861
30862 2005-12-25 Marco Gerards <marco@gnu.org>
30863
30864 * kern/env.c (grub_env_set): Rewritten the error handling code.
30865
30866 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30867
30868 * geninit.sh: Made more robust, and more portable.
30869
30870 2005-12-25 Marco Gerards <marco@gnu.org>
30871
30872 Add support for Apple HFS+ filesystems.
30873
30874 * fs/hfsplus.c: New file.
30875
30876 * DISTLIST: Added `fs/hfsplus.c'.
30877
30878 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
30879 (hfsplus_mod_SOURCES): New variable.
30880 (hfsplus_mod_CFLAGS): Likewise.
30881 (hfsplus_mod_LDFLAGS): Likewise.
30882 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
30883 (grub_setup_SOURCES): Likewise.
30884 (grub_mkdevicemap_SOURCES): Likewise.
30885 (grub_emu_SOURCES): Likewise.
30886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30887
30888 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
30889
30890 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
30891
30892 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30893
30894 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
30895 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
30896 include/grub/parser.h, include/grub/script.h, kern/parser.c,
30897 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
30898 normal/lexer.c, normal/parser.y, normal/script.c, and
30899 partmap/gpt.c.
30900 Removed kern/sparc64/cache.c.
30901
30902 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
30903 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
30904 grub_emu_init.c.
30905
30906 * configure.ac (AC_INIT): Bumped to 1.92.
30907
30908 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
30909
30910 * kern/err.c (grub_error_push): Added new function to support error
30911 stacks.
30912 (grub_error_pop): Likewise.
30913 (grub_error_stack_items): New local variable to support error stacks.
30914 (grub_error_stack_pos): Likewise.
30915 (grub_error_stack_assert): Likewise.
30916 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
30917 stack depth.
30918 (grub_print_error): Added support to print errors from error stack.
30919
30920 * include/grub/err.h (grub_error_push): Added function prototype.
30921 (grub_error_pop): Likewise.
30922
30923 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
30924
30925 * configure.ac: Accept `powerpc64' as host_cpu.
30926 (amd64): Rename to `biarch32'.
30927
30928 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
30929 non-cacheline-aligned addresses.
30930
30931 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
30932 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
30933 if `size' is non-zero.
30934
30935 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
30936
30937 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
30938 and `cd' to make sure the filename is not prefixed with a
30939 directory name.
30940 (pkgdata_MODULES): Add `gpt.mod'.
30941 (gpt_mod_SOURCES): New variable.
30942 (gpt_mod_CFLAGS): Likewise.
30943 (gpt_mod_LDFLAGS): Likewise.
30944
30945 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
30946
30947 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
30948 New macro.
30949
30950 * partmap/gpt.c: New file.
30951
30952 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
30953 GPT partition map is detected.
30954
30955 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
30956
30957 * commands/i386/pc/play.c: New file.
30958 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
30959 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
30960 macros.
30961
30962 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
30963
30964 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
30965 ((unused))' to silence gcc warning.
30966
30967 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
30968
30969 * configure.ac: Correct `AC_PROG_YACC' test.
30970
30971 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30972
30973 * util/powerpc/ieee1275/grub-install.in: Run the mount point
30974 check before installing files.
30975
30976 2005-11-22 Mike Small <smallm@panix.com>
30977
30978 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
30979 number regex so multidigit numbers are recognized correctly.
30980
30981 2005-11-22 Mike Small <smallm@panix.com>
30982
30983 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
30984 debugging message before attempting to claim memory.
30985 (grub_rescue_cmd_initrd): Add a claim debugging message and try
30986 multiple addresses in case of failure.
30987
30988 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30989
30990 * term/tparm.c (get_space): Remove empty `if' statement.
30991
30992 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
30993
30994 * kern/parser.c (check_varstate): Rename `state' to 's'.
30995
30996 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30997
30998 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
30999 variable definitions to the beginning of each function. Sort stack
31000 variables by size.
31001 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
31002 `buf' argument to `char *'.
31003
31004 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31005
31006 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
31007 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
31008 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
31009 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31010 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31011 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31012 configfile.mod, search.mod, gzio.mod and test.mod.
31013 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31014 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31015 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31016 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31017 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31018 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31019 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31020 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31021 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31022 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31023 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31024 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31025 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31026 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31027 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31028 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31029 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31030 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31031 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31032 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31033 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31034 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31035 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
31036
31037 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
31038 `grep --include'.
31039 (pkgdata_MODULES): Add test.mod.
31040
31041 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31042
31043 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
31044 appending to variables with "+=".
31045 (PModule): Use full pathname to generate *.lst filenames.
31046
31047 * Makefile.in: Fixed list rules moved from genmk.rb.
31048 (.DELETE_ON_ERROR): New special target.
31049 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
31050
31051 * conf/i386-pc.rmk: Include conf/common.mk.
31052 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
31053 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
31054 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31055 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31056 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31057 configfile.mod, search.mod, gzio.mod and test.mod.
31058 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31059 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31060 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31061 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31062 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31063 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31064 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31065 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31066 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31067 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31068 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31069 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31070 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31071 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31072 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31073 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31074 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31075 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31076 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31077 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31078 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31079 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31080 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
31081 here...
31082 * conf/common.rmk: ... to here. New file.
31083
31084 * conf/common.mk: New file.
31085
31086 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
31087
31088 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
31089 (grub_script.tab.c): ... here.
31090
31091 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
31092 (grub_script.tab.c): ... here.
31093
31094 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
31095 (grub_script.tab.c): ... here.
31096
31097 * normal/command.c (grub_command_find): Fixed a memory leak of
31098 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
31099
31100 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31101
31102 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
31103 "@" which marks the start of a comment on ARM.
31104 (VARIABLE): Likewise.
31105
31106 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31107
31108 Add support for Linux/ADFS partition tables.
31109
31110 * partmap/acorn.c: New file.
31111
31112 * include/grub/acorn_filecore.h: Likewise.
31113
31114 * DISTLIST: Added `partmap/acorn.c' and
31115 `include/grub/acorn_filecore.h'.
31116
31117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31118 `partmap/acorn.c'.
31119 (pkgdata_MODULES): Add `acorn.mod'.
31120 (acorn_mod_SOURCES): New variable.
31121 (acorn_mod_CFLAGS): Likewise.
31122
31123 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31124 `partmap/acorn.c'.
31125 (pkgdata_MODULES): Add `acorn.mod'.
31126 (acorn_mod_SOURCES): New variable.
31127 (acorn_mod_CFLAGS): Likewise.
31128
31129 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
31130 (pkgdata_MODULES): Add `acorn.mod'.
31131 (acorn_mod_SOURCES): New variable.
31132 (acorn_mod_CFLAGS): Likewise.
31133 (acorn_mod_LDFLAGS): Likewise.
31134
31135 * include/types.h (grub_disk_addr_t): New typedef.
31136
31137 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
31138
31139 * geninit.sh: New file.
31140
31141 * geninitheader.sh: Likewise.
31142
31143 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
31144 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
31145 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
31146 * commands/configfile.c (grub_configfile_init)
31147 (grub_configfile_fini): Likewise.
31148 * commands/default.c (grub_default_init, grub_default_fini):
31149 Likewise.
31150 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
31151 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
31152 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
31153 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
31154 Likewise.
31155 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
31156 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
31157 Likewise.
31158 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
31159 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
31160 Likewise.
31161 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
31162 Likewise.
31163 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
31164 Likewise.
31165 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
31166 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
31167 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
31168 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
31169 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
31170 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
31171 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
31172 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
31173 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
31174 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
31175 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
31176 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
31177 * partmap/amiga.c (grub_amiga_partition_map_init)
31178 (grub_amiga_partition_map_fini): Likewise.
31179 * partmap/apple.c (grub_apple_partition_map_init)
31180 (grub_apple_partition_map_fini): Likewise.
31181 * partmap/pc.c (grub_pc_partition_map_init)
31182 (grub_pc_partition_map_fini): Likewise.
31183 * partmap/sun.c (grub_sun_partition_map_init,
31184 grub_sun_partition_map_fini): Likewise.
31185 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
31186 Likewise.
31187
31188 * util/grub-emu.c: Include <grub_modules_init.h>.
31189 (main): Don't initialize and de-initialize any modules directly,
31190 use `grub_init_all' and `grub_fini_all' instead.
31191
31192 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
31193 `grub_vesafb_mod_init'.
31194 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
31195 all users.
31196 * term/i386/pc/vga.c (grub_vga_init): Renamed to
31197 `grub_vga_mod_init'. Updated all users.
31198 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
31199
31200 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
31201 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
31202 rules.
31203
31204 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
31205 Generate a function to initialize the module in utilities.
31206 Updated all callers.
31207 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
31208 initialize the module in utilities. Updated all callers.
31209
31210 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31211
31212 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
31213 escape sequence and a literal ^L to clear the screen.
31214
31215 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
31216 when returning from Open Firmware.
31217
31218 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31219
31220 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
31221 (grub_ofconsole_height): Likewise.
31222 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
31223 manually insert a '\n'.
31224 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
31225 `grub_ofconsole_height'. Return early if these are already set.
31226
31227 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
31228
31229 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31230 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
31231 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
31232 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
31233 and `normal/script.c'.
31234 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31235 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31236 (test_mod_SOURCES): New variable.
31237 (test_mod_CFLAGS): Likewise.
31238 (test_mod_LDFLAGS): Likewise.
31239 (pkgdata_MODULES): Add `test.mod'.
31240 (grub_script.tab.c): New rule.
31241 (grub_script.tab.h): Likewise.
31242
31243 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
31244
31245 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31246 `commands/test.c', `normal/execute.c', `normal/lexer.c',
31247 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31248 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31249 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31250 (test_mod_SOURCES): New variable.
31251 (test_mod_CFLAGS): Likewise.
31252 (pkgdata_MODULES): Add `test.mod'.
31253 (grub_script.tab.c): New rule.
31254 (grub_script.tab.h): Likewise.
31255
31256 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
31257
31258 Add initial scripting support.
31259
31260 * commands/test.c: New file.
31261 * include/grub/script.h: Likewise.
31262 * normal/execute.c: Likewise.
31263 * normal/function.c: Likewise.
31264 * normal/lexer.c: Likewise.
31265 * normal/parser.y: Likewise.
31266 * normal/script.c: Likewise.
31267
31268 * configure.ac: Add `AC_PROG_YACC' test.
31269
31270 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
31271 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
31272 `normal/function.c' and `normal/script.c'.
31273 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31274 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31275 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
31276 variables.
31277 (pkgdata_MODULES): Add `test.mod'.
31278 (grub_script.tab.c): New rule.
31279 (grub_script.tab.h): Likewise.
31280
31281 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
31282
31283 * include/grub/normal.h (grub_test_init): New prototype.
31284 (grub_test_fini): Likewise.
31285
31286 * normal/command.c: Include <grub/script.h>.
31287 (grub_command_execute): Rewritten.
31288
31289 * util/grub-emu.c (main): Call `grub_test_init' and
31290 `grub_test_fini'.
31291
31292 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31293
31294 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
31295 to 0.
31296 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
31297 there are no pending characters.
31298
31299 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31300
31301 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
31302 `grub_strndup' to drop device arguments. Replace unnecessary
31303 `grub_strndup' with `grub_strdup'.
31304
31305 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31306
31307 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
31308 `debug' environment variable has been set.
31309
31310 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
31311
31312 * Makefile.in (install-local): Use $(DATA).
31313 (uninstall): Likewise.
31314 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
31315 (sbin_UTILITIES): ... to here.
31316 (sbin_SCRIPTS): New variable.
31317 (grub_install_SOURCES): New variable.
31318 * util/powerpc/ieee1275/grub-install.in: New file.
31319 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
31320 variable.
31321 (add_segments): Call `grub_util_get_path'.
31322
31323 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31324
31325 From Timothy Baldwin:
31326 * commands/ls.c (grub_ls_list_files): Close FILE with
31327 grub_file_close.
31328 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
31329
31330 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
31331
31332 * include/grub/parser.h: New file.
31333
31334 * kern/parser.c: Likewise.
31335
31336 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
31337 (grub_setup_SOURCES): Likewise.
31338 (grub_probefs_SOURCES): Likewise.
31339 (grub_emu_SOURCES): Likewise.
31340 (kernel_img_HEADERS): Add `parser.h'.
31341
31342 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31343 (grub_emu_SOURCES): Add `kern/parser.c'.
31344 (grubof_SOURCES): Likewise.
31345
31346 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31347 (grubof_SOURCES): Add `kern/parser.c'.
31348
31349 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
31350
31351 * kern/misc.c (grub_split_cmdline): Removed function.
31352
31353 * kern/rescue.c: Include <grub/parser.h>.
31354 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
31355 of `grub_split_cmdline'.
31356
31357 * normal/command.c: Include <grub/parser.h>.
31358 (grub_command_execute): Use `grub_parser_split_cmdline' instead
31359 of `grub_split_cmdline'.
31360
31361 * normal/completion.c: Include <grub/parser.h>.
31362 (cmdline_state): New variable.
31363 (iterate_dir): End the filename with a quote depending on the
31364 command line state.
31365 (get_state): new function.
31366 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
31367 split the arguments and determine the current argument. When the
31368 argument string is not quoted, escape all spaces.
31369
31370 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31371
31372 * normal/sparc64/setjmp.S: New file.
31373
31374 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31375
31376 * include/grub/sparc64/libgcc.h: New file.
31377 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
31378 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
31379 normal/sparc64/setjmp.c.
31380
31381 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31382
31383 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
31384 * kern/sparc64/cache.S: New file.
31385 * kern/sparc64/cache.c: Removed.
31386 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
31387 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
31388 -mtune=ultrasparc.
31389 (COMMON_LDFLAGS): Add -melf64_sparc.
31390 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
31391 (grubof_SOURCES): Use cache.S instead of cache.c.
31392 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
31393 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
31394 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
31395 commented though.
31396 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
31397 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
31398 (linux_mod_CFLAGS): Commented out.
31399 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
31400 out because module isn't built.
31401 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
31402 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
31403 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
31404 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
31405 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
31406 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31407 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31408 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
31409 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
31410 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
31411 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31412 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31413 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
31414 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
31415
31416 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
31417
31418 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
31419 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
31420 longer, because HFS should not be used on PC.
31421
31422 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31423
31424 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
31425 consistently within the loop.
31426
31427 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
31428
31429 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
31430 directory can not be read.
31431
31432 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31433
31434 * configure.ac (AC_INIT): Increase the version number to 1.91.
31435
31436 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
31437 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
31438 term/i386/pc/serial.c.
31439
31440 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31441
31442 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
31443 file size must be permitted.
31444
31445 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
31446 between %ah and %al.
31447
31448 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31449
31450 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
31451 grub_uint64_t.
31452 Call the hook with a NUL-terminated filename.
31453 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
31454 grub_cpu_to_be32.
31455
31456 * kern/term.c (cursor_state): New variable.
31457 (grub_term_set_current): Reset the cursor state on a new
31458 terminal.
31459 (grub_setcursor): Rewritten to use CURSOR_STATE.
31460 (grub_getcursor): New function.
31461
31462 * include/grub/term.h (grub_getcursor): New prototype.
31463
31464 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
31465 integers on ARM. Reported by Timothy Baldwin
31466 <T.E.Baldwin99@members.leeds.ac.uk>.
31467
31468 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
31469
31470 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
31471 allocated.
31472 (grub_sfs_dir): Likewise.
31473
31474 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
31475
31476 Add support for the SFS filesystem.
31477
31478 * fs/sfs.c: New file.
31479
31480 * DISTLIST: Added `fs/sfs.c'.
31481
31482 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
31483 (grub_probefs_SOURCES): Likewise.
31484 (grub_emu_SOURCES): Likewise.
31485 (pkgdata_MODULES): Add `sfs.mod'.
31486 (sfs_mod_SOURCES): New variable.
31487 (sfs_mod_CFLAGS): Likewise.
31488 (sfs_mod_LDFLAGS): Likewise.
31489
31490 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
31491 (pkgdata_MODULES): Add `sfs.mod'.
31492 (sfs_mod_SOURCES): New variable.
31493 (sfs_mod_CFLAGS): Likewise.
31494
31495 * util/grub-emu.c (main): Call `grub_sfs_init' and
31496 `grub_sfs_fini'.
31497
31498 * include/grub/fs.h (grub_sfs_init): New prototype.
31499 (grub_sfs_fini): Likewise.
31500
31501 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
31502
31503 Add support for the AFFS filesystem.
31504
31505 * fs/affs.c: New file.
31506
31507 * DISTLIST: Added `fs/affs.c'.
31508
31509 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
31510 (grub_probefs_SOURCES): Likewise.
31511 (grub_emu_SOURCES): Likewise.
31512 (pkgdata_MODULES): Add `affs.mod'.
31513 (affs_mod_SOURCES): New variable.
31514 (affs_mod_CFLAGS): Likewise.
31515 (affs_mod_LDFLAGS): Likewise.
31516
31517 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
31518 (pkgdata_MODULES): Add `affs.mod'.
31519 (affs_mod_SOURCES): New variable.
31520 (affs_mod_CFLAGS): Likewise.
31521
31522 * util/grub-emu.c (main): Call `grub_affs_init' and
31523 `grub_affs_fini'.
31524
31525 * include/grub/fs.h (grub_affs_init): New prototype.
31526 (grub_affs_fini): Likewise.
31527
31528 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31529
31530 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
31531
31532 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31533
31534 * configure.ac: Accept `x86_64' as host_cpu. In that case add
31535 `-m32' to CFLAGS.
31536
31537 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
31538 linking.
31539
31540 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
31541 (COMMON_LDFLAGS): New variable.
31542 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
31543 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
31544 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
31545 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
31546 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
31547 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
31548 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
31549 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
31550 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
31551 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
31552 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31553 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31554 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
31555 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
31556 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
31557 variables.
31558 (normal_mod_ASFLAGS): Add `-m32'.
31559
31560 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
31561 (grub_host_size_t, grub_host_ssize_t): New types.
31562 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
31563 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
31564 `GRUB_HOST_SIZEOF_VOID_P'.
31565
31566 * include/grub/kernel.h (struct grub_module_header): Type of
31567 member offset changed to `grub_host_off_t'. Type of member size
31568 changed to `grub_host_size_t'.
31569 (struct grub_module_info): Type of member offset changed to
31570 `grub_host_off_t'. Type of member size changed to
31571 `grub_host_size_t'.
31572
31573 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
31574
31575 Make GRUB's kernel compliant to Multiboot Specification.
31576
31577 * kern/i386/pc/startup.S (multiboot_header): New label.
31578 (multiboot_entry): Likewise.
31579 (multiboot_trampoline): Likewise.
31580
31581 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31582 Increased to 0x4A0.
31583
31584 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
31585 put parentheses after a question mark.
31586 [!GRUB_UTIL] (my_mod): New variable.
31587
31588 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
31589
31590 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
31591
31592 Adds support for the XFS filesystem. Btrees are not supported
31593 yet.
31594
31595 * fs/xfs.c: New file.
31596
31597 * DISTLIST: Added `fs/xfs.c'.
31598
31599 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
31600 (grub_probefs_SOURCES): Likewise.
31601 (grub_emu_SOURCES): Likewise.
31602 (pkgdata_MODULES): Add `xfs.mod'.
31603 (xfs_mod_SOURCES): New variable.
31604 (xfs_mod_CFLAGS): Likewise.
31605
31606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
31607 (pkgdata_MODULES): Add `xfs.mod'.
31608 (xfs_mod_SOURCES): New variable.
31609 (xfs_mod_CFLAGS): Likewise.
31610
31611 * util/grub-emu.c (main): Call `grub_xfs_init' and
31612 `grub_xfs_fini'.
31613
31614 * include/grub/fs.h (grub_xfs_init): New prototype.
31615 (grub_xfs_fini): Likewise.
31616
31617
31618 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
31619
31620 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
31621 color modes, allow greater than 16 colors to be configured as
31622 a default palette.
31623
31624 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31625
31626 * normal/completion.c (complete_arguments): Add the qualifier
31627 const into OPTIONS.
31628
31629 From Omniflux <omniflux+lists@omniflux.com>:
31630 * include/grub/terminfo.h: New file.
31631 * include/grub/tparm.h: Likewise.
31632 * include/grub/i386/pc/serial.h: Likewise.
31633 * term/terminfo.c: Likewise.
31634 * term/tparm.c: Likewise.
31635 * term/i386/pc/serial.c: Likewise.
31636 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
31637 serial.mod.
31638 (terminfo_mod_SOURCES): New variable.
31639 (terminfo_mod_CFLAGS): Likewise.
31640 (serial_mod_SOURCES): Likewise.
31641 (serial_mod_CFLAGS): Likewise.
31642
31643 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
31644
31645 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
31646 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
31647 and kern/powerpc/ieee1275/cmain.c, respectively.
31648
31649 * boot/powerpc/ieee1275/crt0.S: Moved to ...
31650 * kern/powerpc/ieee1275/crt0.S: ... here.
31651
31652 * boot/powerpc/ieee1275/cmain.c: Moved to ...
31653 * kern/powerpc/ieee1275/cmain.c: ... here.
31654
31655 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
31656 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
31657 instead of boot/powerpc/ieee1275/crt0.S and
31658 boot/powerpc/ieee1275/cmain.c, respectively.
31659
31660 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
31661 sectors. It was not used anyway.
31662
31663 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31664
31665 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
31666 `unused parameter' warning.
31667
31668 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31669
31670 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
31671 function.
31672 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
31673 getcharwidth.
31674
31675 2005-08-28 Marco Gerards <metgerards@student.han.nl>
31676
31677 * include/grub/normal.h (enum grub_completion_type): Added
31678 `GRUB_COMPLETION_TYPE_ARGUMENT'.
31679
31680 * normal/cmdline.c (print_completion): Handle
31681 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
31682 * normal/menu_entry.c (store_completion): Likewise.
31683
31684 * normal/completion.c (complete_arguments): New function.
31685 (grub_normal_do_completion): Call `complete_arguments' when the
31686 current words start with a dash.
31687
31688 2005-08-27 Marco Gerards <metgerards@student.han.nl>
31689
31690 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
31691 `gzio.mod' instead of `io.mod').
31692
31693 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
31694
31695 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
31696 (DISTDIRS): Added io and video.
31697 Rewrite the search routine to make an output consistently.
31698
31699 * DISTLIST: Added conf/sparc64-ieee1275.mk,
31700 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
31701 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
31702 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
31703 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
31704 util/powerpc/ieee1275/misc.c.
31705
31706 * include/grub/gzio.h: New file.
31707 * io/gzio.c: Likewise.
31708
31709 * kern/file.c (grub_file_close): Call grub_device_close only if
31710 FILE->DEVICE is not NULL.
31711
31712 * include/grub/mm.h [!NULL] (NULL): New macro.
31713
31714 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
31715
31716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
31717 (pkgdata_MODULES): Added gzio.mod.
31718 (gzio_mod_SOURCES): New variable.
31719 (gzio_mod_CFLAGS): Likewise.
31720
31721 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
31722 (pkgdata_MODULES): Added gzio.mod.
31723 (gzio_mod_SOURCES): New variable.
31724 (gzio_mod_CFLAGS): Likewise.
31725
31726 * commands/cat.c: Include grub/gzio.h.
31727 (grub_cmd_cat): Use grub_gzfile_open instead of
31728 grub_file_open.
31729
31730 * commands/cmp.c: Include grub/gzio.h.
31731 (grub_cmd_cmp): Use grub_gzfile_open instead of
31732 grub_file_open.
31733
31734 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
31735 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
31736 grub_file_open.
31737 (grub_rescue_cmd_module): Likewise.
31738
31739 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31740
31741 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
31742 kern/sparc64/ieee1275/init.c because it contains _start.
31743 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
31744
31745 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31746
31747 * configure.ac: Add support for sparc64 host with ieee1275
31748 firmware.
31749 * configure: Generated from configure.ac.
31750 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
31751 instead of int.
31752 (grub_ofdisk_read): Likewise.
31753 (grub_ofdisk_open): Use %p to print pointer values, and cast the
31754 pointers as (void *) to remove a warning.
31755 (grub_ofdisk_close): Likewise.
31756 (grub_ofdisk_read): Likewise.
31757 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
31758 returns, so make it return void to remove a warning.
31759 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
31760 Corresponding prototype change.
31761 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
31762 values, and cast the pointers as (void *) to remove a warning.
31763 (grub_mm_dump): Likewise.
31764 * conf/sparc64-ieee1275.mk: New file.
31765 * conf/sparc64-ieee1275.rmk: Likewise.
31766 * include/grub/sparc64/setjmp.h: Likewise.
31767 * include/grub/sparc64/types.h: Likewise.
31768 * include/grub/sparc64/ieee1275/console.h: Likewise.
31769 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31770 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31771 * include/grub/sparc64/ieee1275/time.h: Likewise.
31772 * kern/sparc64/cache.c: Likewise.
31773 * kern/sparc64/dl.c: Likewise.
31774 * kern/sparc64/ieee1275/init.c: Likewise.
31775 * kern/sparc64/ieee1275/openfw.c: Likewise.
31776
31777 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31778
31779 * util/console.c (grub_ncurses_putchar): If C is greater than
31780 0x7f, set C to a question mark.
31781 (grub_ncurses_getcharwidth): New function.
31782 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
31783 getcharwidth.
31784
31785 * normal/menu.c (print_entry): Made aware of Unicode. First,
31786 convert TITLE to UCS-4, and predict the cursor position by
31787 grub_getcharwidth.
31788
31789 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
31790 const to SRC.
31791 * kern/misc.c (grub_utf16_to_utf8): Likewise.
31792
31793 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31794
31795 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
31796 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31797 grub_strcat.
31798
31799 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
31800 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31801 grub_strcpy and grub_strlen. Take it into account that a space
31802 character is inserted as a delimiter.
31803
31804 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31805
31806 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
31807 invalid magic in the error.
31808
31809 * commands/search.c: New file.
31810
31811 * util/grub-emu.c (main): Call grub_search_init and
31812 grub_search_fini.
31813
31814 * kern/rescue.c (grub_rescue_print_disks): Removed.
31815 (grub_rescue_print_devices): New function.
31816 (grub_rescue_cmd_ls): Use grub_device_iterate with
31817 grub_rescue_print_devices instead of grub_disk_dev_iterate with
31818 grub_rescue_print_disks.
31819
31820 * kern/partition.c (grub_partition_iterate): Return the result of
31821 PARTMAP->ITERATE instead of GRUB_ERRNO.
31822
31823 * kern/device.c: Include grub/partition.h.
31824 (grub_device_iterate): New function.
31825
31826 * include/grub/partition.h (grub_partition_iterate): Return int
31827 instead of grub_err_t.
31828
31829 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
31830 prototype.
31831 [GRUB_UTIL] (grub_search_fini): Likewise.
31832
31833 * include/grub/device.h (grub_device_iterate): New prototype.
31834
31835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31836 commands/search.c.
31837 (pkgdata_MODULES): Added search.mod.
31838 (search_mod_SOURCES): New variable.
31839 (search_mod_CFLAGS): Likewise.
31840
31841 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
31842 (pkgdata_MODULES): Added search.mod.
31843 (search_mod_SOURCES): New variable.
31844 (search_mod_CFLAGS): Likewise.
31845
31846 * commands/ls.c (grub_ls_list_disks): Renamed to ...
31847 (grub_ls_list_devices): ... this, and use grub_device_iterate.
31848 All callers changed.
31849
31850 * DISTLIST: Added commands/search.c.
31851
31852 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31853
31854 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
31855 conversion.
31856 (grub_getcharwidth): New function.
31857
31858 * kern/misc.c (grub_utf8_to_ucs4): New function.
31859
31860 * include/grub/term.h (struct grub_term): Added a new member
31861 "getcharwidth".
31862 (grub_getcharwidth): New prototype.
31863
31864 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
31865
31866 * term/i386/pc/console.c (map_char): New function. Segregated from
31867 grub_console_putchar.
31868 (grub_console_putchar): Use map_char.
31869 (grub_console_getcharwidth): New function.
31870 (grub_console_term): Specified grub_console_getcharwidth as
31871 getcharwidth.
31872
31873 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
31874 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
31875
31876 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
31877 GRUB_ERRNO.
31878 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
31879 on grub_strtoul completely.
31880 (write_char): Declare local variables in the beginning of the
31881 function.
31882 (grub_vesafb_getcharwidth): New function.
31883 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
31884 getcharwidth.
31885
31886 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
31887
31888 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
31889 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
31890 commands/i386/pc/vbetest.c.
31891
31892 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
31893 call grub_vbe_get_controller_info again, because the returned
31894 information is volatile.
31895 (grub_vbe_set_video_mode): Mostly rewritten.
31896 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
31897 grub_vbe_status_t correctly.
31898 (grub_vbe_get_video_mode_info): Likewise.
31899 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
31900 several if statements.
31901
31902 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
31903 * commands/i386/pc/vbeinfo.c: ... this.
31904
31905 * commands/i386/pc/vbe_test.c: Renamed to ...
31906 * commands/i386/pc/vbetest.c: ... this.
31907
31908 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
31909 ...
31910 (grub_cmd_vbeinfo): ... this. Save video modes before
31911 iterating. Skip a video mode, if it is not available, not enough
31912 information is given or it is monochrome. Show the memory
31913 model. Leave the interpretation of MODEVAR to grub_strtoul
31914 completely.
31915 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
31916 (GRUB_MOD_FINI): Likewise.
31917
31918 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
31919 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
31920 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
31921 duplicated grub_env_get. Leave the interpretation of MODEVAR to
31922 grub_strtoul completely.
31923 (real2pm): Removed.
31924 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
31925 (GRUB_MOD_FINI): Likewise.
31926
31927 * normal/misc.c: Include grub/mm.h.
31928
31929 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
31930 vbe_list_modes with vbetest.mod and vbeinfo.mod.
31931 (vbe_list_modes_mod_SOURCES): Removed.
31932 (vbe_list_modes_mod_CFLAGS): Likewise.
31933 (vbe_test_mod_SOURCES): Likewise.
31934 (vbe_test_mod_CFLAGS): Likewise.
31935 (vbeinfo_mod_SOURCES): New variable.
31936 (vbeinfo_mod_CFLAGS): Likewise.
31937 (vbetest_mod_SOURCES): Likewise.
31938 (vbetest_mod_CFLAGS): Likewise.
31939
31940 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
31941
31942 * normal/misc.c: New file.
31943
31944 * DISTLIST: Added normal/misc.c.
31945
31946 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
31947 DISK to HOOK. Call HOOK with DISK.
31948 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31949 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31950 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31951
31952 * normal/menu_entry.c (struct screen): Added a new member
31953 "completion_shown".
31954 (completion_buffer): New global variable.
31955 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
31956 (store_completion): New function.
31957 (complete): Likewise.
31958 (clear_completions): Likewise.
31959 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
31960 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
31961 a tab, call complete.
31962
31963 * normal/completion.c (disk_dev): Removed.
31964 (print_simple_completion): Likewise.
31965 (print_partition_completion): Likewise.
31966 (print_func): New global variable.
31967 (add_completion): Do not take the arguments WHAT or PRINT any
31968 longer. Added a new argument TYPE. Instead of printing directly,
31969 call PRINT_FUNC if not NULL.
31970 All callers changed.
31971 (complete_device): Use a local variable DEV instead of
31972 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
31973 (grub_normal_do_completion): Take a new argument HOOK. Do not
31974 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
31975 empty string, return NULL instead.
31976 All callers changed.
31977
31978 * normal/cmdline.c (print_completion): New function.
31979
31980 * kern/partition.c (grub_partition_iterate): Add an argument DISK
31981 to HOOK.
31982 All callers changed.
31983
31984 * kern/disk.c (grub_print_partinfo): Removed.
31985
31986 * include/grub/partition.h (struct grub_partition_map): Add a new
31987 argument DISK into HOOK of ITERATE.
31988 (grub_partition_iterate): Add a new argument DISK to HOOK.
31989
31990 * include/grub/normal.h (enum grub_completion_type): New enum.
31991 (grub_completion_type_t): New type.
31992 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
31993 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
31994 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
31995 (GRUB_COMPLETION_TYPE_FILE): Likewise.
31996 (grub_normal_do_completion): Added a new argument HOOK.
31997 (grub_normal_print_device_info): New prototype.
31998
31999 * include/grub/disk.h (grub_print_partinfo): Removed.
32000
32001 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
32002 (normal_mod_SOURCES): Likewise.
32003 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32004 (normal_mod_SOURCES): Likewise.
32005
32006 * commands/ls.c (grub_ls_list_disks): Use
32007 grub_normal_print_device_info instead of grub_print_partinfo. Free
32008 PNAME.
32009 (grub_ls_list_files): Use grub_normal_print_device_info instead of
32010 duplicating the code.
32011
32012 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32013
32014 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
32015 follow GCS more precisely.
32016 * commands/i386/pc/vbe_test.c: Likewise.
32017 * include/grub/i386/pc/vbe.h: Likewise.
32018 * term/i386/pc/vesafb.c: Likewise.
32019 * video/i386/pc/vbe.c: Likewise.
32020
32021 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32022
32023 * DISTLIST: Added term/i386/pc/vesafb.c
32024 DISTLIST: Added video/i386/pc/vbe.c
32025 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
32026 DISTLIST: Added commands/i386/pc/vbe_test.c.
32027 * commands/i386/pc/vbe_list_modes.c: New file.
32028 * commands/i386/pc/vbe_test.c: Likewise.
32029 * term/i386/pc/vesafb.c: Likewise.
32030 * video/i386/pc/vbe.c: Likewise.
32031 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
32032 (grub_vbe_probe) Added prototype.
32033 (grub_vbe_set_video_mode) Likewise.
32034 (grub_vbe_get_video_mode) Likewise.
32035 (grub_vbe_get_video_mode_info) Likewise.
32036 (grub_vbe_set_pixel_rgb) Likewise.
32037 (grub_vbe_set_pixel_index) Likewise.
32038 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
32039 (pkgdata_MODULES): Added vesafb.mod.
32040 (pkgdata_MODULES): Added vbe_list_modes.mod.
32041 (pkgdata_MODULES): Added vbe_test.mod.
32042 (vbe_mod_SOURCES): Added.
32043 (vbe_mod_CFLAGS): Likewise.
32044 (vesafb_mod_SOURCES): Likewise.
32045 (vesafb_mod_CFLAGS): Likewise.
32046 (vbe_list_modes_mod_SOURCES): Likewise.
32047 (vbe_list_modes_mod_CFLAGS): Likewise.
32048 (vbe_test_mod_SOURCES): Likewise.
32049 (vbe_test_mod_CFLAGS): Likewise.
32050
32051 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
32052
32053 * normal/command.c (grub_command_execute): If INTERACTIVE is
32054 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
32055 CMDLINE. Disable the pager if INTERACTIVE is true.
32056 All callers are changed.
32057
32058 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
32059 before reading a config file.
32060 * normal/main.c (read_config_file): Even if a command is not
32061 found, register it if it is within an entry.
32062
32063 * util/grub-emu.c: Include sys/types.h and unistd.h.
32064 (options): Added --hold.
32065 (struct arguments): Added a new member "hold".
32066 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
32067 missing.
32068 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
32069 cleared by a debugger, if it is not zero.
32070
32071 * include/grub/normal.h (grub_command_execute): Add an argument
32072 INTERACTIVE.
32073
32074 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
32075
32076 * DISTLIST: Added include/grub/i386/pc/vbe.h.
32077
32078 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
32079
32080 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
32081 program with another one, because the old one didn't detect a bug
32082 in gcc-3.4. Always use regparm 2, because the new test is still
32083 not enough for gcc-4.0. Someone must investigate a simple test
32084 case which detects a bug in gcc-4.0.
32085
32086 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
32087
32088 * DISTLIST: Added normal/completion.c.
32089
32090 * normal/completion.c: New file.
32091
32092 * term/i386/pc/console.c (grub_console_getwh): New function.
32093 (grub_console_term): Assign grub_console_getwh to getwh.
32094
32095 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
32096 function is defined in normal/completion.c as
32097 grub_normal_do_completion.
32098 (grub_cmdline_get): Use grub_normal_do_completion instead of
32099 grub_tab_complete.
32100
32101 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
32102 returns non-zero, otherwise return 0.
32103 (grub_partition_iterate): First, probe the partition map. Then,
32104 call ITERATE only for this partition map.
32105
32106 * kern/misc.c (grub_strncmp): Rewritten.
32107
32108 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
32109 returns non-zero. Otherwise return 0.
32110
32111 * include/grub/partition.h (grub_partition_map_iterate): Return
32112 int instead of void.
32113
32114 * include/grub/normal.h (grub_normal_do_completion): New prototype.
32115
32116 * include/grub/misc.h (grub_strncmp): Change the type of N to
32117 grub_size_t.
32118
32119 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
32120 of void.
32121
32122 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
32123 unsigned explicitly before comparing it with I.
32124
32125 * kern/main.c (grub_env_write_root): Add the attribute unused into
32126 VAR.
32127
32128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32129 normal/completion.c.
32130 (normal_mod_SOURCES): Likewise.
32131 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32132 (normal_mod_SOURCES): Likewise.
32133
32134 * normal/command.c (grub_iterate_commands): If ITERATE returns
32135 non-zero, return one immediately.
32136
32137 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
32138
32139 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
32140 * kern/i386/pc/startup.S: Updated Global Descriptor table's
32141 descriptions.
32142 (grub_vbe_get_controller_info): New function.
32143 (grub_vbe_get_mode_info): Likewise.
32144 (grub_vbe_set_mode): Likewise.
32145 (grub_vbe_get_mode): Likewise.
32146 (grub_vbe_set_memory_window): Likewise.
32147 (grub_vbe_get_memory_window): Likewise.
32148 (grub_vbe_set_scanline_length): Likewise.
32149 (grub_vbe_get_scanline_length): Likewise.
32150 (grub_vbe_set_display_start): Likewise.
32151 (grub_vbe_get_display_start): Likewise.
32152 (grub_vbe_set_palette_data): Likewise.
32153 * include/grub/i386/pc/vbe.h: New file.
32154
32155 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32156
32157 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32158 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
32159 * DISTLIST: Likewise.
32160 * kern/ieee1275/of.c: Moved to ...
32161 * kern/ieee1275/ieee1275.c: ... here.
32162
32163 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32164
32165 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
32166 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
32167 Pass 0 as `end' parameter to grub_strtoul().
32168
32169 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32170
32171 * include/grub/powerpc/ieee1275/console.h: Do not include
32172 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
32173 ifdef.
32174 (grub_console_cur_color): Remove i386-specific prototype.
32175 (grub_console_real_putchar): Likewise.
32176 (grub_console_checkkey): Likewise.
32177 (grub_console_getkey): Likewise.
32178 (grub_console_getxy): Likewise.
32179 (grub_console_gotoxy): Likewise.
32180 (grub_console_cls): Likewise.
32181 (grub_console_setcursor): Likewise.
32182 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
32183 Include <grub/machine/console.h>.
32184 * term/ieee1275/ofconsole.c: Likewise.
32185
32186 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
32187
32188 * Makefile.in (LIBLZO): New variable.
32189
32190 * configure.ac: Check for LZO version 2.
32191
32192 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
32193 lzo/lzo1x.h instead of lzo1x.h.
32194
32195 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
32196 of -llzo.
32197
32198 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
32199 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
32200
32201 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
32202 copying the data from PARTITION to P.
32203
32204 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32205
32206 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
32207 negative, unload the module.
32208
32209 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
32210 map is "pc_partition_map" but not "pc".
32211 (usage): Fix the description. The options are --boot-image and
32212 --core-image but not --boot-file or --core-file.
32213 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
32214 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
32215 DEFAULT_DIRECTORY.
32216
32217 * util/i386/pc/grub-install.in: Do not specify --boot-file or
32218 --core-file. Specify INSTALL_DEVICE as an argument.
32219
32220 * util/console.c: Include config.h.
32221 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
32222 [HAVE_NCURSES_H]: Include ncurses.h.
32223 [HAVE_CURSES_H]: Include curses.h.
32224 [!A_NORMAL] (A_NORMAL): Defined as zero.
32225 [!A_STANDOUT] (A_STANDOUT): Likewise.
32226
32227 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
32228 -lncurses.
32229 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
32230
32231 * configure.ac: Check for curses libraries and headers.
32232
32233 * Makefile.in (LIBCURSES): New variable.
32234
32235 * genmk.rb (Script::rule): Set the executable bits.
32236
32237 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
32238 name of the PC partition map is "pc_partition_map" but not "pc".
32239
32240 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32241
32242 * util/i386/pc/grub-install.in (grub_probefs): New variable.
32243 (modules): Likewise.
32244 (usage): Added descriptions for --modules and --grub-probefs.
32245 Handle --modules and --grub-probefs. Save the arguments in MODULES
32246 and GRUB_PROBEFS, respectively.
32247 Auto-detect a filesystem module against GRUBDIR. If the result is
32248 empty and modules are not specified explicitly, abort the
32249 installation. Add the result to MODULES.
32250
32251 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
32252 disk/powerpc/ieee1275/ofdisk.c,
32253 include/grub/powerpc/ieee1275/init.h and
32254 term/powerpc/ieee1275/ofconsole.c.
32255 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
32256 term/ieee1275/ofconsole.c.
32257
32258 * include/grub/powerpc/ieee1275/console.h: Resurrected.
32259
32260 * COPYING: Upgraded to the latest version. Only the address of the
32261 FSF office has changed.
32262
32263 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32264
32265 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32266 kern/ieee1275.c with kern/ieee1275/of.c.
32267
32268 * kern/ieee1275.c: Moved to ...
32269 * kern/ieee1275/of.c: ... here.
32270
32271 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
32272
32273 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
32274 readability.
32275
32276 * config.guess: Updated to the latest version from gnulib.
32277 * config.sub: Likewise.
32278 * install.sh: Likewise.
32279 * mkinstalldirs: Likewise.
32280
32281 * include/grub/console.h: Removed. This file is arch-specific. Do
32282 not put this in include/grub.
32283
32284 * include/grub/i386/pc/console.h: Resurrected.
32285
32286 * util/console.c: Include grub/machine/console.h instead of
32287 grub/console.h.
32288 * util/grub-emu.c: Likewise.
32289
32290 2005-08-04 Marco Gerards <metgerards@student.han.nl>
32291
32292 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
32293 hardcoded value.
32294
32295 From Vincent Pelletier <subdino2004@yahoo.fr>
32296 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
32297 Redefined to use grub_getwh.
32298 (grub_term): New member named getwh.
32299 (grub_getwh): New prototype.
32300 * kern/term.c (grub_getwh): New function.
32301 * term/i386/pc/console.c (grub_console_getwh): New function.
32302 (grub_console_term): New member `getwh'.
32303 * term/i386/pc/vga.c (grub_vga_getwh): New function.
32304 (grub_vga_term): New member `getwh'.
32305 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
32306 grub_ssize_t.
32307 (grub_ofconsole_getw): New function.
32308 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
32309 (grub_ofconsole_term): New field named getwh and new initial
32310 value.
32311
32312 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
32313
32314 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
32315 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
32316 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
32317 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
32318 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
32319 of <grub/machine/ieee1275.h>.
32320 * commands/ieee1275/reboot.c: Likewise.
32321 * boot/powerpc/ieee1275/ieee1275.c: Move ...
32322 * kern/ieee1275.c: ... to here. All users updated. Change all
32323 parameter structs to use new type `grub_ieee1275_cell_t'.
32324 * term/powerpc/ieee1275/ofconsole.c: Move ...
32325 * term/ieee1275/ofconsole.c: ... to here. All users updated.
32326 * disk/powerpc/ieee1275/ofdisk.c: Move ...
32327 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
32328 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
32329 to return int.
32330 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
32331 Remove unused prototypes. All users updated.
32332 * include/grub/powerpc/ieee1275/console.h: Removed.
32333 * include/grub/powerpc/ieee1275/ieee1275.h: Define
32334 `grub_ieee1275_cell_t'.
32335 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
32336 Cast comparisons with -1 to the correct type.
32337 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
32338 type to match `grub_ieee1275_entry_fn'.
32339
32340 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
32341
32342 * DISTLIST: Added util/i386/pc/grub-probefs.c.
32343
32344 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
32345 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
32346 partmap/sun.c.
32347 (grub_probefs_SOURCES): New variable.
32348
32349 * util/i386/pc/grub-probefs.c: New file.
32350
32351 * util/i386/pc/grub-setup.c (main): Call
32352 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
32353 grub_hfs_init and grub_jfs_init to initialize the system. Call
32354 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
32355 grub_pc_partition_map_fini to finish the system.
32356
32357 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
32358
32359 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
32360 function.
32361 (grub_multiboot_load_elf32): Likewise.
32362 (grub_multiboot_is_elf64): Likewise.
32363 (grub_multiboot_load_elf64): Likewise.
32364 (grub_multiboot_load_elf): Likewise.
32365 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
32366 an ELF32 or ELF64 file.
32367 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
32368
32369 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
32370 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
32371 NULL before calling FS->LABEL.
32372 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
32373 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
32374 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
32375 before calling FS->LABEL.
32376
32377 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
32378
32379 * util/i386/pc/grub-install.in (datadir): New variable.
32380 (libdir): Removed.
32381 (pkgdatadir): New variable.
32382 (pkglibdir): Removed.
32383
32384 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
32385
32386 * DISTLIST: Added util/i386/pc/grub-install.in.
32387
32388 * util/i386/pc/grub-install.in: New file.
32389
32390 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
32391 (grub_install_SOURCES): Likewise.
32392
32393 * genmk.rb: Added support for scripts.
32394 (Script): New class.
32395 (scripts): New variable.
32396
32397 * Makefile.in (install-local): Install sbin_SCRIPTS by
32398 INSTALL_SCRIPT.
32399 (uninstall): Remove sbin_SCRIPTS.
32400
32401 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
32402 device, try to get a GRUB device by
32403 grub_util_biosdisk_get_grub_dev.
32404 Free DEST_DEV.
32405
32406 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
32407 description for --device-map.
32408
32409 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32410
32411 Change the semantics of variable hooks. They now return strings
32412 instead of error values.
32413
32414 * util/i386/pc/grub-setup.c: Include grub/env.h.
32415 (setup): Use grub_device_set_root instead of grub_env_set.
32416
32417 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
32418 grub_env_get instead of grub_device_set_root and
32419 grub_device_get_root, respectively.
32420
32421 * kern/main.c (grub_env_write_root): New function.
32422 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
32423 grub_env_set instead of grub_device_set_root.
32424
32425 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
32426 many variables.
32427 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
32428 rather than calling ENV->WRITE_HOOK afterwards.
32429 (grub_env_get): Return the result of ENV->READ_HOOK rather than
32430 passing a pointer of a pointer.
32431 (grub_register_variable_hook): Change the types of "read_hook" and
32432 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
32433 respectively.
32434 Allocate the default empty string on the heap, because this string
32435 may be freed later.
32436
32437 * kern/device.c: Include grub/env.h.
32438 (grub_device_set_root): Removed.
32439 (grub_device_get_root): Likewise.
32440 (grub_device_open): Use grub_env_get instead of
32441 grub_device_get_root.
32442
32443 * include/grub/env.h (grub_env_read_hook_t): New type.
32444 (grub_env_write_hook_t): Likewise.
32445 (grub_env_var): Change the types of "read_hook" and "write_hook"
32446 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
32447 (grub_register_variable_hook): Likewise.
32448
32449 * include/grub/device.h (grub_device_set_root): Removed.
32450 (grub_device_set_root): Likewise.
32451
32452 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
32453 make sure that DIRNAME terminates with '/', so that
32454 grub_fat_find_dir will fail if PATH is not a directory.
32455
32456 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
32457 from DIRNAME.
32458 Use the qualifier auto for print_files and print_files_long.
32459 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
32460 as a regular file.
32461 Put a newline only if there is no error.
32462 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
32463 used.
32464
32465 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32466
32467 * kern/partition.c (grub_partition_probe): Initialize PART to
32468 NULL. Otherwise, when no partition map is registered, this returns
32469 a garbage.
32470
32471 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
32472
32473 * partmap/apple.c (apple_partition_map_iterate): Check if POS
32474 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
32475 valid.
32476
32477 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
32478
32479 * commands/ls.c (grub_ls_list_disks): Print the filesystem
32480 information on each device, if it does not have partitions. Print
32481 "Device" instead of "Disk", because this function is not specific
32482 to disk devices.
32483
32484 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
32485 static to ensure that it is put on the memory rather than a
32486 register.
32487
32488 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32489
32490 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
32491 (grub_cat_init): Likewise.
32492 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
32493 (options): Likewise.
32494 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32495 (grub_configfile_init): Likewise.
32496 * font/manager.c (GRUB_MOD_INIT): Likewise.
32497 * commands/help.c (GRUB_MOD_INIT): Likewise.
32498 (grub_help_init): Likewise.
32499 * normal/command.c (grub_command_init): Likewise.
32500 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
32501 * disk/loopback.c (grub_loop_init): Likewise.
32502 (GRUB_MOD_INIT): Likewise.
32503 * commands/ls.c (grub_ls_init): Likewise.
32504 (GRUB_MOD_INIT): Likewise.
32505 (options): Likewise.
32506 * commands/boot.c (grub_boot_init): Likewise.
32507 (GRUB_MOD_INIT): Likewise.
32508 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
32509 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
32510 (GRUB_MOD_INIT): Likewise.
32511 * commands/cmp.c (grub_cmp_init): Likewise.
32512 (GRUB_MOD_INIT): Likewise.
32513
32514 * normal/arg.c: Use <> instead of "" to include header files.
32515 (SHORT_ARG_HELP): New macro.
32516 (SHORT_ARG_USAGE): Likewise.
32517 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
32518 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
32519 descriptions.
32520 (find_short): Check if C is 'h' or 'u' explicitly.
32521 (grub_arg_show_help): Use space characters instead of tabs. Treat
32522 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
32523 are shown with --help and --usage only if they are not used for
32524 the command itself.
32525 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
32526 'h' and 'u'.
32527
32528 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
32529 const into "longarg". Change the type of "shortarg" to int.
32530
32531 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32532
32533 * boot/i386/pc/boot.S (boot_drive_check): New label.
32534
32535 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
32536 macro.
32537
32538 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
32539 which do not pass a boot drive correctly. Copied from GRUB Legacy.
32540
32541 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32542
32543 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
32544 When turning off Gate A20, skip the check and return immediately,
32545 because this is not fatal usually.
32546
32547 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32548
32549 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
32550 be 0x7C00 instead of 0x8000.
32551
32552 * boot/i386/pc/pxeboot.S: Rewritten.
32553
32554 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
32555 EXT_C.
32556 (gate_a20_check_state): Read a byte from 0x108000. Invert the
32557 result.
32558
32559 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
32560
32561 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
32562 robustness. This routine now supports a BIOS call and System
32563 Control Port A to modify the gate A20.
32564
32565 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32566 Increased to 0x440.
32567
32568 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
32569
32570 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
32571 device path and resulting ihandle.
32572 (grub_ofdisk_close): dprintf the ihandle being closed.
32573 (grub_ofdisk_read): dprintf function parameters.
32574 * kern/mm.c (grub_mm_init_region): Likewise.
32575 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
32576 (grub_linux_boot): dprintf the Linux entry point, initrd address and
32577 size, and boot arguments.
32578 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
32579 before loading into memory.
32580 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
32581 before loading into memory.
32582
32583 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
32584
32585 * kern/mm.c: Added much documentation.
32586 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
32587 8, set to 5 instead of 8.
32588
32589 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32590
32591 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
32592
32593 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
32594 (grub_mkdevicemap_SOURCES): New variable.
32595
32596 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
32597 lib/device.c of GRUB Legacy.
32598
32599 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32600
32601 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
32602 instead of PATH is NULL.
32603
32604 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
32605
32606 * commands/cmp.c (BUFFER_SIZE): New macro.
32607 (grub_cmd_cmp): Close the right file at the right time. Compare
32608 only data just read. Don't report files of different size as
32609 identical. Dynamically allocate buffers. Move variable
32610 declarations at the beginning of function.
32611
32612 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
32613
32614 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
32615 reverse.
32616
32617 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
32618
32619 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
32620 when backspace is pressed at beginning of line.
32621
32622 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
32623
32624 * DISTLIST: Added genfslist.sh.
32625
32626 * normal/main.c (fs_module_list): New variable.
32627 (autoload_fs_module): New function.
32628 (read_fs_list): Likewise.
32629 (grub_normal_execute): Call read_fs_list.
32630
32631 * kern/fs.c (grub_fs_autoload_hook): New variable.
32632 (grub_fs_probe): Added support for auto-loading.
32633
32634 * include/grub/normal.h (struct grub_fs_module_list): New struct.
32635 (grub_fs_module_list_t): New type.
32636
32637 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
32638 (grub_fs_autoload_hook): New prototype.
32639
32640 * genfslist.sh: New file.
32641
32642 * genmk.rb: Added a rule to generate a filesystem list.
32643
32644 2005-06-30 Marco Gerards <metgerards@student.han.nl>
32645
32646 * configure.ac: Fix the test for cross-compiling.
32647
32648 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
32649 define GRUB_UTIL anymore.
32650
32651 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
32652 so this function works on other systems than just big endian.
32653 (load_modules): Likewise.
32654 (add_segments): Likewise.
32655
32656 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
32657
32658 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
32659 contains `l' modifier, get a long from va_arg().
32660
32661 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
32662
32663 * kern/mm.c (grub_free): If the next free block which is being
32664 merged is the first free block, set the first block to the block
32665 being freed.
32666 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
32667
32668 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32669
32670 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
32671 `grub_ieee1275_chosen'.
32672
32673 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32674
32675 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
32676 (grub_ieee1275_chosen): New variable.
32677 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
32678 `chosen'.
32679 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
32680 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32681 Rename first argument to `phandle' for consistency.
32682 (grub_ieee1275_get_property_length): Likewise.
32683 (grub_ieee1275_next_property): Likewise. Change type of first argument
32684 to grub_ieee1275_phandle_t.
32685 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
32686 Move export next to declaration.
32687 (grub_ieee1275_chosen): New variable.
32688 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
32689 Correct cosmetic typo.
32690 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
32691 `grub_ieee1275_chosen'.
32692 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
32693 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
32694 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
32695 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
32696 `grub_ieee1275_chosen'.
32697
32698 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
32699
32700 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
32701 /chosen/bootargs.
32702 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
32703 /chosen/bootargs as "variable=value" pairs.
32704
32705 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
32706
32707 * include/grub/misc.h (grub_dprintf): New macro.
32708 (grub_real_dprintf): New prototype.
32709 (grub_strword): Likewise.
32710 (grub_iswordseparator): Likewise.
32711 * kern/misc.c (grub_real_dprintf): New function.
32712 (grub_strword): Likewise.
32713 (grub_iswordseparator): Likewise.
32714
32715 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
32716
32717 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
32718 (roundup): Remove macro.
32719 (grub_ieee1275_flags): Make static.
32720 (grub_ieee1275_realmode): Remove.
32721 (grub_ieee1275_test_flag): New function.
32722 (grub_ieee1275_set_flag): Likewise.
32723 (find_options): Rename to `grub_ieee1275_find_options'; update
32724 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
32725 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
32726 (cmain): New prototype.
32727 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
32728 `grub_ieee1275_flags' directly.
32729 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
32730 machine/biosdisk.h.
32731 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
32732 Don't include grub/machine/init.h.
32733 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
32734 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32735 Remove prototype.
32736 (grub_ieee1275_realmode): Likewise.
32737 (grub_ieee1275_flag): New enum.
32738 (grub_ieee1275_test_flag): New prototype.
32739 (grub_ieee1275_set_flag): New prototype.
32740 * include/grub/powerpc/ieee1275/init.h: Remove file.
32741 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
32742 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
32743 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
32744 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
32745 comment.
32746 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
32747 `grub_ieee1275_test_flag'.
32748 (grub_ieee1275_encode_devname): Likewise.
32749
32750 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
32751
32752 * include/grub/powerpc/ieee1275/ieee1275.h
32753 (grub_ieee1275_encode_devname): New prototype.
32754 (grub_ieee1275_get_filename): Likewise.
32755 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
32756 function.
32757 (grub_set_prefix): Likewise.
32758 (grub_machine_init): Call grub_set_prefix.
32759 * kern/powerpc/ieee1275/openfw.c: Fix typos.
32760 (grub_parse_type): New enum.
32761 (grub_ieee1275_get_devargs): New function.
32762 (grub_ieee1275_get_devname): Likewise.
32763 (grub_ieee1275_parse_args): Likewise.
32764 (grub_ieee1275_get_filename): Likewise.
32765 (grub_ieee1275_encode_devname): Likewise.
32766
32767 2005-03-30 Marco Gerards <metgerards@student.han.nl>
32768
32769 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
32770 `grub_loader_unset'.
32771
32772 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
32773
32774 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
32775 instead of grub_ieee1275_interpret.
32776 (grub_halt_init): New function.
32777 (grub_halt_fini): Likewise.
32778 (GRUB_MOD_INIT): Correct message grammar.
32779 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
32780 instead of grub_ieee1275_interpret.
32781 (grub_reboot_init): New function.
32782 (grub_reboot_fini): Likewise.
32783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
32784 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
32785 util/i386/pc/misc.c with commands/ieee1275/halt.c,
32786 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
32787 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
32788 function.
32789 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
32790 Add prototype.
32791 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
32792 prototype.
32793 (grub_halt): Likewise.
32794 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
32795 (cmain): Remove __attribute__((unused)).
32796 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
32797 (grub_heap_len): Likewise.
32798 (grub_machine_fini): New function.
32799 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
32800 (grub_halt): Likewise.
32801 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
32802 function.
32803 * util/powerpc/ieee1275/misc.c: New file.
32804
32805 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32806
32807 * DISTLIST: New file.
32808 * gendistlist.sh: Likewise.
32809
32810 * Makefile.in (COMMON_DISTFILES): Removed.
32811 (BOOT_DISTFILES): Likewise.
32812 (CONF_DISTFILES): Likewise.
32813 (DISK_DISTFILES): Likewise.
32814 (FS_DISTFILES): Likewise.
32815 (INCLUDE_DISTFILES): Likewise.
32816 (KERN_DISTFILES): Likewise.
32817 (LOADER_DISTFILES): Likewise.
32818 (TERM_DISTFILES): Likewise.
32819 (UTIL_DISTFILES): Likewise.
32820 (DISTFILES): Likewise.
32821 (uninstall): Uninstall files in $(pkgdata_DATA).
32822 (DISTLIST): New target.
32823 (distdir): Use the contents of the file DISTLIST to get a list of
32824 distributed files.
32825
32826 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32827
32828 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
32829 descriptor. This is ported from GRUB Legacy.
32830
32831 * gencmdlist.sh: Added an extra semicolon to make it work with
32832 old sed versions. Reported by Robert Bihlmeyer
32833 <robbe@orcus.priv.at>.
32834
32835 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
32836
32837 Automatic loading of commands is supported.
32838
32839 * normal/main.c (read_command_list): New function.
32840 (grub_normal_execute): Call read_command_list.
32841
32842 * normal/command.c (grub_register_command): Return zero or CMD.
32843 Allocate CMD->NAME from the heap.
32844 Initialize CMD->MODULE_NAME to zero.
32845 Find the same name as well. If the same command is found and it is
32846 a dummy command, overwrite members. If it is not a dummy command,
32847 return zero.
32848 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
32849 (grub_command_find): If a dummy command is found, load a module
32850 and retry to find a command only once.
32851
32852 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
32853 make sure that each command is loaded.
32854
32855 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
32856 macro.
32857 (struct grub_command): Remove const from the member `name'.
32858 Add a new member `module_name'.
32859 (grub_register_command): Return grub_command_t.
32860
32861 * commands/help.c (grub_cmd_help): Call grub_command_find to make
32862 sure that each command is loaded.
32863
32864 * genmk.rb (PModule::rule): Specify a module name without the
32865 suffix ".mod" to gencmdlist.sh.
32866
32867 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32868
32869 * gencmdlist.sh: New file.
32870
32871 * genmk.rb (PModule::rule): Generate a rule for a command list.
32872 Clean command.lst.
32873 Generate command.lst from $(COMMANDFILES).
32874
32875 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
32876 (DATA): Added $(pkgdata_DATA).
32877 (install-local): Install files in $(pkgdata_DATA).
32878
32879 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32880
32881 * term/i386/pc/vga.c (debug_command): Removed.
32882 (GRUB_MOD_INIT): Do not register the command "debug".
32883
32884 From Hollis Blanchard:
32885 * commands/configfile.c: New file.
32886 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32887 commands/configfile.c.
32888 (pkgdata_MODULES): Added configfile.mod.
32889 (configfile_mod_SOURCES): New variable.
32890 (configfile_mod_CFLAGS): Likewise.
32891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32892 commands/configfile.c.
32893 (pkgdata_MODULES): Added configfile.mod.
32894 (configfile_mod_SOURCES): New variable.
32895 (configfile_mod_CFLAGS): Likewise.
32896 * util/grub-emu.c (main): Call grub_configfile_init and
32897 grub_configfile_fini.
32898 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
32899 prototype.
32900 [GRUB_UTIL] (grub_configfile_fini): Likewise.
32901
32902 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32903
32904 * normal/arg.c (grub_arg_show_help): Do not show the bug report
32905 address.
32906
32907 * commands/help.c (grub_cmd_help): Do not print newlines after
32908 the last command in print_command_help.
32909
32910 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32911
32912 * commands/default.h: New file.
32913 * commands/timeout.h: Likewise.
32914 * normal/context.c: Likewise.
32915
32916 * util/misc.c: Do not include sys/times.h.
32917 Include sys/time.h and grub/machine/time.h.
32918 (grub_get_rtc): Rewritten with gettimeofday.
32919
32920 * util/grub-emu.c (main): Call grub_default_init and
32921 grub_timeout_init before grub_normal_init, and call
32922 grub_timeout_fini and grub_default_fini after grub_main.
32923
32924 * util/console.c (grub_ncurses_checkkey): Return the read
32925 character or -1.
32926
32927 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
32928 timeouts.
32929
32930 * normal/main.c (read_config_file): Push MENU. If this fails,
32931 print an error and wait for a user input.
32932 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
32933 If a menu is empty or an error occurs, pop MENU.
32934 (grub_normal_execute): Pop and free MENU after grub_menu_run
32935 returns.
32936
32937 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
32938
32939 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
32940 include time.h.
32941 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32942 without GRUB_UTIL.
32943 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
32944 time.h.
32945 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32946 without GRUB_UTIL.
32947
32948 * include/grub/normal.h (struct grub_menu_list): New struct.
32949 (grub_menu_list_t): New type.
32950 (struct grub_context): New struct.
32951 (grub_context_t): New type.
32952 (grub_register_command): Got rid of EXPORT_FUNC.
32953 (grub_unregister_command): Likewise.
32954 (grub_context_get): New prototype.
32955 (grub_context_get_current_menu): Likewise.
32956 (grub_context_push_menu): Likewise.
32957 (grub_context_pop_menu): Likewise.
32958 [GRUB_UTIL] (grub_default_init): Likewise.
32959 [GRUB_UTIL] (grub_default_fini): Likewise.
32960 [GRUB_UTIL] (grub_timeout_init): Likewise.
32961 [GRUB_UTIL] (grub_timeout_fini): Likewise.
32962
32963 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
32964 commands/timeout.c and normal/context.c.
32965 (pkgdata_MODULES): Added default.mod and timeout.mod.
32966 (normal_mod_SOURCES): Added normal/context.c.
32967 (default_mod_SOURCES): New variable.
32968 (default_mod_CFLAGS): Likewise.
32969 (timeout_mod_SOURCES): Likewise.
32970 (timeout_mod_CFLAGS): Likewise.
32971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
32972 conf/i386-pc.rmk.
32973 (pkgdata_MODULES): Added default.mod and timeout.mod.
32974 (normal_mod_SOURCES): Added normal/context.c.
32975 (default_mod_SOURCES): New variable.
32976 (default_mod_CFLAGS): Likewise.
32977 (timeout_mod_SOURCES): Likewise.
32978 (timeout_mod_CFLAGS): Likewise.
32979
32980 * Makefile.in (all-local): Added $(MKFILES).
32981
32982 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
32983
32984 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
32985 (grub_emu_SOURCES): Likewise.
32986 (pkgdata_MODULES): Add `sun.mod'.
32987 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32988 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32989 `partmap/sun.c'.
32990 (pkgdata_MODULES): Add `sun.mod'.
32991 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32992 * include/grub/partition.h (grub_sun_partition_map_init): New
32993 prototype.
32994 (grub_sun_partition_map_fini): Likewise.
32995 * partmap/sun.c: New file.
32996 * util/grub-emu.c (main): Initialize and de-initialize the sun
32997 partitionmap support.
32998
32999 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
33000
33001 This implements an Emacs-like menu entry editor.
33002
33003 * normal/menu_entry.c: New file.
33004
33005 * util/console.c (grub_ncurses_putchar): Translate some Unicode
33006 characters to ASCII.
33007 (saved_char): New variable.
33008 (grub_ncurses_checkkey): Rewritten completely.
33009 (grub_ncurses_getkey): Likewise.
33010 (grub_ncurses_init): Call raw instead of cbreak.
33011
33012 * normal/menu.c (print_entry): Do not put a space.
33013 (init_page): Renamed to ...
33014 (grub_menu_init_page): ... this. All callers changed.
33015 (edit_menu_entry): Removed.
33016 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
33017
33018 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
33019
33020 * kern/misc.c (grub_vprintf): Call grub_refresh.
33021
33022 * normal/menu.c (DISP_LEFT): Renamed to ...
33023 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
33024 * normal/menu.c (DISP_UP): Renamed to ...
33025 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
33026 * normal/menu.c (DISP_RIGHT): Renamed to ...
33027 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
33028 * normal/menu.c (DISP_DOWN): Renamed to ...
33029 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
33030 * normal/menu.c (DISP_HLINE): Renamed to ...
33031 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
33032 * normal/menu.c (DISP_VLINE): Renamed to ...
33033 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
33034 * normal/menu.c (DISP_UL): Renamed to ...
33035 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
33036 * normal/menu.c (DISP_UR): Renamed to ...
33037 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
33038 * normal/menu.c (DISP_LL): Renamed to ...
33039 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
33040 * normal/menu.c (DISP_LR): Renamed to ...
33041 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
33042 * normal/menu.c (TERM_WIDTH): Renamed to ...
33043 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
33044 * normal/menu.c (TERM_HEIGHT): Renamed to ...
33045 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
33046 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
33047 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
33048 * normal/menu.c (TERM_MARGIN): Renamed to ...
33049 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
33050 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
33051 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
33052 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
33053 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
33054 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
33055 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
33056 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
33057 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
33058 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
33059 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
33060 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
33061 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
33062 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
33063 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
33064 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
33065 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
33066 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
33067 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
33068 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
33069 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
33070 All callers changed.
33071
33072 * include/grub/normal.h: New prototype.
33073
33074 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33075 normal/menu_entry.c.
33076 (normal_mod_SOURCES): Likewise.
33077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33078 (normal_mod_SOURCES): Likewise.
33079
33080 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
33081
33082 * include/grub/normal.h (grub_halt_init): New prototype.
33083 (grub_halt_fini): Likewise.
33084 (grub_reboot_init): Likewise.
33085 (grub_reboot_fini): Likewise.
33086
33087 * util/grub-emu.c: Include signal.h.
33088 (main_env): New global variable.
33089 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
33090 catch C-c.
33091 (grub_machine_fini): New function.
33092 (main): Call grub_halt_init and grub_reboot_init before
33093 grub_main, and grub_reboot_fini and grub_halt_fini after it.
33094 Call setjmp with MAIN_ENV to go back afterwards.
33095 Call grub_machine_fini right before return.
33096
33097 * include/grub/util/misc.h: Include setjmp.h.
33098 (main_env): New prototype.
33099
33100 * include/grub/kernel.h (grub_machine_fini): New prototype.
33101 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
33102 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
33103
33104 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
33105 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
33106 * term/i386/pc/console.c (grub_console_fini): Likewise.
33107
33108 * util/i386/pc/misc.c: New file.
33109
33110 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33111 util/i386/pc/misc.c, commands/i386/pc/halt.c and
33112 commands/i386/pc/reboot.c.
33113
33114 2005-02-14 Guillem Jover <guillem@hadrons.org>
33115
33116 * include/grub/dl.h (grub_dl_check_header): New prototype.
33117 (grub_arch_dl_check_header): Change return type to grub_err_t,
33118 remove size parameter and export function. Update all callers.
33119 * kern/dl.c (grub_dl_check_header): New function.
33120 (grub_dl_load_core): Use `grub_dl_check_header' instead of
33121 `grub_arch_dl_check_header'. Check ELF type. Check if sections
33122 are inside the core.
33123 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
33124 independent ELF header checks.
33125 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33126 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
33127 `grub_dl_check_header' instead of explicit checks. Check for the
33128 ELF type.
33129 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
33130 `grub_dl_check_header' instead of explicit checks. Remove arch
33131 specific ELF header checks.
33132
33133 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
33134 argument SIZE.
33135
33136 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
33137
33138 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
33139 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
33140
33141 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
33142
33143 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
33144 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
33145 (part_map_iterate): Clear `grub_errno' and return 0 if
33146 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
33147 * partmap/amiga.c (amiga_partition_map_iterate): Return
33148 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
33149 * partmap/apple.c (apple_partition_map_iterate): Likewise.
33150
33151 2005-02-01 Guillem Jover <guillem@hadrons.org>
33152
33153 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
33154 help info.
33155
33156 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33157
33158 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
33159 Removed prototype.
33160 (grub_rescue_cmd_linux): New prototype.
33161 (grub_rescue_cmd_initrd): Likewise.
33162 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
33163 `bi_rec'.
33164 (grub_linux_release_mem): Release the memory for the initrd.
33165 (grub_load_linux): Renamed from this...
33166 (grub_rescue_cmd_linux): ...To this. Changed all callers.
33167 Changed `entry' not to be static. Loop over memory regions to
33168 find another one when the default fails.
33169 (grub_rescue_cmd_initrd): New function.
33170 (grub_linux_init): Remove function.
33171 (grub_linux_fini): Likewise.
33172 (GRUB_MOD_INIT): Register `initrd'.
33173 (GRUB_MOD_FINI): Unregister `initrd'.
33174 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
33175 Function removed.
33176 (grub_linux_normal_fini): Likewise.
33177 (GRUB_MOD_INIT): Register `initrd'.
33178 (GRUB_MOD_FINI): Unregister `initrd'.
33179
33180 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33181
33182 * commands/help.c: New file.
33183 * normal/arg.c (show_help): Renamed to...
33184 (grub_arg_show_help): ... this.
33185 * commands/i386/pc/halt.c: New file.
33186 * commands/i386/pc/reboot.c: Likewise.
33187 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
33188 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
33189 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
33190 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
33191 variables.
33192 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33193 `commands/help.c'.
33194 (pkgdata_MODULES): Add `help.mod'.
33195 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
33196 * grub/i386/pc/init.h (grub_reboot): New prototype.
33197 (grub_halt): Likewise.
33198 * include/grub/normal.h (grub_arg_show_help): New prototype.
33199 (grub_help_init): Likewise.
33200 (grub_help_fini): Likewise.
33201 * util/grub-emu.c (main): Initialize and deinitialize the help
33202 command.
33203
33204 * normal/cmdline.c (grub_cmdline_get): Doc fix.
33205
33206 * normal/command.c (grub_command_init): Fixed the description of
33207 the `set' and `unset' commands.
33208
33209 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33210
33211 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
33212 function.
33213 * commands/ieee1275/halt.c: New file.
33214 * commands/ieee1275/reboot.c: Likewise.
33215 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
33216 `__attribute__ ((unused))'. Some GCS related fixed.
33217 (grub_suspend_init) [GRUB_UTIL]: Function removed.
33218 (grub_suspend_fini): Likewise.
33219 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
33220 and `halt.mod'.
33221 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
33222 (halt_mod_CFLAGS): New variables.
33223 * include/grub/powerpc/ieee1275/ieee1275.h
33224 (grub_ieee1275_interpret): New prototype.
33225
33226 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
33227
33228 * include/grub/misc.h (memmove): New prototype.
33229 (memcpy): Likewise.
33230
33231 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
33232
33233 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
33234 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
33235
33236 2005-01-22 Marco Gerards <metgerards@student.han.nl>
33237
33238 * kern/misc.c (grub_strndup): Function rewritten.
33239
33240 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
33241
33242 * normal/menu.c (TERM_WIDTH): Macro redefined.
33243 (TERM_TOP_BORDER_Y): Likewise.
33244 (draw_border): Replaced while-loop by a for-loop. Make the number
33245 of lines consistent with the number of lines displayed in
33246 print_entries. Added a margin below the rectangle.
33247 (print_entry): Make the entry fit in the rectangle.
33248 (print_entries): Display the scroll arrows next to the right
33249 border.
33250
33251 2005-01-21 Marco Gerards <metgerards@student.han.nl>
33252
33253 * fs/minix.c (grub_minix_find_file): Reserve more space for
33254 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
33255 `grub_strncpy' to copy `path' into it.
33256
33257 2005-01-21 Marco Gerards <metgerards@student.han.nl>
33258
33259 Add the loopback device, a device via which files can be accessed
33260 as devices.
33261
33262 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
33263 (pkgdata_MODULES): Add loopback.mod.
33264 (loopback_mod_SOURCES): New variable.
33265 (loopback_mod_CFLAGS): Likewise.
33266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33267 `disk/loopback.c'.
33268 (pkgdata_MODULES): Add loopback.mod.
33269 (loopback_mod_SOURCES): New variable.
33270 (loopback_mod_CFLAGS): Likewise.
33271 * disk/loopback.c: new file.
33272 * include/grub/normal.h (grub_loop_init): New prototype.
33273 (grub_loop_fini): New prototype.
33274 * util/grub-emu.c (main): Initialize and de-initialize loopback
33275 support.
33276 * include/grub/disk.h (grub_disk_dev_id): Add
33277 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
33278
33279 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
33280
33281 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
33282 function.
33283 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
33284 (suspend_mod_SOURCES): New variable.
33285 (suspend_mod_CFLAGS): Likewise.
33286 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
33287 New prototype.
33288 * commands/ieee1275/suspend.c: New file.
33289
33290 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33291
33292 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
33293 ((unused))' to `__attribute__ ((used))'.
33294 (GRUB_MOD_FINI): Likewise.
33295 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
33296 * genmk.rb (PModule): Assign space to common symbols when linking
33297 modules.
33298
33299 2005-01-20 Marco Gerards <metgerards@student.han.nl>
33300
33301 * include/grub/mm.h (grub_mm_init_region): Change the type of the
33302 `unsigned' arguments to `grub_size_t'.
33303 (grub_malloc): Likewise.
33304 (grub_realloc): Likewise.
33305 (grub_memalign): Likewise.
33306 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
33307 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33308 * util/misc.c (grub_malloc): Likewise.
33309 (grub_realloc): Likewise.
33310 * kern/mm.c (get_header_from_pointer): Change the casts to
33311 `unsigned' into a cast to `grub_size_t'.
33312
33313 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
33314 point to `currnode' when `currnode' is changed.
33315
33316 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
33317 Schottelius <nico-linux@schottelius.org>.
33318
33319 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
33320
33321 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
33322 (note_path): Remove variable.
33323 (GRUB_IEEE1275_NOTE_NAME): New macro.
33324 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
33325 (grub_ieee1275_note_hdr): New structure.
33326 (grub_ieee1275_note_desc): Likewise.
33327 (grub_ieee1275_note): Likewise.
33328 (load_note): Remove `dir' argument. All callers updated. Remove
33329 `note_img' and `path'. Do not load a file from `note_path'.
33330 Initialize a struct grub_ieee1275_note and write that to `out'.
33331 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
33332
33333 2005-01-05 Marco Gerards <metgerards@student.han.nl>
33334
33335 * util/misc.c (grub_util_read_image): Revert last change. It
33336 called `grub_util_read_at', which seeks from the beginning of the
33337 file.
33338
33339 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
33340
33341 * TODO: Add note about endianness in grub-mkimage.
33342 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
33343 section.
33344 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
33345 (grub_mkimage_SOURCES): New target.
33346 * include/grub/kernel.h (grub_start_addr): Remove variable.
33347 (grub_end_addr): Likewise.
33348 (grub_total_module_size): Likewise.
33349 (grub_kernel_image_size): Likewise.
33350 (GRUB_MODULE_MAGIC): New constant.
33351 (grub_module_info): New structure.
33352 (grub_arch_modules_addr): New prototype.
33353 (grub_get_end_addr): Remove prototype.
33354 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
33355 * include/grub/powerpc/ieee1275/kernel.h: New file.
33356 * include/grub/util/misc.h (grub_util_get_fp_size): New
33357 prototype.
33358 (grub_util_read_at): Likewise.
33359 (grub_util_write_image_at): Likewise.
33360 * kern/main.c (grub_get_end_addr): Remove function.
33361 (grub_load_modules): Call grub_arch_modules_addr instead of using
33362 grub_end_addr. Look for a grub_module_info struct in memory. Use
33363 the grub_module_info fields instead of calling grub_get_end_addr
33364 as loop conditions. Move grub_add_unused_region code here.
33365 (grub_add_unused_region): Remove function.
33366 * kern/i386/pc/init.c: Include grub/cache.h.
33367 (grub_machine_init): Remove call to grub_get_end_addr. Remove
33368 one call to add_mem_region.
33369 (grub_arch_modules_addr): New function.
33370 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
33371 (grub_total_module_size): Likewise.
33372 Include grub/machine/kernel.h.
33373 (grub_arch_modules_addr): New function.
33374 * util/grub-emu.c (grub_end_addr): Remove variable.
33375 (grub_total_module_size): Likewise.
33376 (grub_arch_modules_addr): New function.
33377 * util/misc.c: Include unistd.h.
33378 (grub_util_get_fp_size): New function.
33379 (grub_util_read_at): Likewise.
33380 (grub_util_write_image_at): Likewise.
33381 (grub_util_read_image): Call grub_util_read_at.
33382 (grub_util_write_image): Call grub_util_write_image_at.
33383 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
33384 additional memory in kernel_img for a struct grub_module_info.
33385 Fill in that grub_module_info.
33386 * util/powerpc/ieee1275/grub-mkimage.c: New file.
33387
33388 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33389
33390 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
33391 New function.
33392 * include/grub/powerpc/ieee1275/ieee1275.h
33393 (grub_ieee1275_milliseconds): New prototype.
33394 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
33395 Change to 1000.
33396 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
33397 grub_ieee1275_milliseconds.
33398
33399 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33400
33401 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
33402 variable.
33403 (find_options): New function.
33404 (cmain): Call find_options.
33405 * include/grub/powerpc/ieee1275/ieee1275.h
33406 (grub_ieee1275_realmode): New extern variable.
33407 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
33408 grub_map if grub_ieee1275_realmode is false.
33409
33410 2004-12-29 Marco Gerards <metgerards@student.han.nl>
33411
33412 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
33413 lines are inserted and make it work like readline. Reported by
33414 Vincent Pelletier <subdino2004@yahoo.fr>.
33415
33416 2004-12-28 Marco Gerards <metgerards@student.han.nl>
33417
33418 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
33419
33420 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
33421 `kern/powerpc/cache.S'.
33422
33423 2004-12-27 Marco Gerards <metgerards@student.han.nl>
33424
33425 * genmk.rb: Handle the `Program' class in the main loop. Written
33426 by Johan Rydberg <jrydberg@gnu.org>.
33427 (Program): New class.
33428 (programs): New variable.
33429 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
33430 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
33431 instead of "grub/kernel.h". Include <grub/machine/init.h>.
33432 (help_arch): Function removed.
33433 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
33434 `powerpc/libgcc.h' and `loader.h'.
33435 (pkgdata_PROGRAMS): New variable.
33436 (sbin_UTILITIES): Variable removed.
33437 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
33438 (grubof_SOURCES): Variable re-defined so it only includes the
33439 core functionality.
33440 (grubof_CFLAGS): Remove `-DGRUBOF'.
33441 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
33442 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
33443 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
33444 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
33445 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
33446 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
33447 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
33448 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
33449 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
33450 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
33451 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33452 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
33453 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
33454 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
33455 (pc_mod_CFLAGS): New variables.
33456 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
33457 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
33458 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
33459 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
33460 Moved from here...
33461 * include/grub/i386/pc/init.h (grub_os_area_addr)
33462 (rub_os_area_size): ... to here.
33463 * include/grub/powerpc/ieee1275/ieee1275.h
33464 (grub_ieee1275_entry_fn): Export symbol.
33465 * include/grub/powerpc/ieee1275/init.h: New file.
33466 * include/grub/powerpc/libgcc.h: Likewise.
33467 * include/grub/cache.h: Likewise.
33468 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
33469 <hollis@penguinppc.org>.
33470 * kern/dl.c: Include <grub/cache.h>.
33471 (grub_dl_flush_cache): New function.
33472 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
33473 for this module.
33474 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
33475 (grub_console_init): Removed prototypes.
33476 (grub_machine_init): Don't initialize the modules anymore.
33477 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
33478 static.
33479 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
33480 Macro undef removed.
33481 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
33482 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
33483 relocation `R_PPC_REL32'. Return an error when the relocation is
33484 unknown.
33485 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
33486 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
33487 * util/misc.c (grub_arch_sync_caches): Likewise.
33488
33489 2004-12-19 Marco Gerards <metgerards@student.han.nl>
33490
33491 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
33492 `symlist.c', add `grubof_symlist.c'.
33493 (symlist.c): Variable removed.
33494 (grubof_HEADERS): Variable added.
33495 (grubof_symlist.c): New target.
33496 (kernel_syms.lst): Use `grubof_HEADERS' instead of
33497 `kernel_img_HEADERS'.
33498 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
33499 * kern/powerpc/dl.c: New file.
33500 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
33501 Function removed.
33502 (grub_arch_dl_relocate_symbols): Likewise.
33503 (grub_register_exported_symbols): Likewise.
33504
33505 2004-12-13 Marco Gerards <metgerards@student.han.nl>
33506
33507 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
33508 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
33509 to fail instead. Reported by Vincent Pelletier
33510 <subdino2004@yahoo.fr>.
33511
33512 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
33513 it is not allocated. Reported by Vincent Pelletier
33514 <subdino2004@yahoo.fr>.
33515
33516 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
33517 output so the output looks better.
33518
33519 2004-12-04 Marco Gerards <metgerards@student.han.nl>
33520
33521 Modulize the partition map support and add support for the amiga
33522 partition map.
33523
33524 * commands/ls.c: Include <grub/partition.h> instead of
33525 <grub/machine/partition.h>.
33526 * kern/disk.c: Likewise.
33527 * kern/rescue.c: Likewise.
33528 * loader/i386/pc/chainloader.c: Likewise.
33529 * normal/cmdline.c: Likewise.
33530 * kern/powerpc/ieee1275/init.c: Likewise.
33531 (grub_machine_init): Call `grub_pc_partition_map_init',
33532 `grub_amiga_partition_map_init' and
33533 `grub_apple_partition_map_init'.
33534 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
33535 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
33536 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
33537 `partition.h' and `pc_partition.h'.
33538 (grub_setup_SOURCES): Remove
33539 `disk/i386/pc/partition.c'. Add `kern/partition.c',
33540 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33541 (grub_emu_SOURCES): Likewise.
33542 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
33543 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
33544 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
33545 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33546 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
33547 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33548 (grubof_SOURCES): Likewise.
33549 * disk/i386/pc/partition.c: File removed.
33550 * disk/powerpc/ieee1275/partition.c: Likewise.
33551 * include/grub/powerpc/ieee1275/partition.h: Likewise.
33552 * include/grub/i386/pc/partition.h: Likewise.
33553 * kern/partition.c: New file.
33554 * partmap/amiga.c: Likewise.
33555 * partmap/apple.c: Likewise.
33556 * partmap/pc.c: Likewise.
33557 * include/grub/partition.h: Likewise..
33558 * include/grub/pc_partition.h: Likewise.
33559 * util/grub-emu.c: Include <grub/partition.h> instead of
33560 <grub/machine/partition.h>.
33561 (main): Call `grub_pc_partition_map_init',
33562 `grub_amiga_partition_map_init' and
33563 `grub_apple_partition_map_init' and deinitialize afterwards.
33564 * util/i386/pc/biosdisk.c: Include `#include
33565 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33566 `<grub/machine/partition.h>'.
33567 * util/i386/pc/grub-setup.c: Likewise.
33568 * util/i386/pc/biosdisk.c: Likewise.
33569 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
33570 partition information in case of a PC partition.
33571 * util/i386/pc/grub-setup.c: Include `#include
33572 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33573 `<grub/machine/partition.h>'.
33574 (setup): Only access the PC specific partition information in case
33575 of a PC partition.
33576
33577 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
33578
33579 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
33580 (grub_longjmp): Likewise.
33581 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
33582 20.
33583 * normal/powerpc/setjmp.S: New file.
33584 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33585 `normal/powerpc/setjmp.S'.
33586 (grubof_CFLAGS): Add `-DGRUBOF'.
33587 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
33588 [GRUB_UTIL && !GRUBOF].
33589
33590 2004-11-16 Marco Gerards <metgerards@student.han.nl>
33591
33592 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
33593 property named `name'. Correctly handle the error returned by
33594 `grub_ieee1275_finddevice' if a device can not be opened.
33595
33596 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
33597
33598 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
33599 `actual' for negativity.
33600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33601 kern/fshelp.c.
33602
33603 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33604
33605 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
33606 (PAGE_OFFSET): New macro.
33607 (CRTC_ADDR_PORT): Likewise.
33608 (CRTC_DATA_PORT): Likewise.
33609 (START_ADDR_HIGH_REGISTER): Likewise.
33610 (START_ADDR_LOW_REGISTER): Likewise.
33611 (GRAPHICS_ADDR_PORT): Likewise.
33612 (GRAPHICS_DATA_PORT): Likewise.
33613 (READ_MAP_REGISTER): Likewise.
33614 (INPUT_STATUS1_REGISTER): Likewise.
33615 (INPUT_STATUS1_VERTR_BIT): Likewise.
33616 (page): New variable.
33617 (wait_vretrace): New function.
33618 (set_read_map): Likewise.
33619 (set_start_address): Likewise.
33620 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
33621 the right page.
33622 (check_vga_mem): Take the page into account.
33623 (write_char): Likewise.
33624 (write_cursor): Likewise.
33625 (scroll_up): Likewise. Copy the page to the page that is not
33626 shown and switch between both pages.
33627 (grub_vga_putchar): Fix off by one error.
33628 (grub_vga_cls): Wait for the vertical retrace. Take the page into
33629 account.
33630
33631 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33632
33633 Add support for iso9660 (including rockridge).
33634
33635 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33636 (iso9660_mod_SOURCES): New variable.
33637 (iso9660_mod_CFLAGS): Likewise.
33638 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33639 * include/grub/fs.h (grub_iso9660_init): New prototype.
33640 * util/grub-emu.c (main): Call `grub_iso9660_init'.
33641 * fs/iso9660.c: New file.
33642
33643 * include/grub/misc.h (grub_strncat): New prototype.
33644 * kern/misc.c (grub_strncat): New function.
33645
33646 * fs/hfs.c (grub_hfs_mount): Translate the error
33647 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
33648 * fs/jfs.c (grub_jfs_mount): Likewise.
33649 * fs/ufs.c (grub_ufs_mount): Likewise.
33650
33651 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
33652
33653 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
33654 which initialized BAT registers.
33655 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
33656 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33657 Move from here...
33658 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
33659 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33660 ... to here.
33661 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
33662 (grub_mapclaim): Likewise.
33663 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
33664 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
33665 hand.
33666
33667 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
33668
33669 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
33670 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
33671 -ffreestanding and -msoft-float.
33672
33673 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
33674
33675 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
33676 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
33677 set in grub_ieee1275_flags.
33678
33679 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
33680
33681 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
33682 prototype.
33683 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
33684 grub_console_init first.
33685 Change the memory range used for grub_ieee1275_claim and
33686 grub_mm_init_region.
33687 Print an error message if the claim fails.
33688 Include <grub/misc.h>.
33689
33690 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
33691
33692 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
33693 Call grub_children_iterate for device nodes of type `scsi',
33694 `ide', or `ata'.
33695 (grub_ofdisk_open): Remove manual device alias resolution.
33696 Fix memory leak when device cannot be opened.
33697 * include/grub/powerpc/ieee1275/ieee1275.h
33698 (grub_children_iterate): New prototype.
33699 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
33700 New function.
33701 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33702 Return -1 if args.size was -1.
33703
33704 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33705
33706 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
33707 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
33708 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
33709 Open Firmware's memory for it; claim memory from _start to _end.
33710 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
33711 (_end): New extern.
33712 (_start): Zero BSS from __bss_start to _end.
33713 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33714 New extern.
33715 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
33716
33717 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33718
33719 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
33720 -1 if args.base was -1.
33721
33722 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
33723
33724 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
33725 escape sequence instead of a literal ^L. Also call
33726 grub_ofconsole_gotoxy.
33727
33728 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
33729
33730 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
33731 void * arguments to grub_addr_t. All callers updated. Also make
33732 the `result' argument optional.
33733 (grub_ieee1275_release): change void * arguments to grub_addr_t.
33734 All callers updated.
33735
33736 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
33737
33738 * commands/ls.c (grub_ls_list_files): Use the string following the
33739 initial ')', if present, as the filesystem path.
33740 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
33741
33742 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
33743
33744 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
33745
33746 Make the source code of the menu interface more readable.
33747
33748 * normal/menu.c: Include grub/mm.h.
33749 (TERM_WIDTH): New macro.
33750 (TERM_HEIGHT): Likewise.
33751 (TERM_INFO_HEIGHT): Likewise.
33752 (TERM_MARGIN): Likewise.
33753 (TERM_SCROLL_WIDTH): Likewise.
33754 (TERM_TOP_BORDER_Y): Likewise.
33755 (TERM_LEFT_BORDER_X): Likewise.
33756 (TERM_BORDER_WIDTH): Likewise.
33757 (TERM_MESSAGE_HEIGHT): Likewise.
33758 (TERM_BORDER_HEIGHT): Likewise.
33759 (TERM_NUM_ENTRIES): Likewise.
33760 (TERM_FIRST_ENTRY_Y): Likewise.
33761 (TERM_ENTRY_WIDTH): Likewise.
33762 (TERM_CURSOR_X): Likewise.
33763 (draw_border): Use macros instead of magic numbers.
33764 (print_entry): Likewise.
33765 (print_entries): Likewise.
33766 (run_menu): Likewise. Also, handle the key 'e'.
33767 (run_menu_entry): Ignore empty command lines.
33768 (print_message): Added a new argument EDIT. If EDIT is true,
33769 print a different message.
33770 (init_page): Likewise.
33771 (edit_menu_entry): New function. Not implemented yet.
33772
33773 2004-09-17 Marco Gerards <metgerards@student.han.nl>
33774
33775 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
33776 can be loaded from normal mode.
33777
33778 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
33779 `multiboot.mod'.
33780 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
33781 (multiboot_mod_CFLAGS): New variables.
33782 * loader/i386/pc/linux_normal.c: New file.
33783 * loader/i386/pc/multiboot_normal.c: Likewise.
33784
33785 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
33786 attribute `unused'.
33787
33788 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
33789 `fdiro' to read the mode information from instead of `diro'.
33790
33791 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
33792 looking up a symlink.
33793
33794 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
33795 macro.
33796 * normal/command.c (grub_command_execute): Don't parse the
33797 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
33798 flags of the command.
33799
33800 * normal/menu.c (grub_menu_run): Fix typo.
33801
33802 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
33803
33804 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
33805
33806 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
33807 `y + 1' instead of `y - 1'.
33808
33809 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
33810
33811 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
33812
33813 From Hollis Blanchard <hollis@penguinppc.org>:
33814 * kern/misc.c (memmove): New alias for grub_memmove.
33815 (memcmp): New alias for grub_memcmp.
33816 (memset): New alias for grub_memset.
33817 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33818 Change "int handle" to "grub_ieee1275_phandle_t handle".
33819 * include/grub/powerpc/ieee1275/ieee1275.h
33820 (grub_ieee1275_get_property): Likewise.
33821
33822 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
33823
33824 Added normal mode command `chainloader' as module chain.mod, which
33825 depends on normal.mod and _chain.mod.
33826
33827 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
33828 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
33829 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
33830 Deleted prototype.
33831 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
33832 but arguments parsing moved to ...
33833 (grub_chainloader_cmd): ... here. New function.
33834 * include/grub/i386/pc/chainloader.h: New file.
33835 * loader/i386/pc/chainloader_normal.c: Likewise.
33836
33837 2004-09-11 Marco Gerards <metgerards@student.han.nl>
33838
33839 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
33840 (grub_mkimage_LDFLAGS): Likewise.
33841 (grub_emu_SOURCES): Likewise.
33842 (kernel_img_HEADERS): Added fshelp.h.
33843 * fs/ext2.c: Include <grub/fshelp.h>.
33844 (FILETYPE_REG): New macro.
33845 (FILETYPE_INO_REG): Likewise.
33846 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
33847 Changed all users.
33848 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
33849 all users.
33850 (grub_fshelp_node): New struct.
33851 (grub_ext2_data): Added member `diropen'. Changed member `inode'
33852 to a pointer.
33853 (grub_ext2_get_file_block): Removed function.
33854 (grub_ext2_read_block): New function.
33855 (grub_ext2_read_file): Replaced parameter `data' by `node'.
33856 This function was written.
33857 (grub_ext2_mount): Read the root inode. Create a diropen struct.
33858 (grub_ext2_find_file): Removed function.
33859 (grub_ext2_read_symlink): New function.
33860 (grub_ext2_iterate_dir): Likewise.
33861 (grub_ext2_open): Rewritten.
33862 (grub_ext2_dir): Rewritten.
33863 * include/grub/fshelp.h: New file.
33864 * fs/fshelp.c: Likewise.
33865
33866 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
33867
33868 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
33869 (print_message): Add a missing newline.
33870 (run_menu): Added timeout support.
33871 (run_menu_entry): New local function.
33872 (grub_menu_run): Added support for booting.
33873
33874 * kern/loader.c (grub_loader_is_loaded): New function.
33875
33876 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
33877 (grub_get_rtc): Exported.
33878
33879 * include/grub/i386/pc/time.h: Include grub/symbol.h.
33880 (grub_get_rtc): Exported.
33881
33882 * include/grub/normal.h (struct grub_command_list): Remove
33883 constant from the member `command'.
33884
33885 * include/grub/loader.h (grub_loader_is_loaded): Declared.
33886
33887 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
33888
33889 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
33890
33891 2004-08-28 Marco Gerards <metgerards@student.han.nl>
33892
33893 Add support for the JFS filesystem.
33894
33895 * fs/jfs.c: New file.
33896 * include/grub/fs.h (grub_jfs_init): New prototype.
33897 (grub_jfs_fini): New prototype.
33898 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
33899 (grub_emu_SOURCES): Likewise.
33900 (pkgdata_MODULES): Add jfs.mod.
33901 (jfs_mod_SOURCES): New variable.
33902 (jfs_mod_CFLAGS): Likewise.
33903 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
33904 (grubof_SOURCES): Likewise.
33905 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
33906
33907 * fs/fat.c (grub_fat_find_dir): Convert the filename little
33908 endian to the host endian.
33909 (grub_fat_utf16_to_utf8): Move function from there...
33910 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
33911 the endianness of the source string anymore.
33912 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
33913
33914 2004-08-24 Marco Gerards <metgerards@student.han.nl>
33915
33916 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
33917 (grub_boot_fini) [GRUB_UTIL]: Likewise.
33918 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
33919 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
33920
33921 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
33922 (grub_hfs_iterate_dir): Make the function static. Add prototypes
33923 for `node_found' and `it_dir'.
33924 (grub_hfs_dir): Add prototype for `dir_hook'.
33925
33926 * fs/minix.c (grub_minix_get_file_block): Add prototype for
33927 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
33928 and `indir32' to silence a gcc warning.
33929
33930 * include/grub/fs.h (grub_hfs_init): New prototype.
33931 (grub_hfs_fini): Likewise.
33932
33933
33934 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
33935
33936 Each disk device has its own id now. This is useful to make use
33937 of multiple disk devices.
33938
33939 * include/grub/disk.h (grub_disk_dev_id): New enum.
33940 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
33941 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
33942
33943 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
33944 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33945
33946 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
33947 GRUB_DISK_DEVICE_OFDISK_ID as an id.
33948
33949 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
33950 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33951
33952 * include/grub/disk.h (struct grub_disk_dev): Added a new member
33953 "id" which is used by the cache manager.
33954
33955 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
33956 of just "GRUB".
33957
33958 2004-08-18 Marco Gerards <metgerards@student.han.nl>
33959
33960 * fs/hfs.c: New file.
33961 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
33962 (grub_emu_SOURCES): Likewise.
33963 (pkgdata_MODULES): Add hfs.mod.
33964 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
33965 (grubof_SOURCES): Likewise.
33966 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
33967
33968 * include/grub/misc.h (grub_strncasecmp): Add prototype.
33969 * kern/misc.c (grub_strncasecmp): Add function.
33970
33971 2004-08-14 Marco Gerards <metgerards@student.han.nl>
33972
33973 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
33974 with parentheses.
33975
33976 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
33977 (grub_ext2_dir): In case the directory entry type is unknown, read
33978 it from the inode.
33979
33980 2004-08-02 Peter Bruin <pjbruin@dds.nl>
33981
33982 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
33983 grub_load_linux instead of grub_rescue_cmd_linux as second
33984 argument of grub_rescue_register_command.
33985
33986 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
33987
33988 2004-07-27 Marco Gerards <metgerards@student.han.nl>
33989
33990 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
33991 function.
33992 * commands/boot.c: Remove the check for `GRUB_UTIL'.
33993 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33994 `loader/powerpc/ieee1275/linux.c',
33995 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
33996 * include/grub/powerpc/ieee1275/ieee1275.h
33997 (grub_ieee1275_release): New prototype.
33998 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
33999 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
34000 normal, boot, linux and linux_normal.
34001 * loader/powerpc/ieee1275/linux.c: New file.
34002 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34003
34004 2004-07-12 Marco Gerards <metgerards@student.han.nl>
34005
34006 * normal/arg.c (grub_arg_parse): Correct error handling after
34007 reallocating the argumentlist (check if `argl' is not null instead
34008 of checking if `args' is not null).
34009 * kern/mm.c (grub_realloc): Return the same pointer when using the
34010 same region, instead of returning the header address.
34011
34012 2004-07-11 Marco Gerards <metgerards@student.han.nl>
34013
34014 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
34015 one block instead of two when looking for the initial partition.
34016 (grub_partition_probe): Initialize the local variable `p' with 0.
34017 Use base 10 for the grub_strtoul call.
34018 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
34019 need for one local variable.
34020 (grub_strtoul): Don't add the new value to `num', instead of that
34021 just assign it.
34022
34023 2004-07-11 Marco Gerards <metgerards@student.han.nl>
34024
34025 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
34026 (pxeboot_img_SOURCES): New variable.
34027 (pxeboot_img_ASFLAGS): Likewise.
34028 (pxeboot_img_LDFLAGS): Likewise.
34029 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
34030 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
34031 <lode_leroy@hotmail.com>.
34032
34033 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34034
34035 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
34036 there was no input.
34037
34038 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34039
34040 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
34041 the history buffer logic.
34042
34043 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34044
34045 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
34046 (FILETYPE_INO_SYMLINK): New macros.
34047 (grub_ext2_find_file): Check if the node is a directory using the
34048 inode stat information instead of using the filetype in the
34049 dirent. Exclude the first character of an absolute symlink.
34050 (grub_ext2_dir): Mask out the filetype part of the mode member of
34051 the inode.
34052
34053 2004-05-24 Marco Gerards <metgerards@student.han.nl>
34054
34055 Add support for UFS version 1 and 2. Add support for the minix
34056 filesystem version 1 and 2, both the variants with 14 and 30 long
34057 filenames.
34058
34059 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
34060 fs/minix.c.
34061 (grub_emu_SOURCES): Likewise.
34062 (pkgdata_MODULES): Add ufs.mod and minix.mod.
34063 (ufs_mod_SOURCES): New variable.
34064 (ufs_mod_CFLAGS): Likewise.
34065 (minix_mod_SOURCES): Likewise.
34066 (minix_mod_CFLAGS): Likewise.
34067 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
34068 fs/minix.c.
34069 (grubof_SOURCES): Likewise.
34070 * fs/ufs.c: New file.
34071 * fs/minix.c: New file.
34072 * include/grub/fs.h (grub_ufs_init): New prototype.
34073 (grub_ufs_fini): Likewise.
34074 (grub_minix_init): Likewise.
34075 (grub_minix_fini): Likewise.
34076 * util/grub-emu.c (main): Initialize and deinitialize UFS and
34077 minix fs.
34078
34079 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
34080
34081 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
34082 commands/ls.c, commands/terminal.c, commands/boot.c,
34083 commands/cmp.c and commands/cat.c.
34084 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
34085
34086 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
34087 "env.h"
34088
34089 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34090
34091 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
34092 and grub_, respectively. Because the conversion is trivial and
34093 mechanical, I omit the details here. Please refer to the CVS
34094 if you need more information.
34095
34096 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34097
34098 * include/pupa: Renamed to ...
34099 * include/grub: ... this.
34100 * util/i386/pc/pupa-mkimage.c: Renamed to ...
34101 * util/i386/pc/grub-mkimage.c: ... this.
34102 * util/i386/pc/pupa-setup.c: Renamed to ...
34103 * util/i386/pc/grub-setup.c: ... this.
34104 * util/pupa-emu.c: Renamed to ...
34105 * util/grub-emu.c: ... this.
34106
34107 2004-03-29 Marco Gerards <metgerards@student.han.nl>
34108
34109 Add support for the newworld apple macintosh (PPC). This has been
34110 tested on the powerbook 2000 only. It only adds support for
34111 generic ieee1275 functions, console and disk support. This should
34112 be easy to port to other architectures with support for Open
34113 Firmware.
34114
34115 * configure.ac: Accept the powerpc as host_cpu. In the case of
34116 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
34117 specific tests are only executed while building for the i386.
34118 Inverse test for crosscompile.
34119 * genmk.rb (Utility): Allow assembler files.
34120 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
34121 * conf/powerpc-ieee1275.rmk: New file.
34122 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
34123 * disk/powerpc/ieee1275/partition.c: Likewise.
34124 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
34125 * include/pupa/powerpc/ieee1275/console.h: Likewise.
34126 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
34127 * include/pupa/powerpc/ieee1275/time.h: Likewise.
34128 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
34129 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
34130 * include/pupa/powerpc/ieee1275/loader.h
34131 * include/pupa/powerpc/setjmp.h: Likewise.
34132 * include/pupa/powerpc/types.h: Likewise.
34133 * kern/powerpc/ieee1275/init.c: Likewise.
34134 * kern/powerpc/ieee1275/openfw.c: Likewise.
34135 * term/powerpc/ieee1275/ofconsole.c: Likewise.
34136
34137 These files were written by Johan Rydberg
34138 (jrydberg@night.trouble.net) and I only modified them slightly.
34139
34140 * boot/powerpc/ieee1275/cmain.c: New file.
34141 * boot/powerpc/ieee1275/crt0.S: Likewise.
34142 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
34143 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
34144
34145 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
34146
34147 * Makefile.in: Update copyright.
34148 * genmodsrc.sh: Likewise.
34149 * gensymlist.sh: Likewise.
34150 * term/i386/pc/vga.c: Indent correctly.
34151
34152 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
34153 bugreporting address.
34154 * util/i386/pc/pupa-setup.c (usage): Likewise,
34155 (main): Call pupa_ext2_init and pupa_ext2_fini.
34156
34157 * fs/fat.c (log2): Renamed to ...
34158 (fat_log2): ... this.
34159 All callers changed.
34160 * kern/misc.c (memcpy): Alias to pupa_memmove.
34161 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
34162 lvalue cast.
34163 * util/console.c (pupa_ncurses_fini): Return 0.
34164
34165 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
34166 Move fail label here.
34167 [__GNU__]: Don't warn when using stat.
34168 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
34169 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
34170 long int. Use strtol instead of strtoul.
34171
34172 2004-03-14 Marco Gerards <metgerards@student.han.nl>
34173
34174 * commands/boot.c: New file.
34175 * commands/cat.c: Likewise.
34176 * commands/cmp.c: Likewise.
34177 * commands/ls.c: Likewise.
34178 * commands/terminal.c: Likewise.
34179 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
34180 (pupa_register_command): Changed interface to match the new
34181 argument parser.
34182 (pupa_command_execute): Changed (almost rewritten) so it uses
34183 pupa_split_command. Added support for setting variables using the
34184 syntax `foo=bar'.
34185 (rescue_command): Changed to work with the new argument parser.
34186 (terminal_command): Moved from here to commands/terminal.c.
34187 (set_command): New function.
34188 (unset_command): New function.
34189 (insmod_command): New function.
34190 (rmmod_command): New function.
34191 (lsmod_command): New function.
34192 (pupa_command_init): Don't initialize the command terminal
34193 anymore. Initialize the commands set, unset, insmod, rmmod and
34194 lsmod.
34195 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
34196 (kernel_img_HEADERS): Add arg.h and env.h.
34197 (pupa_mkimage_LDFLAGS): Add kern/env.c.
34198 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
34199 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
34200 normal/arg.c.
34201 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
34202 terminal.mod.
34203 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
34204 (boot_mod_SOURCES): New variable.
34205 (terminal_mod_SOURCES): Likewise.
34206 (ls_mod_SOURCES): Likewise.
34207 (cmp_mod_SOURCES): Likewise.
34208 (cat_mod_SOURCES): Likewise.
34209
34210 * normal/arg.c: New file.
34211 * kern/env.c: Likewise.
34212 * include/pupa/arg.h: Likewise.
34213 * include/pupa/env.h: Likewise.
34214 * font/manager.c (font_command): Changed to match argument parsing
34215 interface changes.
34216 (PUPA_MOD_INIT): Likewise.
34217 * hello/hello.c (pupa_cmd_hello): Likewise.
34218 (PUPA_MOD_INIT): Likewise.
34219 * include/pupa/disk.h: Include <pupa/device.h>.
34220 (pupa_print_partinfo): New prototype.
34221 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
34222 (pupa_dl_get_prefix): Likewise.
34223 * include/pupa/misc.h: Include <pupa/err.h>.
34224 (pupa_isgraph): New prototype.
34225 (pupa_isdigit): Likewise.
34226 (pupa_split_cmdline): Likewise.
34227 * include/pupa/normal.h: Include <pupa/arg.h>.
34228 (pupa_command): Changed the prototype of the member `func' to
34229 match the argument parsing interface. Added member `options'.
34230 (pupa_register_command): Updated to match function.
34231 (pupa_arg_parse): New prototype.
34232 (pupa_hello_init) [PUPA_UTIL]: New prototype.
34233 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
34234 (pupa_ls_init) [PUPA_UTIL]: Likewise.
34235 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
34236 (pupa_cat_init) [PUPA_UTIL]: Likewise.
34237 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
34238 (pupa_boot_init) [PUPA_UTIL]: Likewise.
34239 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
34240 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
34241 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
34242 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
34243 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
34244 * kern/disk.c: Include <pupa/file.h>.
34245 (pupa_print_partinfo): New function.
34246 * kern/dl.c: Include <pupa/env.h>.
34247 (pupa_dl_dir): Variable removed.
34248 (pupa_dl_load): Use the environment variable `prefix' instead of
34249 the variable pupa_dl_dir.
34250 (pupa_dl_set_prefix): Function removed.
34251 (pupa_dl_get_prefix): Likewise.
34252 * kern/i386/pc/init.c: Include <pupa/env.h>.
34253 (pupa_machine_init): Use the environment variable `prefix' instead of
34254 using pupa_dl_set_prefix to set the prefix.
34255 * kern/main.c: Include <pupa/env.h>.
34256 (pupa_set_root_dev): Use the environment variable `prefix' instead of
34257 using pupa_dl_get_prefix to get the prefix.
34258 * kern/misc.c: Include <pupa/env.h>.
34259 (pupa_isdigit): New function.
34260 (pupa_isgraph): Likewise.
34261 (pupa_ftoa): Likewise.
34262 (pupa_vsprintf): Added support for printing values of the type
34263 `double'. Make it possible to format variable output when using
34264 formatting like `%1.2%f'.
34265 (pupa_split_cmdline): New function.
34266 * kern/rescue.c: Include <pupa/env.h>.
34267 (next_word): Removed function.
34268 (pupa_rescue_cmd_prefix): Likewise.
34269 (pupa_rescue_cmd_set): New function.
34270 (pupa_rescue_cmd_unset): New function.
34271 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
34272 split the command line instead of splitting it here. Added
34273 support for setting variables using the syntax `foo=bar'. Don't
34274 initialize the prefix command anymore. Initialized the set and
34275 unset commands.
34276 * normal/cmdline.c: Include <pupa/env.h>.
34277 (pupa_tab_complete): Added prototypes for print_simple_completion,
34278 print_partition_completion, add_completion, iterate_commands,
34279 iterate_dev, iterate_part and iterate_dir. Moved code to print
34280 partition information from here to kern/disk.c.
34281 (pupa_cmdline_run): Don't check if the function exists anymore.
34282 * normal/main.c: Include <pupa/env.h>.
34283 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
34284 instead of using pupa_dl_get_prefix to get the prefix.
34285 * term/i386/pc/vga.c: Include <pupa/arg.h>.
34286 (check_vga_mem): Cast pointers to `void *' to silence a gcc
34287 warning.
34288 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
34289 (pupa_vga_setcolor): Declare unused variables with `__attribute__
34290 ((unused))' to silence a gcc warning.
34291 (pupa_vga_setcolor): Likewise.
34292 (debug_command): Changed to match argument parsing
34293 interface changes.
34294 * util/pupa-emu.c: Include <pupa/env.h>.
34295 (options): Added 0's for unused fields to silence a gcc warning.
34296 (argp): Likewise.
34297 (main): Use the environment variable `prefix' instead of using
34298 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
34299 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
34300 and terminal.
34301
34302 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
34303 * util/misc.c: Include <malloc.h>.
34304 (pupa_malloc): Rewritten so errors are correctly reported.
34305 (pupa_realloc): Likewise.
34306 (pupa_memalign): Likewise.
34307 (pupa_mm_init_region): Declare unused variables with
34308 `__attribute__ ((unused))' to silence a gcc warning.
34309 * normal/i386/setjmp.S: Remove tab at the end of the file to
34310 silence a gcc warning.
34311 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
34312 variables with `__attribute__ ((unused))' to silence a gcc
34313 warning.
34314 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
34315 local variable i unsigned to silence a gcc warning.
34316
34317 * kern/term.c: Include <pupa/misc.h>.
34318 (pupa_more_lines): New variable.
34319 (pupa_more): Likewise.
34320 (pupa_putcode): When the pager is active pause at the end of every
34321 screen.
34322 (pupa_set_more): New function.
34323 * include/pupa/term.h (pupa_set_more): New prototype.
34324
34325
34326 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
34327
34328 Now this project is GRUB 2 rather than PUPA. The location of
34329 the CVS repository was moved to GRUB's.
34330
34331 * configure.ac: Use bug-grub as the reporting address.
34332 Use GRUB instead of PUPA.
34333 Change the version number to 1.90.
34334
34335 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
34336
34337 * genkernsyms.sh: Updated copyright information.
34338 * genmk.rb: Likewise.
34339 * genmodsrc.sh: Likewise.
34340 * gensymlist.sh: Likewise.
34341 * boot/i386/pc/boot.S: Likewise.
34342 * boot/i386/pc/diskboot.S: Likewise.
34343 * disk/i386/pc/biosdisk.c: Likewise.
34344 * disk/i386/pc/partition.c: Likewise.
34345 * font/manager.c: Likewise.
34346 * fs/ext2.c: Likewise.
34347 * fs/fat.c: Likewise.
34348 * include/pupa/boot.h: Likewise.
34349 * include/pupa/device.h: Likewise.
34350 * include/pupa/disk.h: Likewise.
34351 * include/pupa/dl.h: Likewise.
34352 * include/pupa/elf.h: Likewise.
34353 * include/pupa/err.h: Likewise.
34354 * include/pupa/file.h: Likewise.
34355 * include/pupa/font.h: Likewise.
34356 * include/pupa/fs.h: Likewise.
34357 * include/pupa/kernel.h: Likewise.
34358 * include/pupa/loader.h: Likewise.
34359 * include/pupa/misc.h: Likewise.
34360 * include/pupa/mm.h: Likewise.
34361 * include/pupa/net.h: Likewise.
34362 * include/pupa/normal.h: Likewise.
34363 * include/pupa/rescue.h: Likewise.
34364 * include/pupa/setjmp.h: Likewise.
34365 * include/pupa/symbol.h: Likewise.
34366 * include/pupa/term.h: Likewise.
34367 * include/pupa/types.h: Likewise.
34368 * include/pupa/i386/setjmp.h: Likewise.
34369 * include/pupa/i386/types.h: Likewise.
34370 * include/pupa/i386/pc/biosdisk.h: Likewise.
34371 * include/pupa/i386/pc/boot.h: Likewise.
34372 * include/pupa/i386/pc/console.h: Likewise.
34373 * include/pupa/i386/pc/init.h: Likewise.
34374 * include/pupa/i386/pc/kernel.h: Likewise.
34375 * include/pupa/i386/pc/linux.h: Likewise.
34376 * include/pupa/i386/pc/loader.h: Likewise.
34377 * include/pupa/i386/pc/memory.h: Likewise.
34378 * include/pupa/i386/pc/multiboot.h: Likewise.
34379 * include/pupa/i386/pc/partition.h: Likewise.
34380 * include/pupa/i386/pc/time.h: Likewise.
34381 * include/pupa/i386/pc/vga.h: Likewise.
34382 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
34383 * include/pupa/util/getroot.h: Likewise.
34384 * include/pupa/util/misc.h: Likewise.
34385 * include/pupa/util/resolve.h: Likewise.
34386 * kern/device.c: Likewise.
34387 * kern/disk.c: Likewise.
34388 * kern/dl.c: Likewise.
34389 * kern/err.c: Likewise.
34390 * kern/file.c: Likewise.
34391 * kern/fs.c: Likewise.
34392 * kern/loader.c: Likewise.
34393 * kern/main.c: Likewise.
34394 * kern/misc.c: Likewise.
34395 * kern/mm.c: Likewise.
34396 * kern/rescue.c: Likewise.
34397 * kern/term.c: Likewise.
34398 * kern/i386/dl.c: Likewise.
34399 * kern/i386/pc/init.c: Likewise.
34400 * kern/i386/pc/lzo1x.S: Likewise.
34401 * kern/i386/pc/startup.S: Likewise.
34402 * loader/i386/pc/chainloader.c: Likewise.
34403 * loader/i386/pc/linux.c: Likewise.
34404 * loader/i386/pc/multiboot.c: Likewise.
34405 * normal/cmdline.c: Likewise.
34406 * normal/command.c: Likewise.
34407 * normal/main.c: Likewise.
34408 * normal/menu.c: Likewise.
34409 * normal/i386/setjmp.S: Likewise.
34410 * term/i386/pc/console.c: Likewise.
34411 * term/i386/pc/vga.c: Likewise.
34412 * util/console.c: Likewise.
34413 * util/genmoddep.c: Likewise.
34414 * util/misc.c: Likewise.
34415 * util/pupa-emu.c: Likewise.
34416 * util/resolve.c: Likewise.
34417 * util/unifont2pff.rb: Likewise.
34418 * util/i386/pc/biosdisk.c: Likewise.
34419 * util/i386/pc/getroot.c: Likewise.
34420 * util/i386/pc/pupa-mkimage.c: Likewise.
34421 * util/i386/pc/pupa-setup.c: Likewise.
34422
34423 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
34424
34425 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
34426 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
34427 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
34428 reading and reset it after reading.
34429 (pupa_ext2_close): Return PUPA_ERR_NONE.
34430
34431 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
34432 Correct value.
34433 (struct linux_kernel_header): Add kernel_version and
34434 initrd_addr_max.
34435 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
34436 pupa_file_read succeeds.
34437 (pupa_rescue_cmd_initrd): Implement.
34438
34439 2003-12-03 Marco Gerards <metgerards@student.han.nl>
34440
34441 * fs/ext2.c (pupa_ext2_label): New function.
34442 (pupa_ext2_fs): Added label.
34443 * fs/fat.c (pupa_fat_label): New function.
34444 (pupa_fat_fs): Added label.
34445 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
34446
34447 * kern/misc.c (pupa_strndup): New function.
34448 * include/pupa/misc.h (pupa_strndup): New prototype.
34449
34450 * include/pupa/normal.h: Include <pupa/err.h>.
34451 (pupa_set_history): New prototype.
34452 (pupa_iterate_commands): New prototype.
34453 * normal/cmdline.c: Include <pupa/machine/partition.h>,
34454 <pupa/disk.h>, <pupa/file.h>.
34455 (hist_size): New variable.
34456 (hist_lines): Likewise.
34457 (hist_end): Likewise.
34458 (hist_used): Likewise.
34459 (pupa_set_history): New function.
34460 (pupa_history_get): Likewise.
34461 (pupa_history_add): Likewise.
34462 (pupa_history_replace): Likewise.
34463 (pupa_tab_complete): Likewise.
34464 (pupa_cmdline_run): Added tab completion and history buffer. Tab
34465 completion shows partitionnames while completing partitions, this
34466 feature was suggested by Jeff Bailey.
34467 * normal/command.c (pupa_iterate_commands): New function.
34468 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
34469 (pupa_normal_init): Initialize history buffer.
34470 (PUPA_MOD_INIT): Likewise.
34471 (pupa_normal_fini): Free the history buffer.
34472 (PUPA_MOD_FINI): Likewise.
34473
34474 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
34475 key.
34476
34477 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
34478 * configure.ac [i386]: Check for regparam bug.
34479 (NESTED_FUNC_ATTR) [! i386]: Defined.
34480
34481 2003-11-17 Marco Gerards <metgerards@student.han.nl>
34482
34483 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
34484 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
34485 (pupa_emu_SOURCES): New variable.
34486 (pupa_emu_LDFLAGS): Likewise.
34487 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
34488 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
34489 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
34490 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34491 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
34492 (pupa_jmp_buf): New typedef.
34493 (pupa_setjmp) [PUPA_UTIL]: New macro.
34494 (pupa_longjmp) [PUPA_UTIL]: Likewise.
34495 * include/pupa/term.h (struct pupa_term): New member `refresh'.
34496 (pupa_refresh): New prototype.
34497 * include/pupa/util/getroot.h: New file.
34498 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
34499 it.
34500 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
34501 (pupa_rescue_cmd_cat): Likewise.
34502 (pupa_rescue_cmd_ls): Likewise.
34503 (pupa_rescue_cmd_testload): Likewise.
34504 (pupa_rescue_cmd_lsmod): Likewise.
34505 * normal/cmdline.c (pupa_cmdline_get): Likewise.
34506 * normal/menu.c (run_menu): Likewise.
34507 * kern/term.c (pupa_cls): Likewise.
34508 (pupa_refresh): New function.
34509 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
34510 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34511 * util/console.c: New file.
34512
34513 * util/i386/pc/getroot.c: New file.
34514 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
34515 (pupa_putchar): New function.
34516 (pupa_refresh): Likewise.
34517 (xgetcwd): Function moved to ...
34518 (strip_extra_slashes): Likewise.
34519 (get_prefix): Likewise.
34520 * util/i386/pc/getroot.c: ... here.
34521 (find_root_device): Function moved and renamed to...
34522 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
34523 Changed all callers.
34524 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
34525 and renamed to...
34526 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
34527 Changed all callers.
34528 * util/misc.c (pupa_memalign): New function.
34529 (pupa_mm_init_region): Likewise.
34530 (pupa_register_exported_symbols): Likewise.
34531 (pupa_putchar): Function removed.
34532 * util/pupa-emu.c: New file.
34533
34534 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
34535
34536 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
34537 (_multiboot_mod_SOURCES): New variable.
34538 (_multiboot_mod_CFLAGS): Likewise.
34539 * loader/i386/pc/multiboot.c: New file.
34540 * include/pupa/i386/pc/multiboot.h: Likewise.
34541 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
34542 (pupa_multiboot_real_boot): New function.
34543 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
34544 (pupa_multiboot_real_boot): New prototype.
34545 (pupa_rescue_cmd_multiboot): Likewise
34546 (pupa_rescue_cmd_module): Likewise.
34547
34548 * kern/loader.c (pupa_loader_set): Continue when
34549 pupa_loader_unload_func() fails.
34550 (pupa_loader_unset): New function.
34551 * include/pupa/loader.h (pupa_loader_unset): New prototype.
34552
34553 * kern/misc.c (pupa_stpcpy): New function.
34554 * include/pupa/misc.h (pupa_stpcpy): New prototype.
34555
34556 2003-11-12 Marco Gerards <metgerards@student.han.nl>
34557
34558 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
34559 for available extensions.
34560
34561 * include/pupa/i386/pc/time.h: New file.
34562 * kern/disk.c: Include <pupa/machine/time.h>.
34563 (PUPA_CACHE_TIMEOUT): New macro.
34564 (pupa_last_time): New variable.
34565 (pupa_disk_open): Flush the cache when there was a timeout.
34566 (pupa_disk_close): Reset the timer.
34567 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
34568 pupa_currticks.
34569 * util/misc.c: Include <sys/times.h>
34570 (pupa_get_rtc): New function.
34571
34572 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34573
34574 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
34575 as blocks.
34576 (pupa_ext2_get_file_block): Use blocks member.
34577
34578 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
34579 first block. Return -1 instead of pupa_errno on error.
34580
34581 2003-10-27 Marco Gerards <metgerards@student.han.nl>
34582
34583 * README: In the pupa-mkimage example use _chain instead of chain
34584 and ext2 instead of fat.
34585 * TODO: Replace ext2fs with jfs as an example. Add an item for
34586 adding journal playback for ext2fs.
34587 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
34588 (pkgdata_MODULES): Added ext2.mod.
34589 (ext2_mod_SOURCES): New variable.
34590 (ext2_mod_CFLAGS): Likewise.
34591 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
34592 * include/pupa/misc.h (pupa_strncpy): New prototype.
34593 (pupa_strcat): Likewise.
34594 (pupa_strncmp): Likewise.
34595 * kern/misc.c (pupa_strcat): Enable function.
34596 (pupa_strncpy): New function.
34597 (pupa_strncmp): Likewise.
34598 * fs/ext2.c: New file.
34599
34600 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
34601 when the read failed before retrying.
34602 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
34603 (_FILE_OFFSET_BITS): Likewise.
34604 * configure.ac: Added AC_SYS_LARGEFILE.
34605
34606 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34607
34608 * genmk.rb (PModule#rule): Make sure to get only symbol names
34609 from the output of nm.
34610 Reported by Robert Millan <rmh.grub@aybabtu.com>.
34611
34612 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34613
34614 I forgot to check in these changes for a long time. This adds
34615 incomplete support for VGA console, and this is still very
34616 buggy. Also, a lot of consideration is required for I18N,
34617 UNICODE, and VGA font issues. Therefore, assume that this is
34618 such that "better than nothing".
34619
34620 * font/manager.c: New file.
34621 * include/pupa/font.h: Likewise.
34622 * include/pupa/i386/pc/vga.h: Likewise.
34623 * term/i386/pc/vga.c: Likewise.
34624 * util/unifont2pff.rb: Likewise.
34625
34626 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
34627 (pkgdata_MODULES): Added vga.mod and font.mod.
34628 (vga_mod_SOURCES): New variables.
34629 (vga_mod_CFLAGS): Likewise.
34630 (font_mod_SOURCES): Likewise.
34631 (font_mod_CFLAGS): Likewise.
34632
34633 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
34634
34635 * include/pupa/term.h: Include pupa/err.h.
34636 (struct pupa_term): Added init and fini.
34637 Changed the argument of putchar to pupa_uint32_t.
34638
34639 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
34640 (pupa_console_real_putchar): New prototype.
34641 (pupa_console_putchar): Removed.
34642 (pupa_console_checkkey): Exported.
34643 (pupa_console_getkey): Likewise.
34644
34645 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
34646 characters.
34647
34648 * kern/term.c (pupa_term_set_current): Rewritten.
34649 (pupa_putchar): Likewise.
34650 (pupa_putcode): New function.
34651
34652 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
34653 (pupa_console_real_putchar): ... this.
34654 (pupa_vga_set_mode): New function.
34655 (pupa_vga_get_font): Likewise.
34656
34657 * normal/command.c: Include pupa/term.h.
34658 (terminal_command): New function.
34659 (pupa_command_init): Register the command "terminal".
34660
34661 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
34662 (DISP_UP): Likewise.
34663 (DISP_RIGHT): Likewise.
34664 (DISP_DOWN): Likewise.
34665 (DISP_HLINE): Likewise.
34666 (DISP_VLINE): Likewise.
34667 (DISP_UL): Likewise.
34668 (DISP_UR): Likewise.
34669 (DISP_LL): Likewise.
34670 (DISP_LR): Likewise.
34671
34672 * term/i386/pc/console.c (pupa_console_putchar): New function.
34673
34674 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
34675
34676 * util/resolve.c (pupa_util_resolve_dependencies): BUG
34677 FIX. Reverse the path_list.
34678
34679 * include/pupa/normal.h: Export pupa_register_command and
34680 pupa_unregister_command.
34681
34682 * hello/hello.c (pupa_cmd_hello): New module.
34683 * conf/i386-pc.rmk: Added hello.mod.
34684
34685 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
34686
34687 * kern/i386/pc/lzo1x.S: New file.
34688
34689 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
34690 (compress_kernel): New variable.
34691 (generate_image): Heavily modified to support compressing a
34692 large part of the core image.
34693
34694 * util/misc.c (pupa_util_read_image): Fix a file descriptor
34695 leak.
34696 (pupa_util_load_image): New function.
34697
34698 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
34699 (pupa_compressed_size): New variable.
34700 (codestart): Enable Gate A20 here.
34701 Decompress the compressed part of the core image.
34702 Rearrange the code to put functions and variables which are
34703 required for initialization in the non-compressed part.
34704 Include lzo1x.S.
34705
34706 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
34707 here.
34708
34709 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
34710
34711 * include/pupa/i386/pc/kernel.h
34712 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
34713 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
34714 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34715 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34716 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
34717
34718 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
34719
34720 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
34721 (Utility#rule): Likewise.
34722
34723 * configure.ac: Check if LZO is available.
34724
34725 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
34726
34727 * include/pupa/normal.h: New file.
34728 * include/pupa/setjmp.h: Likewise.
34729 * include/pupa/i386/setjmp.h: Likewise.
34730 * normal/cmdline.c: Likewise.
34731 * normal/command.c: Likewise.
34732 * normal/main.c: Likewise.
34733 * normal/menu.c: Likewise.
34734 * normal/i386/setjmp.S: Likewise.
34735
34736 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
34737 (pupa_rescue_cmd_initrd): Likewise.
34738
34739 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
34740 Likewise.
34741
34742 * kern/i386/pc/startup.S (translation_table): New variable.
34743 (translate_keycode): New function.
34744 (pupa_console_getkey): Call translate_keycode.
34745
34746 * kern/rescue.c (attempt_normal_mode): New function.
34747 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
34748 it failed, print a message.
34749
34750 * kern/mm.c (pupa_real_malloc): Print more information when a
34751 free magic is broken.
34752 (pupa_free): If the first free header is not free actually, set
34753 it to P.
34754
34755 * kern/main.c (pupa_load_normal_mode): Just load the module
34756 "normal".
34757 (pupa_main): Don't print the message
34758 "Entering into rescue mode..." here.
34759
34760 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
34761 Declared.
34762 (pupa_rescue_cmd_initrd): Likewise.
34763 (pupa_rescue_cmd_initrd): Likewise.
34764
34765 * include/pupa/symbol.h (FUNCTION): Specify the type.
34766 (VARIABLE): Likewise.
34767
34768 * include/pupa/err.h (pupa_err_t): Added
34769 PUPA_ERR_UNKNOWN_COMMAND.
34770
34771 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
34772 (pupa_dl_get_prefix): Likewise.
34773
34774 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
34775 Added _chain.mod and _linux.mod instead of chain.mod and
34776 linux.mod.
34777 (chain_mod_SOURCES): Renamed to ...
34778 (_chain_mod_SOURCES): ... this.
34779 (chain_mod_CFLAGS): Renamed to ...
34780 (_chain_mod_CFLAGS): ... this.
34781 (linux_mod_SOURCES): Renamed to ...
34782 (_linux_mod_SOURCES): ... this.
34783 (linux_mod_CFLAGS): Renamed to ...
34784 (_linux_mod_CFLAGS): ... this.
34785 (normal_mod_SOURCES): New variable.
34786 (normal_mod_CFLAGS): Likewise.
34787 (normal_mod_ASFLAGS): Likewise.
34788
34789 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
34790
34791 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
34792 possible.
34793
34794 * kern/dl.c (pupa_dl_ref): Refer depending modules
34795 recursively.
34796 (pupa_dl_unref): Unrefer depending modules recursively.
34797 Don't call pupa_dl_unload implicitly, because PUPA can crash if
34798 a module is unloaded before one depending on that module is
34799 unloaded.
34800 (pupa_dl_unload): Unload depending modules explicitly,
34801 if possible.
34802
34803 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
34804
34805 * include/pupa/i386/pc/linux.h: New file.
34806 * loader/i386/pc/linux.c: Likewise.
34807
34808 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
34809 Removed.
34810 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
34811 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
34812 of PUPA_CHAINLOADER_BOOT_SECTOR.
34813
34814 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
34815 (pupa_linux_prot_size): New variable.
34816 (pupa_linux_tmp_addr): Likewise.
34817 (pupa_linux_real_addr): Likewise.
34818 (pupa_linux_boot_zimage): New function.
34819 (pupa_linux_boot_bzimage): Likewise.
34820
34821 * kern/i386/pc/init.c (struct mem_region): New structure.
34822 (MAX_REGIONS): New macro.
34823 (mem_regions): New variable.
34824 (num_regions): Likewise.
34825 (pupa_os_area_addr): Likewise.
34826 (pupa_os_area_size): Likewise.
34827 (pupa_lower_mem): Likewise.
34828 (pupa_upper_mem): Likewise.
34829 (add_mem_region): New function.
34830 (compact_mem_regions): Likewise.
34831 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
34832 the size of the conventional memory and that of so-called upper
34833 memory (before the first memory hole).
34834 Instead of adding each found region to free memory, use
34835 add_mem_region and add them after removing overlaps.
34836 Also, add only 1/4 of the upper memory to free memory. The rest
34837 is used for loading OS images. Maybe this is ad hoc, but this
34838 makes it much easier to relocate OS images when booting.
34839
34840 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
34841 (pupa_enter_rescue_mode): Don't register initrd and module.
34842
34843 * kern/mm.c: Include pupa/dl.h.
34844
34845 * kern/main.c: Include pupa/file.h and pupa/device.h.
34846
34847 * kern/loader.c (pupa_loader_load_module_func): Removed.
34848 (pupa_loader_load_module): Likewise.
34849
34850 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
34851 ``.o''.
34852
34853 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
34854 (pupa_linux_tmp_addr): Likewise.
34855 (pupa_linux_real_addr): Likewise.
34856 (pupa_linux_boot_zimage): Likewise.
34857 (pupa_linux_boot_bzimage): Likewise.
34858
34859 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
34860 (pupa_upper_mem): Likewise.
34861 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
34862 module is too dangerous.
34863
34864 * include/pupa/loader.h (pupa_os_area_addr): Declared.
34865 (pupa_os_area_size): Likewise.
34866 (pupa_loader_set): Remove the first argument. Loader doesn't
34867 manage modules or initrd any longer.
34868 (pupa_loader_load_module): Removed.
34869
34870 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
34871 (linux_mod_SOURCES): New variable.
34872 (linux_mod_CFLAGS): Likewise.
34873
34874 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
34875
34876 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
34877 the length of a blocklist correctly.
34878
34879 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
34880 Use ioctl only if the OS file is a block device.
34881 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
34882 not very useful for normal files.
34883
34884 * kern/main.c (pupa_set_root_dev): New function.
34885 (pupa_load_normal_mode): Likewise.
34886 (pupa_main): Call those above.
34887
34888 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
34889 pupa_uint16_t.
34890
34891 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
34892
34893 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34894
34895 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
34896 (setup): Configure the installed partition information and the
34897 dl prefix.
34898
34899 * loader/i386/pc/chainloader.c (my_mod): New variable.
34900 (pupa_chainloader_unload): New function.
34901 (pupa_rescue_cmd_chainloader): Refer itself.
34902 (PUPA_MOD_INIT): Save its own module in MY_MOD.
34903
34904 * kern/i386/pc/startup.S (install_partition): Removed.
34905 (version_string): Likewise.
34906 (config_file): Likewise.
34907 (pupa_install_dos_part): New variable.
34908 (pupa_install_bsd_part): Likewise.
34909 (pupa_prefix): Likewise.
34910 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
34911
34912 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
34913 and pupa/misc.h.
34914 (make_install_device): New function.
34915 (pupa_machine_init): Set the dl prefix.
34916
34917 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
34918 (buf): Renamed to ...
34919 (linebuf): ... this.
34920 (pupa_rescue_cmd_prefix): New function.
34921 (pupa_rescue_cmd_insmod): Likewise.
34922 (pupa_rescue_cmd_rmmod): Likewise.
34923 (pupa_rescue_cmd_lsmod): Likewise.
34924 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
34925 rmmod and lsmod.
34926
34927 * kern/mm.c (pupa_memalign): If failed even after invalidating
34928 disk caches, unload unneeded modules and retry.
34929
34930 * kern/misc.c (pupa_memmove): New function.
34931 (pupa_memcpy): Removed.
34932 (pupa_strcpy): New function.
34933 (pupa_itoa): Made static.
34934
34935 * kern/dl.c (pupa_dl_iterate): New function.
34936 (pupa_dl_ref): Likewise.
34937 (pupa_dl_unref): Likewise.
34938 (pupa_dl_unload): Return if succeeded or not.
34939 (pupa_dl_unload_unneeded): New function.
34940 (pupa_dl_unload_all): Likewise.
34941 (pupa_dl_init): Renamed to ...
34942 (pupa_dl_set_prefix): ... this.
34943 (pupa_dl_get_prefix): New function.
34944
34945 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
34946 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
34947 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34948 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34949 (pupa_install_dos_part): Declared.
34950 (pupa_install_bsd_part): Likewise.
34951 (pupa_prefix): Likewise.
34952 (pupa_boot_drive): Likewise.
34953
34954 * include/pupa/types.h: Fix a typo.
34955
34956 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
34957 pupa_memmove.
34958 (pupa_memmove): Declared.
34959 (pupa_strcpy): Likewise.
34960
34961 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
34962 pupa_mod_init takes one argument, its own module.
34963 (pupa_dl_unload_unneeded): Declared.
34964 (pupa_dl_unload_all): Likewise.
34965 (pupa_dl_ref): Likewise.
34966 (pupa_dl_unref): Likewise.
34967 (pupa_dl_iterate): Likewise.
34968 (pupa_dl_init): Renamed to ...
34969 (pupa_dl_set_prefix): ... this.
34970 (pupa_dl_get_prefix): Declared.
34971
34972 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
34973 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
34974 unloaded.
34975 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
34976 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
34977
34978 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
34979 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
34980
34981 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34982
34983 * util/i386/pc/pupa-setup.c (setup): Define the internal
34984 function find_first_partition_start at the top level, because GCC
34985 3.0.x cannot compile internal functions in deeper scopes
34986 correctly.
34987 (find_root_device): Use lstat instead of stat.
34988 Don't follow symbolic links.
34989 Fix the path-constructing code.
34990
34991 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
34992 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
34993 by a BLKGETSIZE ioctl first, because block devices don't fill
34994 the member st_mode of the structure stat on Linux.
34995 [__linux__] (linux_find_partition): Use a temporary buffer
34996 REAL_DEV for the working space. Copy it to DEV before returning.
34997 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
34998 buffer cache consistent.
34999 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
35000 strncmp. The previous value was merely wrong.
35001 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
35002
35003 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
35004 FAT size is 12. The previous value was merely wrong.
35005
35006 * kern/main.c (pupa_main): Don't split the starting message from
35007 newlines.
35008
35009 * kern/term.c (pupa_putchar): Put CR after LF instead of before
35010 LF, because BIOS goes crazy about character attributes in this
35011 case.
35012
35013 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35014
35015 * include/i386/pc/util/biosdisk.h: New file.
35016 * util/i386/pc/biosdisk.c: Likewise.
35017 * util/i386/pc/pupa-setup.c: Likewise.
35018
35019 * Makefile.in (INCLUDE_DISTFILES): Added
35020 include/pupa/i386/pc/util/biosdisk.h.
35021 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
35022 directory util/i386/pc.
35023 (install-local): Added a rule for sbin_UTILITIES.
35024 (uninstall): Likewise.
35025
35026 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
35027
35028 * util/misc.c (xrealloc): New function.
35029 (pupa_malloc): Likewise.
35030 (pupa_free): Likewise.
35031 (pupa_realloc): Likewise.
35032 (pupa_stop): Likewise.
35033 (pupa_putchar): Likewise.
35034
35035 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
35036
35037 * include/pupa/util/misc.h (xrealloc): Declared.
35038
35039 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
35040 macro.
35041 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
35042 (PUPA_BOOT_MACHINE_BPB_END): ... this.
35043
35044 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
35045 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35046
35047 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
35048 way should be implemented.
35049 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35050
35051 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
35052 the size of NAME for safety.
35053 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
35054 0x88.
35055
35056 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
35057 (pupa_setup_SOURCES): Likewise.
35058
35059 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
35060
35061 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35062
35063 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
35064 bunch of pushl's from pusha, because this destroys the return
35065 value.
35066
35067 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35068
35069 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
35070 This means that any missing prototypes could be fatal. Also, you
35071 must take care when writing assembly code. See the comments at
35072 the beginning of startup.S, for more details.
35073
35074 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
35075 compilation mechanism.
35076 (pupa_chainloader_real_boot): Likewise.
35077 (pupa_biosdisk_rw_int13_extensions): Likewise.
35078 (pupa_biosdisk_rw_standard): Likewise.
35079 (pupa_biosdisk_check_int13_extensions): Likewise.
35080 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
35081 (pupa_biosdisk_get_diskinfo_standard): Likewise.
35082 (pupa_get_memsize): Likewise.
35083 (pupa_get_mmap_entry): Likewise.
35084 (pupa_console_putchar): Likewise.
35085 (pupa_console_setcursor): Likewise.
35086 (pupa_getrtsecs): Use pushl instead of push.
35087
35088 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
35089 memory instead of the stack for a mmap entry, because some
35090 BIOSes may ignore the maximum size and overflow.
35091
35092 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
35093
35094 * genmk.rb (PModule#rule): Compile automatically generated
35095 sources with module-specific CFLAGS as well as other sources.
35096
35097 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35098
35099 * configure.ac: Check ld.
35100 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
35101 respectively, before checking endianness and sizes.
35102
35103 * Makefile.in (LD): New variable.
35104
35105 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35106
35107 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
35108
35109 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35110
35111 * Changelog: New file.
35112