]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
[grub2.git] / ChangeLog
1 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
4 on first non-existant partition.
5
6 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
9 openning fails.
10 Reported by: Mark Korenberg.
11
12 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
15 overflow.
16
17 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * util/grub-mkimage.c (main): Explicitely flush and sync the output
20 before closing to ensure that it will be readable by grub-setup.
21
22 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
25 (devpath_1): Use MAKE_PIWG_PATH.
26 (devpath_2): Likewise.
27 (devpath_3): Likewise.
28 (devpath_4): Likewise.
29 (devpath_5): Likewise.
30 (devpath_6): Likewise.
31
32 The appleldr.mod was checked that to be binary identical to previous
33 version.
34
35 2011-05-05 Zach <mikezackles>
36
37 Support 2010 Macbooks.
38
39 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
40 (devs): Add devpath_6.
41
42 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
45 /dev/random. /dev/urandom is good enough for our purposes (salting).
46
47 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
50
51 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
54 hexadecimal.
55
56 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
59 and not 0 on failure.
60
61 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
62
63 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
64 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
65 disk; otherwise grub_fs_probe will not fall back to the next
66 filesystem.
67 (grub_pxefs_open): Likewise, for consistency.
68 Reported and tested by: Ezekiel Grave.
69
70 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
71
72 * tests/partmap_test.in: Don't hardcode path to parted.
73 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
74
75 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
76
77 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
78 of `ls' to find out which devices are available.
79
80 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
83 than source address for efi mmap buffer.
84
85 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
88 wrong action on non-detecting the magic.
89
90 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
93 already supplied by another part of the module (fixes compilation on
94 FreeBSD).
95
96 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
99 match the one used by mdadm.
100
101 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
102
103 * po/README: Add instructions for creating po/LINGUAS.
104
105 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
106
107 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
108 #551428.
109
110 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
111 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
112 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
113 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
114 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
115 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
116 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
117 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
118 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
119 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
120 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
121 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
122 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
123 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
124 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
125 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
126 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
127 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
128 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
129 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
130 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
131 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
132
133 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
134
135 * grub-core/kern/emu/getroot.c
136 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
137 test that was incorrectly reintroduced in r3214.
138 Reported by: Ian Dall. Fixes Savannah bug #33133.
139
140 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
141
142 Fix stack pointer handling in 16-bit relocator.
143
144 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
145 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
146 Fixes Ubuntu bug #683904.
147
148 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * configure.ac: Bump version to 1.99~rc2.
151
152 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
155 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
156 * grub-core/lib/x86_64/setjmp.S: Likewise.
157 * grub-core/lib/mips/setjmp.S: Likewise.
158 * grub-core/lib/powerpc/setjmp.S: Likewise.
159 * grub-core/lib/sparc64/setjmp.S: Likewise.
160
161 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
164 * grub-core/lib/efi/datetime.c: Likewise.
165
166 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
169 New function.
170 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
171 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
172 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
173
174 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
177 bitmap.
178 (grub_gfxterm_term_init): Likewise.
179
180 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
181
182 Take into account the decorations the computing menu entry width.
183
184 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
185 (grub_gfxmenu_create_box): Register get_border_width.
186 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
187 if available.
188 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
189 get_border_width.
190
191 2011-04-18 Endres Puschner <code@e7p.de>
192
193 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
194 Don't skip first class.
195
196 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
199 chunks.
200 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
201
202 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
203
204 Complete 64-bit division support.
205
206 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
207 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
208 * include/grub/misc.h (grub_divmod64): Rename to ...
209 (grub_divmod64_full): ... this.
210 (grub_divmod64): New inline function.
211
212 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * util/grub-mkimage.c (generate_image): Add forgotten comma.
215
216 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
217
218 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
219 performing the necessary test.
220
221 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
224 (kfreebsd.elf): Likewise.
225 (pc-chainloader.elf): Likewise.
226 (ntldr.elf): Likewise.
227
228 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
229
230 Identify RAID by its UUID rather than (guessed) name.
231
232 * grub-core/disk/raid.c (ascii2hex): New function.
233 (grub_raid_open): Accept mduuid/%s specification.
234 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
235 (get_mdadm_uuid): ... this.
236 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
237
238 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
241 to negative size.
242
243 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
244
245 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
246 btrfs subvolume.
247 * util/grub.d/20_linux_xen.in: Likewise.
248
249 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
250
251 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
252 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
253
254 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
255 Build a list of relevant visible mounts using the mnt_id and
256 parent_mnt_id fields, and then scan that list at the end.
257
258 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
259
260 * docs/grub.texi (normal): New section.
261 (normal_exit): New section.
262 (Embedded configuration): Add reference to normal.
263 (GRUB only offers a rescue shell): Likewise.
264 * docs/grub-dev.texi (Error Handling): Fix typo.
265
266 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
267
268 * NEWS: Drop obsolete entry about probe-only btrfs support.
269
270 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
271
272 * util/import_gcry.py: Fix typo.
273
274 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * NEWS: Add btrfs support.
277
278 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
279 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
280
281 BtrFS support. Written by me (Vladimir) with important bugfixes and
282 even more important testing by Colin.
283
284 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
285 * grub-core/Makefile.core.def (btrfs): Add crc.c.
286 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
287 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
288 mem_input_off and mem_input. All users updated to accept in-RAM input.
289 (gzio_seek): New function.
290 (test_zlib_header): Likewise.
291 (grub_gzio_read): Likewise.
292 (grub_zlib_decompress): Likewise.
293 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
294 Accept partial and non-virtual mounts.
295 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
296 avoid receiving /dev/dm-X as device.
297 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
298 Handle bind and partial mounts.
299 * grub-core/lib/crc.c: New file.
300 * include/grub/deflate.h: Likewise.
301 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
302 proto.
303 * include/grub/lib/crc.h: New file.
304
305 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
306
307 Implement automatic module license checking according to new GNU
308 guidelines.
309
310 * grub-core/kern/dl.c (grub_dl_check_license): New function.
311 (grub_dl_load_core): Use grub_dl_check_license.
312 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
313 (GRUB_MOD_LICENSE): Likewise.
314 (GRUB_MOD_DUAL_LICENSE): Likewise.
315 All modules updated.
316
317 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
318
319 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
320 reserved_first_sector to 1. btrfs reserves plenty of space for boot
321 loaders.
322 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
323
324 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
327
328 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * util/grub-fstest.c (read_file): Report GRUB error if file opening
331 failed.
332
333 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
334
335 * grub-core/kern/file.c (grub_file_open): Don't take into account the
336 parenthesis in the middle of the filename.
337
338 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
341 rather than trying to put initrd way too high.
342 Reported by: Ryan Lortie <desrt@desrt.ca>
343
344 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
347 improperly removed string.
348
349 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
350
351 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
352 is_disk.
353 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
354 (open_device) Likewise.
355 (grub_util_biosdisk_close): Likewise.
356 Reported by: Mark Korenberg.
357
358 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
359
360 * util/grub-mkconfig_lib.in: Add missing quotes.
361
362 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
363
364 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
365 is NULL.
366
367 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
368
369 Dynamically count the number of lines for the lower banner.
370
371 * grub-core/normal/menu_entry.c (per_term_screen): New member
372 num_entries.
373 (print_down): Use num_entries.
374 (update_screen): Likewise.
375 (grub_menu_entry_run): Set num_entries.
376 * grub-core/normal/menu_text.c (menu_viewer_data): New member
377 num_entries.
378 (grub_print_message_indented): Move real part to ...
379 (grub_print_message_indented_real): ... here. Additional argument
380 dry_run.
381 (draw_border): Additional argument num_entries.
382 (print_message): Additional argument dry_run.
383 (print_entries): Receive menu viewer data.
384 (grub_menu_init_page): New argment num_entries.
385 (menu_text_set_chosen_entry): Use num_entries.
386 (grub_menu_try_text): Likewise.
387 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
388 All users updated.
389 (grub_ucs4_count_lines): New function.
390 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
391 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
392 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
393 (grub_term_border_height): Likewise.
394 (grub_term_num_entries): Likewise.
395
396 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
399 Remove now unused string.
400
401 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
402
403 * docs/grub-dev.texi (Finding your way around): Update for 1.99
404 build system.
405 (Getting started): GRUB is developed in Bazaar now, not Subversion.
406
407 (Comment): Fix typo.
408 (Getting started): General copy-editing.
409 (Typical Development Experience): Likewise.
410 (Error Handling): Likewise.
411 (Video API): Likewise.
412
413 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
414
415 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
416 throughout.
417
418 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * util/grub-mkimage.c (main): Handle special naming of yeeloong
421 directory.
422
423 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
424
425 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
426 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
427 "development".
428
429 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
432 grub_strcpy since the lines aren't necessarily 0-terminated.
433
434 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
437 root on legacy.
438
439 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/commands/probe.c (options): Argument to set isn't optional.
442 (GRUB_MOD_INIT): DEVICE isn't optional.
443
444 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
447 word on new line if it's too long anyway. Fixes a hang.
448
449 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
452 const.
453 * util/grub-setup.c (main): Reuse md device name if available.
454 * util/raid.c (grub_util_raid_getmembers): Receive device name and
455 not GRUB name as argument.
456 Based on patch by: Florian Wagner <fwagner>.
457
458 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
461 Place mbi on low memory for better compatibility.
462
463 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
466
467 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
468 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
469
470 * autogen.sh: Ensure that collate and ctype locale is C.
471 * conf/Makefile.common: Likewise.
472
473 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * grub-core/normal/menu.c: Add missing include.
476
477 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
480
481 2011-04-08 Martin Zuther <mzuther@mzuther.de>
482
483 * util/grub-mkconfig.in: Ignore emacsen backup.
484
485 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
488 on open.
489 (grub_util_biosdisk_close): Likewise.
490
491 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
494 const attribute and use grub_isdigit.
495
496 2011-04-06 Andrey <dev_null@ukr.net>
497
498 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
499 gcc warning.
500
501 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
504 useful grub_dprintf's.
505
506 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
509
510 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
513
514 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
515
516 Output errors if theme loading failed.
517
518 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
519 grub_gfxterm_fullscreen on error paths to ...
520 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
521 theme loading error.
522
523 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
526 space for older compilers.
527 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
528
529 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
532 and report them as not RAID members since they are useless for GRUB.
533 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
534
535 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
536
537 Increase LVM implementation robustness in order not to crash on
538 configurations like pvmove. Previously code assumed that in some places
539 only lvs or only pvs are used whereas it seems that they are used
540 interchangeably.
541
542 * grub-core/disk/lvm.c (read_node): New function.
543 (read_lv): Use read_node.
544 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
545 Match volumes only at the end when all lvs are found. Take both
546 pvs (first) and lvs (second) into account.
547 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
548 mirror_* into node_*. All users updated.
549 (grub_lvm_stripe): Merge this ...
550 (grub_lvm_mirror): ... and this ...
551 (grub_lvm_node): ... into this. All users updated.
552
553 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
556 of function to allow further scanning for LVMs.
557
558 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
561 on failed seek as it breaks open fd reusage.
562
563 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * util/grub-install.in: Add a recommendation to use --recheck before
566 reporting bugs.
567
568 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
571 are obtained.
572
573 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
574
575 GRUB developper manual based on existing Internals section and
576 contributions by the various authors with active copyright assignment.
577
578 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
579 * docs/font_char_metrics.png: New file.
580 * docs/font_char_metrics.txt: Likewise.
581 * docs/grub-dev.texi: Likewise.
582 * docs/grub.texi (Internals): Move from here ...
583 * docs/grub-dev.texi: ... here.
584
585 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
586
587 Store the loopback device as data on loopback grub_disk structures,
588 rather than the file it points to. This fixes use of freed memory
589 if an existing loopback device is replaced.
590
591 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
592 disk->data, not dev->file.
593 (grub_loopback_read): Adjust file assignment to match.
594 Fixes Ubuntu bug #742967.
595
596 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
597
598 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
599 when replacing an existing device.
600
601 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
602
603 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
604 memory corruptions.
605
606 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
607 unsigned.
608 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
609 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
610 (grub_jfs_read_inode): Likewise.
611 (grub_jfs_opendir): Likewise. Remove now useless casts.
612 (grub_jfs_getent): Likewise.
613 Make ino a grub_uint32_t rather than int.
614 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
615 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
616 division and module with bit operations.
617 (grub_jfs_find_file): Make ino a grub_uint32_t.
618 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
619
620 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
621
622 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
623 warning. (This was in fact always initialised before use, but GCC
624 wasn't smart enough to prove that.)
625 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
626
627 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
630 stack alignment.
631 (efi_wrap_1): Likewise.
632 (efi_wrap_2): Likewise.
633 (efi_wrap_3): Likewise.
634 (efi_wrap_4): Likewise.
635 (efi_wrap_5): Likewise.
636 (efi_wrap_6): Likewise.
637 (efi_wrap_10): Likewise.
638 Based on information by: Red Hat/Peter Jones.
639
640 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
641
642 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
643 set-but-not-used variable.
644
645 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
646
647 * docs/grub.texi (Simple configuration): Be more explicit about
648 GRUB_DEFAULT, and add an example.
649 Reported by: Leslie Rhorer.
650
651 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
652
653 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
654 shell".
655
656 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
657
658 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
659 * util/grub.d/20_linux_xen.in: Likewise.
660
661 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * util/grub.d/10_linux.in: Try alternative config filenames where
664 we parse config file.
665 * util/grub.d/20_linux_xen.in: Likewise.
666
667 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
668
669 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
670 * util/grub.d/20_linux_xen.in: Likewise.
671
672 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * grub-core/disk/raid.c (insert_array): Add few potentially
675 useful grub_util_info.
676 (grub_raid_register): Likewise.
677
678 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
681 Preserve partition number in mdadm code path.
682
683 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
686 few potentially useful grub_util_info.
687
688 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
691
692 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
693
694 * docs/grub.texi (default): Use @example rather than nested
695 itemized lists to avoid breaking gendocs.
696
697 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
698
699 * docs/grub.texi (Future): Update.
700
701 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
702
703 * docs/grub.texi (Environment): New chapter.
704 (Changes from GRUB Legacy): Link to "Environment block" section for
705 details of limitations.
706 (Simple configuration): Likewise. Link to documentation of gfxmode
707 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
708 respectively.
709 (Shell-like scripting): Note that normal variables are stored in the
710 environment.
711 (gettext): Link to documentation of lang and locale_dir.
712 (list_env): New section.
713 (load_env): New section.
714 (save_env): New section.
715
716 (Reporting bugs): Fix typo.
717
718 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
721 the example.
722
723 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * grub-core/term/at_keyboard.c (set_scancodes)
726 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
727
728 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
729
730 * docs/grub.texi (Menu-specific commands): Remove some semantics
731 that were true in GRUB Legacy but not in GRUB 2.
732 (submenu): New section.
733 (false): New section.
734 (read): New section.
735 (true): New section.
736
737 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
738
739 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
740
741 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
742
743 * docs/grub.texi (Simple configuration): Explain some of the
744 current limitations of grub-mkconfig.
745 Reported by: Leslie Rhorer.
746
747 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
748
749 Old macs search for boot.efi rather than for bootia32.efi.
750
751 * util/grub-install.in: Copy bootia32.efi to boot.efi.
752 * util/grub-mkrescue.in: Likewise.
753 Suggested by: Peter Jones.
754
755 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
758
759 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
762 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
763 (grub_lvm_mirror): New struct.
764 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
765 (grub_lvm_iterate): Iterate only visible volumes.
766 (grub_lvm_read): Factor out to ..
767 (read_lv): ... this. Support mirrors.
768 (grub_lvm_read): New wrapper function.
769 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
770 stripped or mirrored.
771
772 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
775
776 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
777
778 * docs/grub.texi (loopback): New section.
779
780 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
781
782 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
783 removed -p option.
784
785 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
786
787 * docs/grub.texi (BIOS installation): New section, partly based on
788 previous text in other sections.
789 (Installing GRUB using grub-install): Replace BIOS discussion with a
790 cross-reference.
791 (Images): Likewise.
792
793 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * grub-core/kern/emu/hostdisk.c (find_partition_start)
796 [HAVE_DIOCGDINFO]: Add safety checks.
797
798 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
801 per default compiled in kernel and prior to 8.0 isn't shipped at all.
802
803 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
804
805 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
806 real_sb->size is zero (e.g. RAID-0), get the disk size from
807 real_sb->data_size instead.
808 Fixes Ubuntu bug #743136.
809
810 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
813 printf clauses for printing size and start.
814
815 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
818 Reported and tested by: Timothy Nikkel.
819
820 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
823 (dirty_region_add_real): ... this.
824 (dirty_region_add): Don't discard margin refresh when performing
825 scheduled repaint.
826
827 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/lib/relocator.c (allocate_regstart)
830 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
831 terminals are capabple of malloc-free operation.
832 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
833 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
834
835 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
836
837 * util/grub-setup.c: Copy the partition table zone if floppy support
838 is disabled, even if no partition table is found.
839
840 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
841 during POST if an invalid partition table is contained in the PBR
842 of the active partition when GRUB is installed to a partition.
843
844 2011-03-28 Colin Watson <cjwatson@debian.org>
845
846 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
847 comment.
848
849 2011-03-28 Colin Watson <cjwatson@debian.org>
850
851 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
852 to be specific about what kind of RAID device we're scanning for.
853
854 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
855
856 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
857 return freed string.
858
859 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
862
863 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
864
865 Use libgeom on FreeBSD to detect partitions.
866
867 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
868 (grub-mkrelpath): Likewise.
869 (grub-script-check): Likewise.
870 (grub-editenv): Likewise.
871 (grub-mkpasswd-pbkdf2): Likewise.
872 (grub-fstest): Likewise.
873 (grub-mkfont): Likewise.
874 (grub-mkdevicemap): Likewise.
875 (grub-probe): Likewise.
876 (grub-setup): Likewise.
877 (grub-ofpathname): Likewise.
878 (grub-mklayout): Likewise.
879 (example_unit_test): Likewise.
880 (grub-menulst2cfg): Likewise.
881 * grub-core/Makefile.core.def (grub-emu): Likewise.
882 (grub-emu-lite): Likewise.
883 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
884 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
885 define HAVE_DIOCGDINFO.
886 (follow_geom_up) [FreeBSD]: New function.
887 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
888 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
889 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
890 unconditionally of HAVE_DIOCGDINFO.
891
892 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
893
894 Fix FreeBSD compilation problem.
895
896 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
897 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
898
899 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
900
901 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
902 Switch back to page zero before loading a kernel, since some kernel
903 drivers expect that.
904 Thanks to: Felix Kuehling.
905
906 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
909 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
910 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
911
912 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
915 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
916
917 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
920 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
921 malloc is disabled.
922
923 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
924
925 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
926 for modules headers when counting the needed allocation size.
927
928 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
931 if no ASCII character is found to prevent crash.
932
933 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
934
935 * grub-core/video/bitmap.c (match_extension): Ignore case.
936
937 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
940
941 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * grub-core/script/parser.y: Declare "time" as valid argument.
944
945 2011-03-23 Peter Jones <pjones@redhat.com>
946
947 Fix incorrect assert failure reporting.
948
949 * grub-core/tests/example_functional_test.c (example_test): Add
950 a failure comment.
951 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
952 (failure_start): ...this. Check that malloc succeeded.
953 Don't call xvasprintf. Return failure struct.
954 (failure_append_vtext): New function.
955 (failure_append_text): Likewise.
956 (add_failure): Likewise.
957 (grub_test_assert_helper): Likewise.
958 * include/grub/test.h (grub_test_assert_helper): New declaration.
959 (grub_test_assert): Macro rewritten.
960
961 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
964
965 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
968
969 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
972 into GRUB-style one.
973
974 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
975
976 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
977 error and not grub_errno.
978 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
979
980 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
983 GRUB_USB_SPEED_NONE in case of failure and not the error code.
984
985 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * grub-core/efiemu/i386/pc/cfgtables.c
988 (grub_machine_efiemu_init_tables): Make declaration a prototype.
989 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
990 (grub_xnu_unlock): Likewise.
991 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
992
993 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
996 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
997 * grub-core/commands/hashsum.c (aliases): Likewise.
998 * grub-core/commands/setpci.c (pci_registers): Likewise.
999 * grub-core/disk/usbms.c (attach_hook): Likewise.
1000 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
1001 (zio_checksum_table): Likewise.
1002 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
1003 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
1004 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
1005 * grub-core/lib/relocator.c (leftovers): Likewise.
1006 (extra_blocks): Likewise.
1007 * grub-core/loader/i386/bsd.c (relocator): Likewise.
1008 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
1009 (modules_last): Likewise.
1010 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
1011 (devices): Likewise.
1012 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
1013 (modules_last): Likewise.
1014 * grub-core/normal/auth.c (users): Likewise.
1015 * grub-core/normal/context.c (initial_menu): Likewise.
1016 (current_menu): Likewise.
1017 * grub-core/normal/crypto.c (crypto_specs): Likewise.
1018 * grub-core/term/serial.c (grub_serial_ports): Likewise.
1019 (grub_serial_terminfo_input_template): Likewise.
1020 (grub_serial_terminfo_output_template): Likewise.
1021 (grub_serial_terminfo_input): Likewise.
1022 (grub_serial_terminfo_output): Likewise.
1023 (registered): Likewise.
1024 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
1025
1026 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
1029 grub_video_mode_type_t.
1030 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
1031 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
1032 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
1033
1034 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * util/grub-install.in: Correct the x86-64 name as x86_64.
1037
1038 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
1039
1040 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
1041 initial chunk read from the kernel always includes GRUB's multiboot
1042 header, which is now outside the first sector.
1043
1044 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
1045
1046 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
1047 cached mmap_size, so that this works correctly when called multiple
1048 times.
1049 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
1050
1051 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
1052
1053 * docs/grub.texi (Simple configuration): Tidy up formatting.
1054
1055 2011-03-07 Szymon Janc <szymon@janc.net.pl>
1056
1057 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
1058 Set-but-not-used variable removed.
1059
1060 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 Workaround yet another IEEE1275 bug.
1063
1064 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1065 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
1066 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
1067 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
1068 is set.
1069 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1070 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
1071
1072 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
1075 error.
1076
1077 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
1078
1079 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
1080 empty, since in that case we can only generate either nothing or a
1081 syntactically invalid configuration file.
1082 Reported by: Michal Suchanek. Fixes Debian bug #612898.
1083
1084 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
1085
1086 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
1087 (Making a GRUB bootable CD-ROM): Likewise.
1088 (Invoking grub-mkrescue): New section.
1089 Reported by: Yann Dirson. Fixes Debian bug #612585.
1090
1091 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
1092
1093 * util/grub-install.in: Remove unnecessary brackets from tr
1094 arguments.
1095 * util/grub.d/10_hurd.in: Likewise.
1096 * util/grub.d/10_kfreebsd.in: Likewise.
1097 * util/grub.d/10_linux.in: Likewise.
1098 * util/grub.d/20_linux_xen.in: Likewise.
1099 Reported by: Jamie Heilman. Fixes Debian bug #612564.
1100
1101 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
1102
1103 * include/grub/file.h (not_easly_seekable): Rename to ...
1104 (not_easily_seekable): ... this. Update all users.
1105
1106 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
1107
1108 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
1109 grub-mkrescue.
1110
1111 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * util/grub-mkimage.c (generate_image): Refuse to create the images
1114 bigger than the actual flash (512K) in Loongson machines. 512K is also
1115 the biggest chip supported by them.
1116
1117 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
1120
1121 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
1122
1123 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
1124 super_offset field.
1125
1126 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * util/grub-install.in: Ignore install device on platforms
1129 where it doesn't make sense. Always use UUIDs except on pc, efi and
1130 sparc64.
1131 Reported by: Daniel Kahn Gillmor.
1132
1133 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
1136
1137 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
1140 (iterate_real): Don't rely on partition being non-NULL.
1141
1142 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
1145 supported platforms. Put a compile time assert for this rather than
1146 generate a warning with 32-bit shift.
1147
1148 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
1151 logical expression more readable.
1152
1153 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
1156 even if some elements have a name.
1157 Reported by: Alexander GQ Gerasiov.
1158
1159 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
1160
1161 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
1162 path unreadable if `grub-probe -t abstraction' fails, for example if
1163 memberlist fails on an LVM volume group.
1164 Reported by: Darius Jahandarie.
1165
1166 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
1167
1168 * docs/grub.texi (Simple configuration): Document
1169 GRUB_PRELOAD_MODULES.
1170
1171 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
1172
1173 * .bzrignore: Remove nonexistent grub-pbkdf2.
1174
1175 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * configure.ac: Bump version to 1.99~rc1.
1178
1179 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
1182 for safety.
1183
1184 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
1187 module.
1188
1189 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
1192
1193 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
1196 diskdevid.
1197
1198 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 Fix compilation on cygwin.
1201
1202 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
1203 -R .drectve on cygwin.
1204 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
1205 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
1206 (COND_CYGWIN): New condition.
1207 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
1208 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
1209 not @TARGET_OBJ2ELF@.
1210 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
1211 type to determine whether aux is to be used.
1212
1213 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
1216 realpath'ed device string.
1217 Handle floppy (somewhat).
1218 Issue error in unknown case rather than garbage.
1219 Reported by: Axel Beckert.
1220
1221 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * util/grub.d/00_header.in (load_video): Handle the case when no video
1224 drivers available.
1225 Thanks to: Axel Beckert.
1226
1227 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
1230 variable. Fixes problem on big endian platforms.
1231
1232 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
1235 It doesn't work well there.
1236
1237 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
1240 warning.
1241 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
1242 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
1243 counter.
1244
1245 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 Use alias->path rather than buggy "canon".
1248
1249 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
1250 (ofdisk_hash_add): New argument curcan. All users updated.
1251
1252 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
1253
1254 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
1255
1256 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
1259 loadmask before doing any calculations. Use correct type for offset.
1260 (grub_linux_load64): Likewise.
1261
1262 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
1263
1264 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
1265 with NULL.
1266 (console_grub_equivalences_unshift): Likewise.
1267 Reported by: Daniel Dehennin.
1268
1269 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
1272 (set_env_limn_ro): Likewise.
1273 (GRUB_MOD_INIT): Likewise.
1274 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
1275 ARRAY_SIZE while on it.
1276 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
1277 * grub-core/normal/context.c (grub_env_export): Move from here ...
1278 * grub-core/kern/env.c (grub_env_export): ... here.
1279 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
1280 prefix.
1281 * grub-core/kern/main.c (grub_main): Export root and prefix.
1282 * include/grub/env.h (grub_env_export): Export.
1283 Reported by: Seth Goldberg.
1284
1285 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1288 Take into account space used by ELF sections and multiboot palette.
1289 Reported by: Grégoire Sutre.
1290
1291 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * BUGS: New file.
1294
1295 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 Pass more appropriate video id to Linux.
1298
1299 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
1300 grub_video_get_driver_id and variable gfxpayloadforcelfb to
1301 fill have_vga.
1302 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
1303 shift params->lfb_size.
1304 * include/grub/i386/linux.h: Make an enume out of have_vga values.
1305
1306 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * util/grub-menulst2cfg.c: Add missing include of misc.h.
1309
1310 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
1313 separator and pass bootpath/devid even if only one of them is available.
1314 Reported by: Seth Goldberg.
1315
1316 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
1319 implementations bug on them.
1320
1321 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
1322 memory.
1323 (filter_memory_map): Likewise.
1324
1325 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
1328 Reported by: nebuchadnezzar.
1329
1330 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
1333 Reported by: nebuchadnezzar.
1334
1335 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 Submenu default support.
1338
1339 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
1340 auto_boot. All users updated.
1341 Declared static.
1342 Handle chosen and default with submenus.
1343 (grub_menu_execute_with_fallback): Declared static.
1344 Don't notify failure if autobooted. Upper level does it.
1345 (menuentry_eq): New function.
1346 (get_entry_number): Use menuentry_eq.
1347 (show_menu): New parameter "autobooted". All users updated.
1348 (grub_show_menu): Likewise.
1349 * include/grub/normal.h (grub_show_menu): Likewise.
1350 * include/grub/menu.h (grub_menu_execute_entry): Removed.
1351 (grub_menu_execute_with_fallback): Likewise.
1352
1353 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * util/grub-mklayout.c (usage): Update help text.
1356
1357 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
1360
1361 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 * util/grub-menulst2cfg.c (main): Trim the line.
1364
1365 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
1368 (grub_machine_init): Don't check amount of low memory as reportedly
1369 INT 12h can be broken and if low memory is too low we wouldn't have
1370 gotten into grub_machine_init anyway.
1371
1372 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
1375 (grub_machine_mmap_iterate): Take low memory into account
1376
1377 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
1380 badfs.
1381 Reported by: TiCPU.
1382
1383 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
1386 members errors.
1387
1388 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1389
1390 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
1391 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
1392
1393 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1394
1395 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
1396 openbsd and netbsd types being in part_bsd module.
1397
1398 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
1401 (_FILE_OFFSET_BITS): Likewise.
1402 Reported by: Seth Goldberg.
1403
1404 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1405
1406 * configure.ac: Check for libdevmapper header.
1407
1408 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
1411 avoid aliasing.
1412 (fzap_lookup): Likewise.
1413 (dnode_get): Likewise.
1414 (make_mdn): Likewise.
1415 (zfs_mount): Likewise.
1416 (fzap_iterate): Use temporary pointer to avoid aliasing.
1417 (grub_zfs_read): Likewise.
1418 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
1419 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
1420 pointers to avoid aliasing.
1421 (grub_cmd_xnu_kernel64): Likewise.
1422 (grub_xnu_load_driver): Likewise.
1423
1424 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
1427 aliasing warning.
1428 (grub_cmd_terminal_output): Likewise.
1429 Reported and tested by: Grégoire Sutre.
1430
1431 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
1434 warning.
1435 Reported and tested by: Grégoire Sutre.
1436
1437 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 * configure.ac: Do CPU substitution even if it's specified explicitly.
1440 Reported and tested by: Alain Greppin.
1441
1442 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
1445 Reported and tested by: Alain Greppin.
1446
1447 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 Satisfy some bison versions need for inttypes.h.
1450
1451 * grub-core/lib/posix_wrap/inttypes.h: New file.
1452 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
1453 (int16_t): Likewise.
1454 (int32_t): Likewise.
1455 (int64_t): Likewise.
1456 Reported and tested by: Alain Greppin.
1457
1458 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
1461 Silence spurious warning.
1462 Reported and tested by: Alain Greppin.
1463
1464 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1465
1466 * docs/grub.texi (Support automatic decompression): Update with xz
1467 decompression support.
1468
1469 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1470
1471 Improve loaders' kernel command line handling.
1472
1473 * grub-core/lib/cmdline.c: New file.
1474 * include/grub/lib/cmdline.h: Likewise.
1475 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
1476 grub_create_loader_cmdline to create kernel command line.
1477 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1478 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
1479 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
1480 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
1481 (linux): Add lib/cmdline.c on common.
1482
1483 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
1486 inopos might be unaligned.
1487
1488 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1491 endian transformations.
1492 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1493 Based on report by: Doug Nazar.
1494
1495 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
1496
1497 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
1498 array->members[i].start_sector.
1499 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1500
1501 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
1504 Reported and tested by: Grégoire Sutre.
1505
1506 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1507
1508 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
1509 avoid causing test failures by clearing the screen.
1510
1511 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1512
1513 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
1514 Fix prefix check to handle the case where dir ends with a slash
1515 (most significantly, "/" itself).
1516 Reported by: Michael Vogt.
1517
1518 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 Run terminfo_cls on initing terminfo output to clear the screen and
1521 move the cursor to (0,0).
1522
1523 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
1524 Call grub_terminfo_output_init.
1525 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
1526 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
1527 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
1528
1529 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
1532 only when needed.
1533
1534 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
1537 CTRL.
1538
1539 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 The E820 type 5 is BADRAM, not EXEC_CODE.
1542
1543 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1544 (GRUB_E820_BADRAM): New define.
1545 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
1546 into reserved. Propagate BADRAM.
1547 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1548 (GRUB_E820_BADRAM): New define.
1549
1550 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
1553 Ignore the memory post-4G.
1554 (grub_relocator_firmware_alloc_region): Additional debug statement.
1555
1556 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
1559 names.
1560 Reported by: David Pravec.
1561
1562 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
1565 BIOSes.
1566
1567 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
1570 Prevent overflow.
1571 (grub_reed_solomon_recover): Likewise.
1572
1573 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
1576
1577 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
1580 variable.
1581
1582 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
1583
1584 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
1585 descriptions of extract_legacy_entries_source and
1586 extract_legacy_entries_configfile.
1587 Reported by: Seung Soo, Ha.
1588
1589 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
1590
1591 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
1592 on devices that do not implement function 0.
1593
1594 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
1595
1596 * grub-core/fs/hfsplus.c: Make parent unsigned.
1597 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
1598 overflows.
1599 (grub_hfsplus_cmp_extkey): Likewise
1600
1601 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * util/grub-install.in: Correctly use bootloader_id and not
1604 GRUB_DISTRIBUTOR on efibootmgr line.
1605
1606 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
1609
1610 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
1611
1612 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
1613 Xen and reorder menu item wording to make it clearer that this entry
1614 will launch Xen. Print separate messages when loading Xen and
1615 Linux.
1616
1617 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
1620 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
1621 loop in case of incorrect amiga partmap.
1622
1623 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
1626 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
1627 Reported by:EHeM.
1628
1629 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
1632 spurious warning.
1633 Reported by: crocket
1634
1635 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
1638 Preload EFIemu.
1639 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
1640
1641 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
1644 is loaded
1645 (grub_cmd_xnu_kextdir): Likewise.
1646 (grub_cmd_xnu_splash): Likewise.
1647
1648 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 Avoid using Reed-Solomon with 0 redundancy.
1651
1652 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
1653 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
1654 or 0 redundancy.
1655 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
1656 (grub_reed_solomon_recover): Likewise.
1657
1658 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 Don't use disk subsystem in freebsd_boot.
1661
1662 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
1663 (freebsd_biosdev): Likewise.
1664 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
1665 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
1666
1667 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 Handling of files of unknown size is currently limited. They can't be
1670 used e.g. for initrd or modules. Moreover gzip handling of not
1671 easily seekable files is buggy. Disable unknown file size for now. May
1672 be inefficient but works.
1673
1674 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
1675 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1676
1677 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
1678
1679 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
1680 floppy probe.
1681
1682 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
1683
1684 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
1685
1686 2010-12-25 Shea Levy <shlevy>
1687
1688 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
1689
1690 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
1693 Windows Server 2008.
1694 Reported by: Devin Giddings.
1695
1696 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
1699 writing an error message because of async power management.
1700 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
1701 (grub_reboot): Likewise.
1702
1703 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
1704
1705 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
1706 keep unit tests from failing when they shouldn't.
1707
1708 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1709
1710 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
1711 previous patch increased the size of the RS code by 20 bytes (at
1712 least with gcc-4.4), so increase this by 20 bytes to match.
1713 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1714
1715 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1716
1717 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
1718 scratch area. Make sure to initialise chosen in standalone mode as
1719 well as non-standalone.
1720 Reported by: Robert Hooker and Andy Whitcroft.
1721 Tested by: Andy Whitcroft.
1722
1723 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1724
1725 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
1726 constructing a new unescaped string and passing it to grub_xputs in
1727 one go, rather than passing characters to grub_printf one at a time.
1728
1729 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1730
1731 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
1732 initialising utf16.
1733
1734 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1735
1736 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
1737 comment. Add an extra layer of quotation, requiring the output of
1738 this function to be used in a printf format string.
1739 (gettext_printf): New function.
1740 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
1741 Extract translatable strings from here-documents and use a temporary
1742 variable instead, so that xgettext can find them.
1743 * util/grub.d/10_kfreebsd.in: Likewise.
1744 * util/grub.d/10_linux.in: Likewise.
1745 * util/grub.d/20_linux_xen.in: Likewise.
1746
1747 * po/grub.d.sed: New file.
1748 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
1749 arguments. Set c-format flags on all strings extracted from
1750 util/grub.d/ (xgettext refuses to include these itself for strings
1751 it extracted from a shell file, but these really are c-format).
1752
1753 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
1756 Avoid next pointing to nowhere.
1757
1758 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
1761 rather than assuming than rootblock is exactly in the middle.
1762 (grub_affs_label): Likewise.
1763
1764 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
1767 reserved_first_sector to 0.
1768 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
1769 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
1770 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
1771
1772 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 Fix handling of UTF-16 UDF labels.
1775
1776 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
1777 (read_string): .. here.
1778 (grub_udf_label): Use read_string.
1779
1780 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
1781
1782 * grub-core/normal/menu_entry.c (run): Execute commands from menu
1783 editor under argument scope.
1784 Reported by: Jordan Uggla
1785
1786 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
1789
1790 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
1791
1792 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
1793 line, and other keys scroll an entire page (previous handling was
1794 for \r and \n to scroll a page and other keys to scroll two lines).
1795
1796 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1799 Set ptrdest to correct get_physical_target_address rather than
1800 incorrect get_virtual_current_address.
1801
1802 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
1803
1804 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
1805 correct cat to grub_uint8_t * rather than grub_uint32_t *.
1806
1807 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1808
1809 * .bzrignore: Ignore grub-core/rs_decoder.S.
1810
1811 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1812
1813 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
1814 .mo/.mo.gz opening sequence to ...
1815 (grub_mofile_open_lang): ... here.
1816 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
1817 * util/grub.d/00_header.in (grub_lang): Include country part of
1818 locale.
1819 Reported by: Mario Limonciello.
1820
1821 2010-12-09 Robert Millan <rmh@gnu.org>
1822
1823 * NEWS: Document addition of ZFS support.
1824
1825 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
1826
1827 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
1828 rather than `/ 2', as the latter requires -Wa,--divide which would
1829 require bumping our minimum binutils version.
1830
1831 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
1832
1833 * util/grub-script-check.c (main): Print script line number on
1834 error.
1835
1836 2010-12-01 Robert Millan <rmh@gnu.org>
1837
1838 * grub-core/fs/zfs/zfs.c: New file.
1839 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
1840 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
1841 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
1842 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1843
1844 * include/grub/zfs/dmu.h: Likewise.
1845 * include/grub/zfs/dmu_objset.h: Likewise.
1846 * include/grub/zfs/dnode.h: Likewise.
1847 * include/grub/zfs/dsl_dataset.h: Likewise.
1848 * include/grub/zfs/dsl_dir.h: Likewise.
1849 * include/grub/zfs/sa_impl.h: Likewise.
1850 * include/grub/zfs/spa.h: Likewise.
1851 * include/grub/zfs/uberblock_impl.h: Likewise.
1852 * include/grub/zfs/vdev_impl.h: Likewise.
1853 * include/grub/zfs/zap_impl.h: Likewise.
1854 * include/grub/zfs/zap_leaf.h: Likewise.
1855 * include/grub/zfs/zfs.h: Likewise.
1856 * include/grub/zfs/zfs_acl.h: Likewise.
1857 * include/grub/zfs/zfs_znode.h: Likewise.
1858 * include/grub/zfs/zil.h: Likewise.
1859 * include/grub/zfs/zio.h: Likewise.
1860 * include/grub/zfs/zio_checksum.h: Likewise.
1861
1862 * Makefile.util.def: Build ZFS into libgrubmods.
1863 * grub-core/Makefile.core.def: Build zfs.mod.
1864
1865 2010-11-30 Szymon Janc <szymon@janc.net.pl>
1866
1867 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
1868 variable.
1869 * grub-core/commands/wildcard.c (match_files): Likewise.
1870
1871 2010-11-30 Robert Millan <rmh@gnu.org>
1872
1873 * grub-core/loader/i386/bsd.c
1874 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
1875 whether kernel is loaded using grub_loader_is_loaded(), rather
1876 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
1877 certain error conditions.
1878
1879 2010-11-30 Robert Millan <rmh@gnu.org>
1880
1881 * grub-core/commands/echo.c: Include `<grub/term.h>'.
1882 (grub_cmd_echo): Call grub_refresh() after printing a message.
1883
1884 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 Avoid using tricks for initialising endian variables.
1887
1888 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
1889 Make const.
1890 (GRUB_MOD_INIT): Don't byte-swap.
1891 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1892 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
1893 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
1894 (grub_swap_bytes32_compile_time): Likewise.
1895 (grub_cpu_to_le32_compile_time): Likewise.
1896 (grub_cpu_to_le16_compile_time): Likewise.
1897
1898 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * util/grub-setup.c (setup): Stop recommending --force. People who
1901 understand the dangers of blocklists are able to find this option
1902 anyway and the ones who don't shouldn't use it anyway.
1903
1904 2010-11-26 Robert Millan <rmh@gnu.org>
1905
1906 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
1907 Update all users.
1908
1909 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
1910
1911 Fix LVM-on-RAID probing.
1912
1913 * util/grub-probe.c (probe): Remember which disk was detected as
1914 RAID (perhaps an LVM physical volume). Use that disk's raidname
1915 rather than that of the top-level disk.
1916
1917 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
1918
1919 Fix cmdline argument quotes for setparams command of menuentry
1920 definitions.
1921
1922 * grub-core/commands/menuentry.c (setparams_prefix): Use single
1923 quotes for arguments.
1924 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
1925 grub_strchrsub function instead.
1926
1927 * include/grub/misc.h (grub_strchrsub): New function.
1928
1929 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1930
1931 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
1932 effort by skipping "." and ".." entries up-front.
1933 Suggested by: Michael Lazarev.
1934
1935 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1936
1937 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
1938 ldflags to ldadd, to fix link line ordering.
1939 (none_decompress): Likewise.
1940
1941 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1942
1943 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
1944 platforms.
1945 (grub-emu-lite): Remove kern/emu/cache.S.
1946
1947 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1948
1949 * util/deviceiter.c (compare_devices): If the by-id link for a
1950 device couldn't be resolved, fall back to sorting by the by-id link
1951 rather than segfaulting.
1952 Reported and tested by: Daniel Mierswa.
1953
1954 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1955
1956 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
1957 ldflags, to fix link line ordering.
1958
1959 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1960
1961 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
1962 linkers are picky about this.
1963
1964 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1965
1966 * grub-core/Makefile.am (command.lst): Adjust sed expression
1967 ordering so that extended and priority commands aren't treated as
1968 ordinary commands.
1969
1970 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1971
1972 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1973 Remove byte-swapping function calls, which are not valid in
1974 structure initialisers.
1975 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
1976 non-const.
1977 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
1978 grub_gpt_partition_type_bios_boot.
1979
1980 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1981
1982 Fix test program build on GNU/kFreeBSD.
1983
1984 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
1985 $(LIBNVPAIR)' library dependencies.
1986
1987 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1988
1989 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
1990
1991 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1992
1993 * util/grub-install.in: Remove excessive quoting that broke
1994 installations to RAID devices.
1995
1996 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
1999 bootloader version instead of 0.
2000
2001 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
2004 warning.
2005
2006 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
2009 retrieve the metadat sector if size isn't known.
2010 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2011
2012 2010-11-18 Robert Millan <rmh@gnu.org>
2013
2014 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
2015 with grub_memcmp().
2016
2017 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
2020 arrow.
2021 Reported by: Jordan Uggla.
2022
2023 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 Make better UTF compliant.
2026
2027 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
2028 sequences as incorrect.
2029 (grub_is_valid_utf8): Likewise.
2030 (grub_utf8_to_ucs4): Likewise.
2031 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
2032 (grub_ucs4_to_utf8_alloc): Likewise.
2033 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
2034
2035 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 Make legacy_source behave like source.
2038
2039 * grub-core/commands/legacycfg.c (legacy_file): Don't call
2040 grub_show_menu.
2041 (grub_cmd_legacy_source): Call grub_show_menu if needed.
2042
2043 2010-11-16 Colin Watson <cjwatson@debian.org>
2044
2045 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
2046 (-Wunused implies -Wunused-parameter, but not vice versa).
2047
2048 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
2049
2050 * configure.ac: Make error messages less confusing by testing for
2051 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
2052 accepted, but produces a diagnostic if something else is wrong).
2053
2054 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
2057 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
2058 (now unused).
2059 (grub_keyboard_controller_init)
2060 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
2061 read the initial state since controller isn't inited yet.
2062
2063 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
2066 allocate_regbeg may need to create new chunk header.
2067
2068 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 Fix quoting in legacy parser.
2071
2072 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
2073 single quotes.
2074 (grub_legacy_parse): Likewise.
2075 Reported by: Jordan Uggla.
2076 Tested by: Jordan Uggla.
2077
2078 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 Don't add -lgcc on i386 and x86_64.
2081
2082 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
2083 * conf/Makefile.common (LDADD_KERNEL): Likewise.
2084 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
2085
2086 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * configure.ac: Add -Wno-trampolines when supported.
2089
2090 2010-11-14 Modestas Vainius <modax@debian.org>
2091
2092 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
2093 fakeraid.
2094
2095 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2096
2097 Add generic logical block size support for UDF.
2098
2099 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
2100 (GRUB_UDF_BLKSZ): Removed.
2101 (struct grub_udf_data): New field "lbshift" to hold the logical block
2102 size of the file system in log2 format. All users updated.
2103 (sblocklist): Change type to unsigned.
2104 (grub_udf_mount): Change type of "sblklist" to unsigned.
2105 Move AVDP search before VRS recognition, because the latter requires
2106 knowledge of the logical block size, which is detected during the
2107 former.
2108 Detect and validate logical block size during AVDP search, adding
2109 support for block sizes 512, 1024 and 4096.
2110 Make VRS recognition independent of block size.
2111
2112 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2113
2114 Properly handle deleted files on UDF.
2115
2116 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
2117 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
2118 set.
2119
2120 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2121
2122 Support reading files larger than 2 GiB.
2123
2124 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
2125 "offset" to grub_off_t.
2126 (grub_udf_read_file): Likewise for parameter "pos".
2127
2128 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
2131 unavailable.
2132 (Simple configuration): Refer to Changes from GRUB Legacy about
2133 save_env availability.
2134
2135 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * util/grub-install.in: Ignore empty partition table detection
2138 instead of trying to include part_ module.
2139
2140 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
2143 LVM on RAID support.
2144
2145 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 Properly define WORDS_BIGENDIAN in wrapped environments.
2148
2149 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
2150 definition.
2151 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
2152
2153 Reported by: Manoel Rebelo Abranches.
2154 Tested by: Manoel Rebelo Abranches.
2155
2156 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * util/grub-mkconfig.in: Fix quoting.
2159
2160 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 Support big ext2 files.
2163
2164 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
2165 (grub_ext2_read_block): Support triple indirect blocks.
2166 (grub_ext2_read_file): Use 64-bit types and read size_high.
2167 (grub_ext2_open): Read size_high.
2168 Reported by: Ximin Luo.
2169 Tested by: Manoel Rebelo Abranches.
2170
2171 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * util/grub-install.in: Handle filenames containing spaces.
2174 Reported by: Jordan Uggla.
2175 Tested by: Jordan Uggla.
2176
2177 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * util/grub-mkconfig.in (grub_script_check): New variable.
2180 Use grub_script_check instead of grub-script-check.
2181 Reported by: Barry Jackson.
2182
2183 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * docs/grub.texi (menu): Correct the order.
2186 Reported by: D. Hugh Redelmeier.
2187
2188 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
2191 jump.
2192
2193 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2194
2195 * include/grub/elfload.h (grub_elf32_size): New parameter.
2196 All users updated.
2197 Return maximum segments alignment.
2198 (grub_elf64_size): Likewise.
2199 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
2200 Return maximum segments alignment.
2201 (grub_elf64_size): Likewise.
2202 * grub-core/loader/powerpc/ieee1275/linux.c:
2203 (grub_linux_claimmap_iterate): New function. Uses the
2204 "available" property in the "memory" node for memory allocation
2205 for kernel in the PowerPC loader.
2206 (grub_linux_load32): Correctly find linux entry point offset.
2207 (grub_linux_load64): Likewise.
2208
2209 2010-11-07 Robert Millan <rmh@gnu.org>
2210
2211 On mips-yeeloong, build with -march=loongson2f when this flag is
2212 available (GCC >= 4.4).
2213 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
2214 `-march=mips3'.
2215 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
2216 or otherwise add -march=mips3.
2217
2218 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
2219
2220 Suppress shell expansion on echo '*' and echo "*" like cases.
2221 Reported by: Jordan Uggla.
2222
2223 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2224 string arguments before shell expansion.
2225 * tests/grub_cmd_echo.in: New testcases.
2226
2227 2010-11-07 Robert Millan <rmh@gnu.org>
2228
2229 * conf/mips-qemu-mips.rmk: Remove stale file from previous
2230 transition.
2231
2232 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * grub-core/kern/emu/hostdisk.c
2235 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
2236
2237 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
2240 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
2241 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
2242
2243 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
2246
2247 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * util/grub-install.in: Replace useless recomendation to pass
2250 --modules with a recomendation to report a bug.
2251
2252 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 Properly register serial terminfo.
2255 Reported by: Jordan Uggla
2256
2257 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
2258 const.
2259 (grub_serial_terminfo_output_template): Likewise.
2260 (grub_cmd_serial): Register "serial" with terminfo.
2261 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
2262 grub_serial_terminfo_output.
2263
2264 2010-11-05 Robert Millan <rmh@gnu.org>
2265
2266 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
2267 needed).
2268
2269 2010-11-05 Robert Millan <rmh@gnu.org>
2270
2271 On Yeeloong, pass machine type information to Linux.
2272
2273 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
2274 (LOONGSON_MACHTYPE): New macro, set to
2275 "machtype=lemote-yeeloong-2f-8.9inches".
2276 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
2277 additional argument to Linux.
2278
2279 2010-11-04 Robert Millan <rmh@gnu.org>
2280
2281 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
2282 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
2283 (its SATA disks are detected as slaveless IDE master drives on
2284 kFreeBSD).
2285 Reported by Carsten Aulbert.
2286
2287 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
2288
2289 * util/bin2h.c (main): Fix spelling error in generated output.
2290
2291 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
2292
2293 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
2294
2295 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
2298 vga= option is supplied.
2299
2300 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
2303 * util/grub.d/10_kfreebsd.in: Likewise.
2304 * util/grub.d/10_linux.in: Likewise.
2305 * util/grub.d/20_linux_xen.in: Likewise.
2306
2307 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
2310 argument as an argument to no-argument option.
2311
2312 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * util/grub.d/10_linux.in: Add missing load_video with explicit
2315 GRUB_GFXPAYLOAD_LINUX.
2316
2317 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
2320
2321 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
2324 elements with invlid index.
2325 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2326 * grub-core/disk/raid.c (insert_array): Automatically reallocate
2327 members.
2328 * include/grub/raid.h (grub_raid_member): New struct.
2329 (grub_raid_array): Transform devices and start_sector into usage of
2330 grub_raid_member. All users updated
2331 (allocated_devs): New member.
2332
2333 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
2336 is modified
2337
2338 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
2339
2340 NetBSD build fix for getline function conflict from gnulib.
2341
2342 * Makefile.util.def (libgrubkern.a): New library for grub kernel
2343 components that depend on gnulib headers.
2344 (libgrubmods.a): Renamed from earlier libgrub.a.
2345 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
2346
2347 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
2350 install rather than creating a broken install.
2351
2352 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * util/grub-setup.c (argp): Remove misleading example of installing to
2355 a partition.
2356
2357 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * util/grub-setup.c (setup): Clarify the error message.
2360
2361 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
2364
2365 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * grub-core/kern/emu/misc.c
2368 (grub_make_system_path_relative_to_its_root)
2369 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
2370
2371 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * grub-core/kern/emu/misc.c
2374 (grub_make_system_path_relative_to_its_root): Revert r2882.
2375
2376 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
2379 useless field head. All users updated.
2380 (free_subchunk): Correct handling of IN_REGION subchunk.
2381
2382 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
2383
2384 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
2385 (Supported kernels): Likewise.
2386
2387 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2388
2389 Make mktemp invocations portable.
2390
2391 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
2392 exit if mktemp fails.
2393 * tests/grub_script_blockarg.in: Likewise.
2394 * tests/partmap_test.in: Likewise.
2395 * tests/util/grub-shell-tester.in: Likewise.
2396 * tests/util/grub-shell.in: Likewise.
2397 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2398 * Makefile.am: Likewise, and chain shell commands with `&&'
2399 instead of ';'.
2400 * util/grub-mkrescue.in: Use the same explicit template as above, and
2401 exit if mktemp fails.
2402
2403 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
2404
2405 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
2406 Linux kernel, reported by Dennis Schridde.
2407
2408 2010-10-17 Szymon Janc <szymon@janc.net.pl>
2409
2410 * grub-core/normal/auth.c (grub_auth_check_authentication):
2411 Set-but-not-used variable removed.
2412
2413 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * docs/grub.texi (GNU/Linux): Document APM unavailability with
2416 32-bit linux protocol.
2417
2418 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
2421 cursor shape for sanity.
2422
2423 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * docs/grub.texi (Installation): Document buggy BIOS install.
2426
2427 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * docs/grub.texi (Installation): Indent.
2430
2431 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * util/grub-setup.c (setup): New parameter allow_floppy.
2434 (arguments): New member allow_floppy.
2435 (argp_parser): Handle --allow-floppy.
2436 (main): Pass allow_floppy.
2437 * util/grub-install.in: New option --allow-floppy passed though to
2438 grub-setup.
2439
2440 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * util/grub-install.in: Handle partitionless disks.
2443
2444 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * util/grub-setup.c (setup): Don't clean blocklists before readability
2447 verfification.
2448
2449 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * docs/grub.texi (Installation): Document embedding zone. Remove
2452 obsolete grub-install example.
2453
2454 2010-10-16 Szymon Janc <szymon@janc.net.pl>
2455
2456 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2457 Set-but-not-used variable ifdef'ed.
2458 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
2459 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
2460 variable removed.
2461 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
2462 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
2463 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2464 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
2465 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
2466 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2467 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
2468 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
2469 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2470 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
2471 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
2472 Likewise.
2473
2474 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
2477 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
2478 enum value.
2479
2480 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
2483 synonym to _S5_. Needed for some DSDTs.
2484
2485 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 Userspace ACPI parser debugging.
2488
2489 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
2490 headers and add relevant defines. Don't include standard headers.
2491 (main) [GRUB_DSDT_TEST]: New function.
2492 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
2493 Don't declare functions.
2494
2495 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 Remove dead grub_efi_mm_fini.
2498
2499 * grub-core/kern/efi/mm.c (allocated_page): Removed.
2500 (ALLOCATED_PAGES_SIZE): Likewise.
2501 (MAX_ALLOCATED_PAGES): Likewise.
2502 (allocated_pages): Likewise.
2503 (grub_efi_allocate_pages): Don't record allocated pages.
2504 (grub_efi_free_pages): Likewise.
2505 (grub_efi_mm_init): Likewise.
2506 (grub_efi_mm_fini): Removed.
2507
2508 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
2511 (grub_efi_mm_init): Take into account the memory map size increase.
2512
2513 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
2516 (serial_hw_put): Wait based on real time rather than port reads. Don't
2517 roken ports.
2518 * include/grub/serial.h (grub_serial_port): New field broken.
2519
2520 2010-10-16 Robert Millan <rmh@gnu.org>
2521
2522 * grub-core/kern/emu/misc.c
2523 (grub_make_system_path_relative_to_its_root): Fix premature return
2524 when processing non-root ZFS filesystems.
2525 Reported by Sergio Talens-Oliag.
2526
2527 2010-10-15 Robert Millan <rmh@gnu.org>
2528
2529 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
2530 guarantee compressed ones are processed first.
2531
2532 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
2535 grub_efiemu_autocore.
2536
2537 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
2540 rather than 0x1b.
2541 (grub_console_getkey): Use correct jae opcode rather than ja.
2542
2543 2010-10-12 Robert Millan <rmh@gnu.org>
2544
2545 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
2546 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
2547 variable. All references updated.
2548
2549 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
2550
2551 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 Correctly distinguish mdraid flavours.
2554
2555 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
2556 (insert_array): New argument raid.
2557 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
2558 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
2559 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
2560
2561 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
2564 handling of special keys.
2565
2566 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2567
2568 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
2569 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
2570
2571 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2572
2573 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
2574 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
2575 users updated.
2576 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
2577 Use right endpoint when querying descriptor.
2578
2579 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 Clear out 0x80 color bit on EFI.
2582 Tested by: decoder
2583 Reported by: decoder and meta tech.
2584
2585 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
2586 (grub_console_setcolorstate): Clear out 0x80 bit.
2587 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
2588 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
2589 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
2590
2591 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
2594 Set to "auto".
2595
2596 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
2599 mo_file after freeing.
2600
2601 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
2604
2605 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
2608 flags.
2609
2610 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
2613 usage.
2614
2615 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 Put terminfo into core on ieee1275 and yeeloong (needed for console).
2618
2619 * gentpl.py: New groups terminfoinkernel and terminfomodule.
2620 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
2621 and terminfo.h when needed.
2622 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
2623 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
2624 (terminfo): Enable only on terminfokernel.
2625 (extcmd): Likewise.
2626 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
2627 * include/grub/lib/arg.h: Likewise.
2628 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
2629 incorrect usage of ->.
2630
2631 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
2634 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
2635
2636 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 Fix coreboot compilation.
2639
2640 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2641 Take VBE info into account even if only text is supported.
2642 (fill_vbe_info): Take into account the case when only VGA text
2643 is supported.
2644 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
2645 on coreboot, multiboot and qemu.
2646
2647 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
2650 debug messages.
2651 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
2652
2653 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
2656 parameters.
2657
2658 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
2661 if they were BSD-style.
2662
2663 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * grub-core/boot/i386/pc/lnxboot.S: Replace
2666 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
2667 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
2668
2669 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 Write embedding zone using Reed-Solomon.
2672
2673 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
2674 * grub-core/Makefile.am (rs_decoder.S): New target.
2675 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
2676 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
2677 (multiboot): Move to RS part.
2678 (post_reed_solomon): New label.
2679 (grub_boot_drive): Move to non-RS part since it's modified in memory
2680 on boot.
2681 Include rs_decoder.S.
2682 * grub-core/lib/reed_solomon.c: New file.
2683 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
2684 New definition.
2685 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
2686 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
2687 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
2688 * include/grub/partition.h (grub_partition_map): Change prototype of
2689 embed to allow returning additional sectors.
2690 * include/grub/reed_solomon.h: New file.
2691 * util/grub-setup.c (setup): Handle Reed-Solomon.
2692
2693 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
2694
2695 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2696 i386 and x86-64 definedness tests.
2697
2698 2010-09-27 Yves Blusseau <blusseau@zetam.org>
2699
2700 Fix generation of kernel_syms.lst
2701
2702 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
2703 ASM_PREFIX
2704
2705 2010-09-26 Robert Millan <rmh@gnu.org>
2706
2707 Support degraded ZFS arrays in "grub-probe -t device" resolution.
2708
2709 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
2710 the pool is an array of devices, iterate through it and return the
2711 first device that passes a stat() test (instead of blindly returning
2712 the first one).
2713
2714 2010-09-26 Robert Millan <rmh@gnu.org>
2715
2716 Build fixes for GNU/kFreeBSD.
2717
2718 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
2719 to programs that require ZFS conversion.
2720 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
2721 kernels that don't have FLOPPY_MAJOR.
2722
2723 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2724
2725 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
2726
2727 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2728
2729 Fix grub-emu build.
2730
2731 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
2732 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
2733 mdraid09 and mdraid1x.
2734
2735 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
2736
2737 Re-enable grub-extras.
2738
2739 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
2740 avoid confusing Automake. Run autogen only twice, once for the top
2741 level and once for grub-core. Add Makefile.util.def and
2742 Makefile.core.def from extra modules to the appropriate autogen
2743 invocations. If Makefile.common exists in an extra module, include
2744 it in both Makefile.util.am and grub-core/Makefile.core.am;
2745 similarly, include any Makefile.util.common file in Makefile.util.am
2746 and any Makefile.core.common file in grub-core/Makefile.core.am.
2747 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
2748 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
2749 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
2750 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
2751
2752 * gentpl.py (gvar_add): Turn GVARS into a set.
2753 (global_variable_initializers): Sort global variables on output.
2754 (vars_init): New function.
2755 (first_time): Likewise.
2756 (library): Ensure that non-global variable initialisations are
2757 emitted before the first time we emit code for a library block.
2758 Append to variables rather than setting them. Only emit
2759 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
2760 each conditional path.
2761 (program): installdir() emits an Autogen macro, so must be passed to
2762 var_add rather than gvar_add.
2763 (data): Likewise.
2764 (script): Likewise.
2765 (rules): New function, centralising handling for different target
2766 types. Set up Guile association lists for first_time and vars_init,
2767 and send most output to a diversion so that variable initialisations
2768 can be emitted first.
2769 (module_rules): Use new rules function.
2770 (kernel_rules): Likewise.
2771 (image_rules): Likewise.
2772 (library_rules): Likewise.
2773 (program_rules): Likewise.
2774 (script_rules): Likewise.
2775 (data_rules): Likewise.
2776
2777 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
2778
2779 * .bzrignore: Add contrib and grub-core/contrib. Remove
2780 grub-core/Makefile.gcry.am.
2781
2782 2010-09-24 Yves Blusseau <blusseau@zetam.org>
2783
2784 * grub-core/lib/LzFind.c: Add missing include.
2785 * grub-core/lib/LzmaEnc.c: Likewise.
2786 * grub-core/script/lexer.c: Likewise.
2787 * grub-core/script/yylex.l: Likewise.
2788 * util/grub-macho2img.c: Likewise.
2789 * util/grub-menulst2cfg.c: Likewise.
2790 * util/grub-mklayout.c: Likewise.
2791 * util/grub-mkpasswd-pbkdf2.c
2792 * util/grub-mkrelpath.c: Likewise.
2793 * util/resolve.c: Likewise.
2794
2795 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
2796
2797 * Makefile.util.def (example_unit_test): Add
2798 grub-core/gnulib/libgnu.a.
2799
2800 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
2801
2802 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
2803
2804 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 Support xz compression on yeeloong.
2807
2808 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
2809 * configure.ac: Check for LZMA.
2810 * grub-core/Makefile.core.def (xz_decompress): New target.
2811 (none_decompress): Likewise.
2812 * grub-core/boot/decompressor/minilib.c: New file.
2813 * grub-core/boot/decompressor/none.c: Likewise.
2814 * grub-core/boot/decompressor/xz.c: Likewise.
2815 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
2816 * grub-core/kern/mips/cache_flush.S: Likewise.
2817 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
2818 * grub-core/kern/mips/startup.S: Move first stage to ...
2819 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
2820 nomacro.
2821 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
2822 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
2823 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
2824 Allocate statically.
2825 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
2826 Allocate statically or use scratch. Don't check CRC32.
2827 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
2828 Allocate statically. Don't check CRC32.
2829 * include/grub/decompressor.h: New file.
2830 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
2831 Removed.
2832 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
2833 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
2834 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
2835 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
2836 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
2837 * util/grub-mkimage.c (grub_compression_t): New type.
2838 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
2839 (image_target_desc): New field default_compression.
2840 (image_targets): Adjust yeeloong targets.
2841 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
2842 (compress_kernel): New parameter comp.
2843 (generate_image): Likewise. Handle new compression case.
2844 (options): New option --compression
2845 (help): Likewise.
2846 (main): Handle new option.
2847
2848 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
2849
2850 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
2851
2852 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
2853
2854 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2855 typo in __i386__ conditional.
2856
2857 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
2860 include.
2861
2862 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 Implement EFI and ACPI multiboot2 extensions.
2865
2866 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
2867 new tags as supported.
2868 (acpiv2_size): New function.
2869 (grub_multiboot_get_mbi_size): Take new tags into account.
2870 (grub_multiboot_make_mbi): Add new tags.
2871 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
2872
2873 2010-09-21 Aleš Nesrsta <starous@volny.cz>
2874
2875 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
2876 Added missing configuration of USB device.
2877
2878 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2879
2880 * grub-core/normal/menu_entry.c (run): Make sure we always return
2881 a value.
2882
2883 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2884
2885 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
2886 NumberOfPages is UINT64 according to the UEFI specification, not
2887 UINTN. Fix printf format.
2888
2889 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2890
2891 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
2892 `err' to grub_usb_err_t.
2893 Reported and tested by: KESHAV P.R.
2894
2895 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2896
2897 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
2898 tpart non-const, so that we can assign to it. (Since this is a
2899 typedef, the constness refers to the pointer rather than what it
2900 points to.)
2901
2902 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2903
2904 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
2905 $(top_srcdir)/grub-core/gnulib as well as
2906 $(top_builddir)/grub-core/gnulib.
2907 Reported by: KESHAV P.R.
2908
2909 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2910
2911 * util/grub-install.in: Fix the bootloader ID option to be
2912 consistently --bootloader-id, not --bootloader_id.
2913 Reported by: KESHAV P.R.
2914
2915 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2916
2917 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
2918 check hash checksum." consistently translatable.
2919
2920 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2921
2922 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
2923 $(top_builddir).
2924
2925 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2926
2927 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
2928 (GRUB_MOD_INIT): Register sha1sum command.
2929 (GRUB_MOD_FINI): Unregister sha1sum command.
2930
2931 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2932
2933 Keep boot and grub directory names in sync with utils scripts
2934
2935 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
2936 * config.h.in: Add previous macros.
2937 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
2938 * util/grub-install.in: Use $bootdir and $grubdir variables.
2939
2940 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2941
2942 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
2943 convert partition names to disk names if the new `convert' parameter
2944 is set.
2945 (grub_util_biosdisk_get_grub_dev): If opening the disk device
2946 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
2947 disk in its own right. This can happen with Xen disk images.
2948
2949 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2950
2951 * util/grub-editenv.c: Update strings to avoid warnings when generating
2952 grub.pot file.
2953 * util/grub-setup.c: Likewise.
2954
2955 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * configure.ac: Change version to 1.99~beta0.
2958
2959 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2962 Add BADRAM.
2963 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
2964 Likewise.
2965 * include/multiboot.h: Resynced with specification.
2966 * include/multiboot2.h: Likewise.
2967
2968 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2969
2970 Fix po directory handling.
2971
2972 * configure.ac: Create po/Makefile.in rather than po/Makefile.
2973 * grub-core/gnulib/Makefile.am: Import gettext module.
2974 * m4/gnulib-cache.m4: Likewise.
2975 * m4/gnulib-comp.m4: Likewise.
2976 * m4/gettext.m4: New file, from gnulib.
2977 * m4/glibc2.m4: Likewise.
2978 * m4/iconv.m4: Likewise.
2979 * m4/intdiv0.m4: Likewise.
2980 * m4/intl.m4: Likewise.
2981 * m4/intldir.m4: Likewise.
2982 * m4/intlmacosx.m4: Likewise.
2983 * m4/intmax.m4: Likewise.
2984 * m4/inttypes-pri.m4: Likewise.
2985 * m4/lcmessage.m4: Likewise.
2986 * m4/lib-ld.m4: Likewise.
2987 * m4/lib-link.m4: Likewise.
2988 * m4/lib-prefix.m4: Likewise.
2989 * m4/lock.m4: Likewise.
2990 * m4/nls.m4: Likewise.
2991 * m4/po.m4: Likewise.
2992 * m4/printf-posix.m4: Likewise.
2993 * m4/progtest.m4: Likewise.
2994 * m4/threadlib.m4: Likewise.
2995 * m4/uintmax_t.m4: Likewise.
2996 * m4/visibility.m4: Likewise.
2997 * po/Makefile.am: Remove.
2998 * po/Makefile.in.in: New file, from gettext.
2999 ($(DOMAIN).pot-update): Support POTFILES-shell.
3000 * po/Makevars: New file.
3001 * po/POTFILES-shell: Rename to ...
3002 * po/POTFILES-shell.in: ... this. Update.
3003 * po/POTFILES: Rename to ...
3004 * po/POTFILES.in: ... this. Update.
3005 * po/Rules-quot: New file, from gettext.
3006 * po/boldquot.sed: Likewise.
3007 * po/en@boldquot.header: Likewise.
3008 * po/en@quot.header: Likewise.
3009 * po/insert-header.sin: Likewise.
3010 * po/quot.sed: Likewise.
3011 * po/remove-potcdate.sin: Likewise.
3012
3013 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
3016
3017 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * util/grub.d/20_linux_xen.in: Use submenus.
3020
3021 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 Support submenus.
3024
3025 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
3026 parameter submenu. All users updated.
3027 * grub-core/normal/main.c (free_menu): Rename to ...
3028 (grub_normal_free_menu): ... this. Made global.
3029 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
3030 if requested.
3031 * grub-core/normal/menu_entry.c (screen): New field submenu.
3032 (make_screen): Set submenu.
3033 (run): Open new context if requested.
3034 * include/grub/menu.h (grub_menu_entry): New field submenu.
3035 * include/grub/normal.h (grub_normal_free_menu): New proto.
3036
3037 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 Menu entries extractor.
3040
3041 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
3042 variants.
3043 (GRUB_MOD_INIT): Register new variants.
3044 (GRUB_MOD_FINI): Unregister new variants.
3045 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
3046 into grub_cmd_legacy_source.
3047 (grub_cmd_legacy_source): Implement extractor variants.
3048 (GRUB_MOD_INIT): Register new variants.
3049 (GRUB_MOD_FINI): Unregister new variants.
3050 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
3051 as an extractor.
3052 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
3053 search as an extractor.
3054 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
3055 test as an extractor.
3056 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
3057 as an extractor.
3058 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
3059 (grub_env_new_context): New function.
3060 (grub_env_context_open): Likewise.
3061 (grub_env_extractor_open): Likewise.
3062 (grub_env_extractor_close): Likewise.
3063 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3064 grub_extractor_level.
3065 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
3066 * include/grub/env.h (grub_env_extractor_open): New proto.
3067 (grub_env_extractor_close): Likewise.
3068 * include/grub/normal.h (grub_extractor_level): New external variable.
3069
3070 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 Make cutmem accept a region specification.
3073 Suggested by: Samuel Thibault
3074
3075 * grub-core/mmap/mmap.c (parsemem): New function.
3076 (grub_cmd_cutmem): Handle new arguments.
3077
3078 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 New command cutmem.
3081
3082 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
3083 (GRUB_MOD_INIT): Register new command.
3084 (GRUB_MOD_FINI): Unregister new command.
3085
3086 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 Support some annoying BSD and Minix subpartitions.
3089
3090 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
3091 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3092 Properly handle concatenation.
3093 * grub-core/kern/device.c (grub_device_iterate): Likewise.
3094 * grub-core/normal/completion.c (iterate_partition): Likewise.
3095 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
3096 contain partition. All users updated.
3097 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
3098 struct.
3099 (grub_openbsdlabel_partition_map): Likewise.
3100 (bsdlabel_partition_map_iterate): Rename to ..
3101 (iterate_real): ... this. New arguments sector, freebsd and pmap.
3102 (bsdlabel_partition_map_iterate): New function.
3103 (netopenbsdlabel_partition_map_iterate): Likewise.
3104 (netbsdlabel_partition_map_iterate): Likewise.
3105 (openbsdlabel_partition_map_iterate): Likewise.
3106 (GRUB_MOD_INIT): Register new partmaps.
3107 (GRUB_MOD_FINI): Unregister new partmaps.
3108 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
3109 (grub_partition_msdos_iterate): ... this. All users updated.
3110 Don't support embedding other than in a minix partition.
3111 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
3112 proto.
3113 * include/grub/partition.h (grub_partition): New field msdostype.
3114 * util/grub-install.in: Handle openbsd and netbsd types being in
3115 part_bsd module.
3116
3117 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
3120
3121 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
3122 * grub-core/Makefile.core.def (mdraid): Renamed to ...
3123 (mdraid09): ... this.
3124 (mdraid1x): New module.
3125 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
3126 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
3127
3128 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
3131 vsprintf.
3132
3133 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3134
3135 * grub-core/commands/efi/lsefimmap.c: Correct header.
3136 * NEWS: Update.
3137
3138 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3139
3140 * util/grub-editenv.c (argp_parser): Don't pass translated strings
3141 as printf format strings; the translations might contain '%' which
3142 could cause a crash.
3143 (main): Likewise.
3144 * util/grub-fstest.c (argp_parser): Likewise.
3145 * util/grub-setup.c (argp_parser): Likewise.
3146 (main): Likewise.
3147
3148 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Use argp in grub-fstest.
3151
3152 * util/grub-fstest.c: Don't include getopt.h.
3153 Include argp.h.
3154 (root): New variable.
3155 (args_count): Likewise.
3156 (nparm): Likewise.
3157 (num_disks): Likewise.
3158 (images): Likewise.
3159 (cmd): Likewise.
3160 (debug_str): Likewise.
3161 (args): Likewise.
3162 (options): Transformed to argp.
3163 (usage): Removed.
3164 (main): Split argument parsing into ...
3165 (argp_parser): ... this. Changed to argp format.
3166 (argp): New variable.
3167 (main): Use argp_parse.
3168
3169 2010-09-20 Tristan Gingold <gingold@free.fr>
3170 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
3171 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/commands/efi/lsefimmap.c: New file.
3174 * grub-core/Makefile.core.def (lsefimmap): New module.
3175 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
3176
3177 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 Pause the execution (10s max) if any errors are displayed so the user
3180 has a chance to see them.
3181
3182 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
3183 (grub_print_error): Increment grub_err_printed_errors.
3184 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
3185 execution if any errors were displayed.
3186 (show_menu): Remove old code for pause.
3187 * grub-core/normal/menu_entry.c (run): Likewise.
3188 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
3189 users updated.
3190 (grub_normal_get_char_counter): Likewise.
3191 * include/grub/err.h (grub_err_printed_errors): New external variable.
3192 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
3193
3194 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 Support multiboot VBE info.
3197
3198 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3199 Take VBE info into account.
3200 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
3201 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3202 Call fill_vbe_info when appropriate.
3203 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
3204 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
3205 as supported.
3206 (grub_multiboot_get_mbi_size): Take new tags into account.
3207 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
3208 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3209 Call fill_vbe_tag when appropriate.
3210 (grub_multiboot_make_mbi): Properly align tags.
3211 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
3212 function.
3213 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
3214 proto.
3215 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
3216
3217 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 Suport manual terminal geometry specification.
3220
3221 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
3222 Save state in grub_ofconsole_terminfo_output.
3223 (grub_ofconsole_term): Use grub_terminfo_getwh.
3224 (grub_ofconsole_getwh): Removed.
3225 * grub-core/term/serial.c (grub_serial_getwh): Removed.
3226 (grub_serial_term): Use grub_terminfo_getwh.
3227 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
3228 (options): New struct.
3229 (OPTION_*): New enum.
3230 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
3231 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
3232 width and height.
3233 (grub_terminfo_getwh): New proto.
3234 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
3235
3236 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 Handle legacy "terminal" command.
3239
3240 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
3241 and FLAG_TERMINAL.
3242 (legacy_commands): Add terminal and title.
3243 (grub_legacy_parse): Handle terminal. Simplify title handling.
3244
3245 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
3248 parameters overflow.
3249
3250 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3251
3252 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
3253 widthspec.h.
3254
3255 * docs/grub.texi (Shell-like scripting): Document `!'.
3256 (Network): Simplify using new i386-pc-pxe format. Mention
3257 grub-mknetdir.
3258
3259 * NEWS: Update.
3260
3261 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3262
3263 * Makefile.am (SUBDIRS): Restore "."; it's important to force
3264 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
3265 when needed.
3266
3267 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3268
3269 * grub-core/commands/efi/lsefisystab.c: Correct header.
3270 * grub-core/commands/efi/lssal.c: Likewise.
3271 * grub-core/commands/testload.c: Likewise.
3272
3273 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3274
3275 * util/grub-mkrescue.in: Add explicit root argument to --set to
3276 prevent the UUID being interpreted as an argument to --set (matches
3277 previous change to prepare_grub_to_access_device).
3278
3279 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3280
3281 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
3282 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
3283 the verbosity of later #ifs.
3284 (find_partition_start): Define this function on FreeBSD too.
3285 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
3286 function.
3287 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
3288 on FreeBSD.
3289
3290 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3291
3292 * util/grub-editenv.c: Use argp instead of getopt.
3293
3294 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3295
3296 * util/grub-setup.c: Use argp instead of getopt.
3297
3298 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3299
3300 Use gnulib-tool to create gnulib source files.
3301
3302 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
3303 grub-core/gnulib directories
3304 * .bzignore: Add **/.deps and autogenerated gnulib files
3305 * configure.ac: Assign auxiliary directory to build-aux, add invocation
3306 of gnulib macros, add grub-core/gnulib/Makefile
3307 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
3308 include m4 directory to aclocal.
3309 * Makefile.util.def: Remove direct compilation of gnulib source files
3310 and use the new grub-core/gnulib/libgnu.a.
3311 * build-aux/config.rpath: move config.rpath from top directory to
3312 build-aux
3313 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
3314 in gnulib headers
3315 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
3316 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
3317 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
3318 header.
3319 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
3320 string.
3321
3322 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3323
3324 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
3325 grub-core/genmod.sh and grub-core/gensyminfo.sh
3326
3327 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
3328
3329 Add a test for echo command options.
3330
3331 * tests/grub_cmd_echo.in: New test.
3332 * Makefile.util.def: Rules for new test.
3333
3334 2010-09-20 Szymon Janc <szymon@janc.net.pl>
3335
3336 Remove crc.mod and move crc command to hashsum.mod.
3337 Remove lib/crc.c - users updated to use gcrypt implementation.
3338
3339 * grub-core/commands/crc.c: Removed.
3340 * grub-core/Makefile.core.def (crc): Module removed.
3341 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
3342 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
3343 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
3344 * grub-core/lib/crc.c: Removed.
3345 * include/grub/lib/crc.h: Removed.
3346 * Makefile.util.def (crc): Remove lib/crc.c
3347 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
3348 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
3349 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
3350 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
3351 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
3352 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
3353
3354 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
3357
3358 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 Split config.h for util and core.
3361
3362 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
3363 (ADDR32): Likewise.
3364 (DATA32): Likewise.
3365 (BSS_START_SYMBOL): Likewise.
3366 (END_SYMBOL): Likewise.
3367 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
3368 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
3369 * config.h.in: New file.
3370 * configure.ac: Use config-util.h as config define file.
3371 Rename MACHINE into GRUB_MACHINE. All users updated.
3372 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
3373 updated.
3374 (NESTED_FUNC_ATTR): Likewise.
3375 Substitue new variables.
3376 (COND_HAVE_ASM_USCORE): New conditional.
3377 * grub-core/Makefile.am (ASM_PREFIX): New variable.
3378 (kernel_syms.lst): Use ASM_PREFIX.
3379 * grub-core/kern/emu/console.c: Include config-util.h.
3380 * grub-core/kern/emu/misc.c: Likewise.
3381 * grub-core/kern/emu/mm.c: Likewise.
3382 * include/grub/emu/misc.h: Likewise.
3383 * include/grub/libgcc.h: Likewise.
3384
3385 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
3388 constants usage.
3389 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
3390 Fix GRUB_TERM_KEY_* constants usage.
3391 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
3392
3393 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
3396 print pointer.
3397 * grub-core/bus/usb/uhci.c: Remove empty define.
3398 (grub_uhci_check_transfer): Add missing cast.
3399 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
3400 print pointer.
3401 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
3402 PRIuGRUB_SIZE.
3403 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
3404
3405 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * grub-core/Makefile.core.def (legacycfg): Add
3408 lib/i386/pc/vesa_modes_table.c on emu.
3409
3410 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3411
3412 Reduce number of temporary files generated by build system.
3413
3414 * grub-core/gencmdlist.sh: Removed.
3415 * grub-core/genfslist.sh: Removed.
3416 * grub-core/genhandlerlist.sh: Removed.
3417 * grub-core/genmodsrc.sh: Removed.
3418 * grub-core/genpartmaplist.sh: Removed.
3419 * grub-core/genparttoollist.sh: Removed.
3420 * grub-core/gentermiinallist.sh: Removed.
3421 * grub-core/genvideolist.sh: Removed.
3422
3423 * grub-core/genmod.sh.in: New file.
3424 * grub-core/gensyminfo.sh.in: New file.
3425
3426 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
3427 * conf/Makefile.extra-dist: Update with new files.
3428 * gentpl.py: Remove rules related to unnecessary temporary files.
3429 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
3430 and und-* files.
3431 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
3432 genmod.sh scripts.
3433 * grub-core/bus/usb/uhci.c: Remove empty #define.
3434 * grub-core/genmoddep.awk: Updated with new syminfo format.
3435 * util/bash-completion.d/Makefile.am: Add config.log to
3436 CLEANFILES.
3437
3438 2010-09-19 Yves Blusseau <blusseau@zetam.org>
3439
3440 * Makefile.util.def: Add forgotten $(LIBINTL) library.
3441
3442 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3443
3444 * util/grub-mkconfig.in: Check the config script for syntax errors
3445 before saving.
3446
3447 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
3448 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * Makefile.util.def (grub-install): Use util/grub-install.in on all
3451 platforms.
3452 * util/grub-install.in: Add EFI and IEEE1275 support.
3453 * util/i386/efi/grub-install.in: Removed.
3454 * util/ieee1275/grub-install.in: Likewise.
3455
3456 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
3459 (grub_cmd_cmosclean): Likewise.
3460 (GRUB_MOD_INIT): Register command cmosclean.
3461 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
3462 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
3463
3464 2010-09-18 Carles Pina i Estany <carles@pina.cat>
3465 2010-09-18 Aleš Nesrsta <starous@volny.cz>
3466 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 Add keyboard layouts support.
3469
3470 * Makefile.util.def (grub-mklayout): New file.
3471 (grub-kbdcomp): New script.
3472 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
3473 Add keyboard_layouts.h.
3474 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
3475 commands/boot.c on yeeloong.
3476 (keylayouts): New module.
3477 * grub-core/bus/usb/ohci.c
3478 * grub-core/bus/usb/uhci.c
3479 * grub-core/bus/usb/usbhub.c (rescan): New variable.
3480 (grub_usb_add_hub): Poll interrupt pipe for device handling.
3481 (attach_root_port): Likewise.
3482 (poll_nonroot_hub): Likewise.
3483 (grub_usb_poll_devices): Likewise.
3484 (detach_device): Close transfer.
3485 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
3486 function.
3487 (grub_usb_bulk_setup_readwrite): Likewise.
3488 (grub_usb_bulk_finish_readwrite): Likewise.
3489 * grub-core/commands/keylayouts.c: New file.
3490 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
3491 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
3492 aliases.
3493 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
3494 support scancode 2.
3495 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
3496 * include/grub/keyboard_layouts.h: New file.
3497 * util/grub-mklayout.c: New file.
3498 * util/grub-kbdcomp.in: Likewise.
3499
3500 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 Unify memory types.
3503
3504 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
3505 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
3506 types.
3507 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
3508 (grub_upper_mem): Likewise.
3509 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
3510 * include/grub/memory.h (grub_memory_type_t): New enum.
3511 All users updated.
3512
3513 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * grub-core/Makefile.core.def (lsapm): New module.
3516 * grub-core/commands/i386/pc/lsapm.c: New file.
3517 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
3518 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
3519 Likewise.
3520 * include/grub/i386/pc/apm.h: New file.
3521 * include/multiboot.h (multiboot_apm_info): New struct.
3522
3523 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 GRUB-legacy configuration file support.
3526
3527 * Makefile.util.def (grub-menulst2cfg): New util.
3528 * docs/man/grub-menulst2cfg.h2m: New file.
3529 * grub-core/Makefile.core.def (legacycfg): New module.
3530 * grub-core/commands/legacycfg.c: New file.
3531 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
3532 (grub_normal_add_menu_entry): ... this.
3533 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
3534 (grub_normal_set_password): ...this.
3535 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
3536 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
3537 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
3538 * grub-core/lib/legacy_parse.c: New file.
3539 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
3540 * include/grub/i386/pc/vesa_modes_table.h: New file.
3541 * include/grub/legacy_parse.h: Likewise.
3542 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
3543 * util/grub-menulst2cfg.c: New file.
3544
3545 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3546
3547 * grub-core/kern/emu/hostdisk.c
3548 (convert_system_partition_to_system_disk): Initialise node.
3549
3550 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3551
3552 * grub-core/kern/emu/hostdisk.c
3553 (convert_system_partition_to_system_disk): Fix devmapper memory pool
3554 leak.
3555 Reported and based on patch by: Modestas Vainius.
3556
3557 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3558
3559 Fix DM-RAID probing with recent versions of device-mapper udev
3560 rules.
3561
3562 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
3563 canonicalise device paths under /dev/mapper/.
3564 (convert_system_partition_to_system_disk): Compare the
3565 uncanonicalised path to /dev/mapper/ rather than the canonicalised
3566 path, since device nodes under /dev/mapper/ are often symlinks.
3567
3568 2010-09-17 Yves Blusseau <blusseau@zetam.org>
3569
3570 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
3571
3572 2010-09-16 Yves Blusseau <blusseau@zetam.org>
3573
3574 * configure.ac: Avoid some annoying error messages if freetype-config
3575 program is not found.
3576
3577 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3578
3579 Support RAID on virtio devices, and others.
3580
3581 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
3582 Rename to ...
3583 [__MINGW32__] (grub_find_device): ... this.
3584 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
3585 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
3586 reasonable default if dir is NULL.
3587 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
3588 ...
3589 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
3590 (grub_guess_root_device): Update callers.
3591 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
3592
3593 * util/raid.c (grub_util_getdiskname): Remove.
3594 (grub_util_raid_getmembers): Use grub_find_device rather than
3595 grub_util_getdiskname.
3596
3597 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3598
3599 * docs/grub.texi (serial): Remove obsolete comment about GRUB
3600 needing to be compiled with serial support.
3601 (ls): Indicate that multiple files are accepted.
3602 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
3603 indicate that multiple files are accepted.
3604
3605 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3606
3607 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
3608 libgrub_a_init.c, and util/bash-completion.d/grub.
3609
3610 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * util/grub-setup.c (setup): Fix incorrect container semantics.
3613
3614 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
3617 misusage.
3618 Reported by: J. Nick Terry
3619
3620 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 Move embedding routines to partmap sources files.
3623
3624 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
3625 [GRUB_UTIL]: New variable.
3626 (gpt_partition_map_iterate): Set part.parent.
3627 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
3628 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
3629 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
3630 New function.
3631 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
3632 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
3633 (grub_partition_map) [GRUB_UTIL]: New field embed.
3634 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
3635 (setup): Use ->embed.
3636
3637 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
3640 function.
3641 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
3642 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
3643
3644 2010-09-15 Yves Blusseau <blusseau@zetam.org>
3645
3646 Add function to get completions from usage.
3647
3648 * util/bash-completion.d/grub-completion.bash.in: Add function to get
3649 completions from usage. Use LC_ALL=C to get options properly.
3650
3651 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * grub-core/gnulib/basename-lgpl.c: Imported.
3654 * grub-core/gnulib/basename.c: Likewise.
3655 * grub-core/gnulib/dirname-lgpl.c: Likewise.
3656 * grub-core/gnulib/dirname.c: Likewise.
3657 * grub-core/gnulib/dirname.h: Likewise.
3658 * grub-core/gnulib/stripslash.c: Likewise.
3659
3660 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/gnulib/error.c: Resynced.
3663 * grub-core/gnulib/getopt.c: Likewise.
3664 * grub-core/gnulib/getopt_int.h: Likewise.
3665 * grub-core/gnulib/regex.h: Likewise.
3666 * grub-core/gnulib/regex_internal.c: Likewise.
3667 * grub-core/gnulib/regex_internal.h: Likewise.
3668
3669 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3670
3671 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
3672 CRC calculations and validity checks.
3673 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
3674 calculations.
3675
3676 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3677
3678 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
3679
3680 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 Fix incorrect echo options handling.
3683 Reported by: Yves Blusseau.
3684
3685 * include/grub/command.h (grub_command_flags_t): New flags
3686 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
3687 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
3688 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
3689
3690 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
3693 users updated.
3694 (GRUB_COMMAND_FLAG_MENU): Likewise.
3695 (GRUB_COMMAND_FLAG_BOTH): Likewise.
3696 (GRUB_COMMAND_FLAG_TITLE): Removed.
3697 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
3698 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
3699 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
3700 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
3701 (grub_command_flags_t): New enum. All users updated.
3702
3703 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
3704
3705 Fix solaris compilation.
3706
3707 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
3708 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
3709 (grub-emu-list): Likewise.
3710
3711 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 Remove deprecated root command.
3714
3715 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
3716 updated.
3717
3718 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * util/i386/pc/grub-setup.c: Merge this ...
3721 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
3722 * util/grub-setup.c: ... into this.
3723 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
3724 New struct.
3725
3726 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
3729 possible.
3730
3731 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
3734 allocate p.
3735
3736 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3739 explicit root argument to set to prevent UUID to be interpreted as
3740 argument to set.
3741
3742 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
3745
3746 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 Don't export grub_gate_a20.
3749
3750 * grub-core/kern/i386/pc/init.c: Remove leftovers.
3751 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
3752 to ...
3753 (grub_gate_a20): ... this. All users updated.
3754 * include/grub/i386/pc/init.h: Removed. All users updated.
3755
3756 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 Create euro.pf2 which supports most European languages.
3759
3760 * Makefile.am (grubdata_DATA): Add euro.pf2.
3761 (euro.pf2): New target.
3762 (CLEANFILES): Add euro.pf2.
3763
3764 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * configure.ac: Disable emu-usb by default to prevent inadvertent
3767 device takeover.
3768
3769 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 Disable usbserial on grub-emu since our libusb code isn't good enough
3772 yet.
3773
3774 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
3775 (usbserial_pl2303): Likewise.
3776 (usbserial_ftdi): Likewise.
3777
3778 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * include/grub/disk.h (grub_disk): Remove has_partitions.
3781 All users updated.
3782 * disk/loopback.c (grub_loopback): Remove has_partitions.
3783 All users updated.
3784 (options): Remove partitions. All users updated.
3785 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
3786 * util/i386/pc/grub-setup.c (setup): copy partition table only when
3787 actual partition table is found.
3788
3789 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 Remove readability checks (too many false negatives).
3792
3793 * util/grub-install.in: Remove readability checks.
3794 * util/grub-mkconfig.in: Likewise.
3795 * util/grub.d/10_hurd.in: Likewise.
3796 * util/grub.d/10_kfreebsd.in: Likewise.
3797 * util/grub.d/10_linux.in: Likewise.
3798 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
3799 way.
3800
3801 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3802
3803 Enable acpi shutdown on all ACPI platforms.
3804
3805 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
3806 on coreboo, multiboot and EFI.
3807 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
3808 (grub_acpi_halt): Likewise.
3809 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
3810 (grub_cmd_halt): Don't call grub_acpi_halt directly.
3811 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
3812 * grub-core/lib/i386/halt.c (grub_halt)
3813 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
3814
3815 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
3818 context.
3819
3820 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * grub-core/video/efi_gop.c: Fix over-80-chars line.
3823 * grub-core/video/efi_uga.c: Likewise.
3824
3825 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 Filter devaliases and never open same device twice.
3828
3829 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
3830 (last_ihandle): Likewise.
3831 (ofdisk_hash_ent): New member shortest.
3832 (ofdisk_hash_add): Add canonical path too.
3833 (scan): New function.
3834 (grub_ofdisk_iterate): Iterate over hashed entries.
3835 (compute_dev_path): Don't add :0.
3836 (grub_ofdisk_open): Don't really open the disk.
3837 (grub_ofdisk_close): Avoid closing unrelated disk.
3838 (grub_ofdisk_read): Implement reopen logic.
3839 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
3840 New function.
3841 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
3842 New proto.
3843
3844 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 Fix sparc64.
3847
3848 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
3849 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
3850 right address. Add sparc64_ieee1275_ldflags.
3851 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
3852 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
3853 to grub_host_to_target_addr
3854 (load_image): Likewise.
3855
3856 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/normal/completion.c (complete_file): Handle device
3859 containing slash.
3860 Fix based on patch by Doug Nazar.
3861
3862 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 grub-mknetdir script.
3865
3866 * Makefile.util.def (grub-mknetdir): New module.
3867 * tests/util/grub-shell.in: Support boot=net
3868 * util/grub-mknetdir.in: New file.
3869
3870 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 videoinfo on non-vbe.
3873
3874 * grub-core/Makefile.core.def (vbeinfo): Removed.
3875 (vbetest): Removed.
3876 (videoinfo): New module.
3877 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
3878 * grub-core/commands/i386/pc/vbetest.c: Removed.
3879 * grub-core/commands/videoinfo.c: New file.
3880 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
3881 specification.
3882 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
3883 as vbetest.
3884 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
3885 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
3886 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
3887 mode_number. New parameter mode. All users updated.
3888 (grub_video_gop_iterate): New function.
3889 (grub_video_efi_gop): New member iterate.
3890 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
3891 (grub_vbe_set_video_mode): Remove setting useless fields.
3892 (vbe2videoinfo): New function.
3893 (grub_video_vbe_iterate): Likewise.
3894 (grub_video_vbe_setup): Use vbe2videoinfo.
3895 (grub_video_vbe_print_adapter_specific_info): New function.
3896 (grub_video_vbe_adapter): New fields iterate and
3897 print_adapter_specific_info.
3898 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
3899 All users updated.
3900 (grub_video_mode_info): New field mode_number.
3901 (grub_video_adapter): New fields iterate and
3902 print_adapter_specific_info.
3903
3904 2010-09-13 Tristan Gingold <gingold@free.fr>
3905 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
3906 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 * grub-core/commands/efi/lsefisystab.c: New file.
3909 * grub-core/commands/efi/lssal.c: Likewise.
3910 * grub-core/Makefile.core.def (lsacpi): New module.
3911 (lsefisystab): Likewise.
3912 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
3913 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
3914 (grub_efi_sal_system_table): New struct.
3915 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
3916 (grub_efi_sal_system_table_memory_descriptor): Likewise.
3917 (grub_efi_sal_system_table_platform_features): Likewise.
3918 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
3919 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
3920 (grub_efi_sal_system_table_ap_wakeup): Likewise.
3921 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
3922
3923 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 Support explicit user claim that a device is BIOS-visible.
3926
3927 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
3928 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
3929 * grub-core/kern/emu/hostdisk.c
3930 (convert_system_partition_to_system_disk): Support mdX.
3931 (find_system_device): New parameter add. All users updated.
3932 (grub_util_biosdisk_is_present): New function.
3933 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
3934 proto.
3935
3936 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 Search hints support.
3939
3940 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
3941 All users updated.
3942
3943 2010-09-13 Yves Blusseau <blusseau@zetam.org>
3944
3945 Bash completion script for util commands
3946
3947 * Makefile.am: Add util/bash-completion.d directory
3948 * configure.ac: Likewise.
3949 * util/bash-completion.d/Makefile.am: New file.
3950 * util/bash-completion.d/grub-completion.bash.in: Likewise.
3951
3952 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
3955 (print_backlog): set backlog_ucs4 and backlog_glyphs.
3956 Reported by: Yves Blusseau.
3957
3958 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
3961 partition size and offset.
3962
3963 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
3966
3967 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
3970
3971 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
3974 (grub_xvasprintf): Likewise.
3975
3976 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
3979
3980 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
3983 args ending with NULL.
3984
3985 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
3988 pointer.
3989
3990 2010-09-11 Szymon Janc <szymon@janc.net.pl>
3991
3992 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
3993
3994 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 Shutdown using ACPI.
3997
3998 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
3999 * grub-core/commands/acpihalt.c: New file.
4000 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
4001 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
4002 (grub_acpi_halt): New proto.
4003 (GRUB_ACPI_SLP_EN): New const.
4004 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
4005 (GRUB_ACPI_OPCODE_*): New enum.
4006 (GRUB_ACPI_EXTOPCODE_*): Likewise.
4007
4008 2010-09-11 Tristan Gingold <gingold@free.fr>
4009 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
4010 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * commands/lsacpi.c: New file.
4013 * grub-core/Makefile.core.def (lsacpi): New module.
4014 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
4015 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
4016 (grub_acpi_madt_entry_header): New struct.
4017 (grub_acpi_madt): Likewise.
4018 (grub_acpi_madt_entry_interrupt_override): Likewise.
4019 (grub_acpi_madt_entry_sapic): Likewise.
4020 (grub_acpi_madt_entry_lsapic): Likewise.
4021 (grub_acpi_madt_entry_platform_int_source): Likewise.
4022 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
4023 (PRIuGRUB_UINT32_T): Likewise.
4024 (PRIxGRUB_UINT64_T): Likewise.
4025
4026 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 Implement loading palette on ieee1275_fb.
4029
4030 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
4031 (have_setcolors): Likewise.
4032 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
4033 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
4034 (grub_video_ieee1275_set_palette): Implement.
4035
4036 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4037 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
4038
4039 * util/grub-install.in (grub_partition): New variable.
4040 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
4041 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
4042 Fixes a bug reported by Yves Blusseau.
4043
4044 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 Fix emu on mipsel.
4047
4048 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
4049 =grub_cpu_flush_cache on all mips and not only yeeloong.
4050 * configure.ac (COND_mips): New conditional.
4051 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
4052 platforms.
4053 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
4054 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
4055 [GRUB_LINKER_HAVE_INIT]: New function.
4056 (grub_emu_post_init): Likewise.
4057 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
4058 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
4059 * include/grub/cache.h (_mips): Include mips/cache.h.
4060 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
4061 LVM and RAID prototypes.
4062 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
4063 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
4064 function.
4065
4066 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
4067
4068 * util/grub-install.in: Don't try to verify core.img until after
4069 running grub-mkimage to create it.
4070
4071 2010-09-10 Robert Millan <rmh@gnu.org>
4072
4073 * util/grub.d/10_hurd.in: Add misc readability checks.
4074 * util/grub.d/10_kfreebsd.in: Likewise.
4075 * util/grub.d/10_linux.in: Likewise.
4076
4077 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
4078
4079 * util/grub-install.in: ${imgext} won't be defined here until the
4080 install branch is merged. For the meantime, only verify core.img on
4081 i386-pc and sparc64-ieee1275 platforms.
4082
4083 2010-09-10 Robert Millan <rmh@gnu.org>
4084
4085 Solaris support in grub_find_zpool_from_dir(). Thanks
4086 Seth Goldberg for referring to getextmntent() facility.
4087
4088 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
4089 `sys/mkdev.h'.
4090 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
4091 `<sys/mnttab.h>'.
4092 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
4093 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
4094 method for finding zpool name.
4095
4096 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
4097
4098 grub-fstest needs the host and hostfs modules while other utilities
4099 actively require those modules to be absent, so grub-fstest needs
4100 its own initialisation and finalisation code.
4101
4102 * Makefile.am (grub_fstest.pp): New target.
4103 (grub_fstest_init.lst): Likewise.
4104 (grub_fstest_init.c): Likewise.
4105 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
4106
4107 2010-09-10 Robert Millan <rmh@gnu.org>
4108
4109 * configure.ac: Check for `struct statfs.f_fstypename' and
4110 `struct statfs.f_mntfromname'.
4111
4112 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
4113 kFreeBSD-specific code.
4114
4115 2010-09-10 Robert Millan <rmh@gnu.org>
4116
4117 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
4118 on ZFS. Now non-main filesystems are supported as / too.
4119
4120 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
4121
4122 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
4123 and grub-core/disk/host.c to ...
4124 (grub-fstest): ... here. Having the host disk implementation
4125 present confuses grub-probe and other utility programs.
4126
4127 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
4128 when writing to a file, not when writing to stdout.
4129
4130 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
4131
4132 * tests/partmap_test.in: New test for partitions.
4133 * Makefile.util.def: Rules for new test.
4134
4135 2010-09-09 Robert Millan <rmh@gnu.org>
4136
4137 * util/grub-probe.c (probe): Fix a pair of unhandled error
4138 conditions.
4139
4140 2010-09-09 Robert Millan <rmh@gnu.org>
4141
4142 Basic Btrfs support (detection and UUID).
4143
4144 * grub-core/fs/btrfs.c: New file.
4145 * Makefile.util.def (library): Register btrfs.c.
4146 * grub-core/Makefile.core.def: Likewise.
4147
4148 2010-09-08 Robert Millan <rmh@gnu.org>
4149
4150 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
4151 with (optional) parameters to specify device and relative path.
4152 * util/grub-install.in: Use is_path_readable_by_grub() to
4153 verify readability of a few critical files.
4154 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
4155 verify readability of grub.cfg.new.
4156
4157 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 Split minix.mod into minix.mod and minix2.mod.
4160
4161 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
4162 * grub-core/Makefile.core.def (minix2): New module.
4163 * grub-core/fs/minix.c: Use definitions instead of runtime version
4164 checking.
4165 * grub-core/fs/minix2.c: New file.
4166
4167 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4168
4169 Add new --boot-directory option to replace --root-directory
4170
4171 * util/grub-install.in: Add new --boot-directory option
4172 * util/grub-reboot.in: Likewise.
4173 * util/grub-set-default.in: Likewise.
4174
4175 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4176
4177 * util/grub-mkconfig.in: Use new variable.
4178
4179 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4180
4181 * configure.ac: Define some useful variables.
4182
4183 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4186 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
4187 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
4188 Use terminfo and don't use cursor-on/cursor-off unless it's known
4189 to work.
4190 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
4191 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
4192
4193 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
4194
4195 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
4196 starts with "(,", fill the drive containing the loaded image in
4197 between those two characters, but expect that a full partition
4198 specification including partition map names will follow.
4199
4200 2010-09-08 Robert Millan <rmh@gnu.org>
4201
4202 * configure.ac: Remove `--enable-grub-fstest' option.
4203 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
4204
4205 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
4206 `grub-fstest' instead of `grub-probe' for readability verification.
4207 * util/grub-probe.c (probe): Remove readability verification kludge.
4208
4209 2010-09-08 Robert Millan <rmh@gnu.org>
4210
4211 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
4212 initializing `GRUB_FS'.
4213
4214 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
4215
4216 Not command (!) support to GRUB script.
4217
4218 * tests/grub_script_not.in: New test.
4219 * Makefile.util.def: Rules for new test.
4220
4221 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
4222 ! command as a special case.
4223 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
4224
4225 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4226
4227 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
4228 grub_free.
4229
4230 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4231
4232 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
4233
4234 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4235
4236 * docs/grub.texi (Shell-like scripting): Documentation for break,
4237 continue, shift and return commands.
4238
4239 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 Rename CD-ROM to cd on BIOS.
4242
4243 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
4244 "cd".
4245 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
4246
4247 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
4250 * util/grub-probe.c (main): Likewise.
4251 * util/i386/pc/grub-setup.c (main): Likewise.
4252 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
4253 Reported and debugged by: alexxy
4254
4255 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
4258 diagnostic info.
4259
4260 2010-09-05 Jo Shields <directhex@apebox.org>
4261
4262 * util/grub.d/30_os-prober.in: Add missing classes.
4263
4264 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 * docs/grub.texi (Theme file format): Document new position format.
4267
4268 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
4271 a table. Use @code instead of @verbatim.
4272
4273 2010-09-05 Colin D Bennett <colin@gibibit.com>
4274
4275 Gfxmenu documentation.
4276
4277 * docs/grub.texi (Theme file format): New chapter.
4278
4279 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4280
4281 * grub-core/Makefile.core.def (xzio): New module.
4282 * grub-core/io/xzio.c: New file.
4283 * grub-core/lib/xzembed/xz.h: New file (from xembed).
4284 * grub-core/lib/xzembed/xz_config.h: Likewise.
4285 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
4286 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
4287 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
4288 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
4289 * grub-core/lib/xzembed/xz_private.h: Likewise.
4290 * grub-core/lib/xzembed/xz_stream.h: Likewise.
4291 * include/grub/file.h (grub_file_filter_id): New compression filter
4292 GRUB_FILE_FILTER_XZIO.
4293
4294 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
4297 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
4298 size.
4299
4300 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
4303 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
4304
4305 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 Uncompressed checksum support.
4308
4309 * grub-core/commands/hashsum.c (options): Add option --uncompress.
4310 (check_list): New parameter uncompress.
4311 (grub_cmd_hashsum): Handle --uncompress.
4312
4313 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 Reintroduce testload.
4316
4317 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
4318 from here ...
4319 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
4320 (GRUB_MOD_INIT): New function.
4321 (GRUB_MOD_FINI): Likewise.
4322 * grub-core/Makefile.core.def (testload): New module.
4323
4324 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4325
4326 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
4327 (uint8_t): New type.
4328 (uint16_t): Likewise.
4329 (uint32_t): Likewise.
4330 (uint64_t): Likewise.
4331
4332 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4333
4334 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
4335
4336 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
4339 Made static.
4340 (grub_gzfile_open): Removed. All users updated.
4341 (GRUB_MOD_INIT): New function.
4342 (GRUB_MOD_FINI): Likewise.
4343 * grub-core/kern/file.c (grub_file_filters_all): New variable.
4344 (grub_file_filters_enabled): Likewise.
4345 (grub_file_open): Handle filters.
4346 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
4347 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
4348 * include/grub/file.h (grub_file_filter_id_t): New type.
4349 (grub_file_filter_t): Likewise.
4350 (grub_file_filters_all): New extern variable.
4351 (grub_file_filters_enabled): Likewise.
4352 (grub_file_filter_register): New inline function.
4353 (grub_file_filter_unregister): Likewise.
4354 (grub_file_filter_disable): Likewise.
4355 (grub_file_filter_disable_compression): Likewise.
4356 * include/grub/gzio.h: Removed.
4357
4358 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4359
4360 Filename expansion support for wildcards in GRUB script.
4361
4362 * tests/grub_script_expansion.in: New test.
4363 * Makefile.util.def: Rule for new test.
4364
4365 * grub-core/commands/wildcard.c: New file, implements filename
4366 expansion support for GRUB script.
4367 * grub-core/Makefile.core.def: Rule update for regexp.mod.
4368 * grub-core/script/argv.c: Cosmetic changes.
4369 * grub-core/script/execute.c (grub_script_arglist_to_argv):
4370 Refactored to perform wildcard expansion on arguments.
4371 * include/grub/script_sh.h (grub_script_wildcard_translator): New
4372 struct.
4373
4374 * tests/util/grub-shell.in: Fix quoting for read input.
4375
4376 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4377
4378 Support for updating environment variables with matched substrings
4379 of regexp.
4380
4381 * tests/grub_cmd_regexp.in: New test.
4382 * Makefile.util.def: Rule for new test.
4383
4384 * grub-core/commands/regexp.c: New option -s to update environment
4385 variables with regexp matches.
4386
4387 2010-09-04 Szymon Janc <szymon@janc.net.pl>
4388
4389 * include/grub/file.h (grub_file): New member not_easly_seekable.
4390 (grub_file_seekable): New inline function.
4391 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
4392 easily seekable.
4393 (grub_gzio_open): Set not_easly_seekable.
4394 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
4395 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
4396
4397 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4398
4399 Support for options to appear multiple times on cmdline.
4400
4401 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
4402 * grub-core/commands/extcmd.c: Support for repeatable option.
4403 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
4404 repeatable option support.
4405
4406 Refactor menuentry into a regular command.
4407
4408 * grub-core/commands/menuentry.c: New file, menuentry command
4409 implementation.
4410 * grub-core/Makefile.core.def: Rule update for normal.mod.
4411 * grub-core/normal/main.c: Moved menuentry creation to
4412 grub-core/commands/menuentry.c.
4413 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
4414 (grub_menu_execute_entry_real): Removed.
4415 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
4416 function.
4417 (grub_script_execute_menuentry): Removed.
4418 * grub-core/script/parser.y (menuentry): Removed.
4419 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
4420 * grub-core/script/yylex.l (menuentry): Removed.
4421 * include/grub/menu.h (grub_menu_init): New prototype.
4422 (grub_menu_fini): New prototype.
4423 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
4424 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
4425 (grub_script_execute_sourcecode): New prototype.
4426
4427 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4428
4429 "return" command for GRUB script functions.
4430
4431 * tests/grub_script_return.in: New test.
4432 * Makefile.util.def: Rules for new test.
4433
4434 * grub-core/script/execute.c (grub_script_return): New function.
4435 * grub-core/script/main.c: Register/unregister return commaond.
4436 * include/grub/script_sh.h (grub_script_return): New prototype.
4437
4438 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4439
4440 "setparams" command to update positional parameters.
4441
4442 * tests/grub_script_setparams.in: New test.
4443 * Makefile.util.def: Rules for new test.
4444
4445 * grub-core/script/argv.c (grub_script_argv_make): New function.
4446 * grub-core/script/execute.c (replace_scope): New function.
4447 (grub_script_setparams): New function.
4448 * grub-core/script/lexer.c: Remove unused variables.
4449 * grub-core/script/main.c: Register/unregister setparams command.
4450 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
4451 (grub_script_setparams): New prototype.
4452
4453 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4454
4455 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
4456 grub_free order.
4457
4458 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4459
4460 Support for passing block of commands as an argument to extcmds.
4461
4462 * Makefile.util.def: Rules for new test.
4463 * tests/grub_script_blockarg.in: New test.
4464 * grub-core/tests/test_blockarg.c: New file, block argument
4465 command used in the test.
4466
4467 * include/grub/extcmd.h (grub_extcmd_context): New struct.
4468 (grub_register_extcmd_prio): New function prototype.
4469 (grub_extcmd_dispatcher): New function prototype.
4470 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
4471 type.
4472 * include/grub/script_sh.h (struct grub_script): New members
4473 `children', `next_siblings' and `refcnt' for block arguments and
4474 reference counting.
4475 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
4476 (grub_script_arg): New member `script' for block argument.
4477 (grub_script_argv): New member `script' for block argument.
4478 (grub_parser_param): New member `scripts' for block argument.
4479 (grub_script_mem_free): New extern function prototype.
4480 (grub_script_ref): New function prototype.
4481 (grub_script_unref): New function prototype.
4482
4483 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
4484 extcmd form to support block arguments.
4485 * grub-core/script/argv.c: Block arguments support.
4486 * grub-core/script/execute.c: Likewise.
4487 * grub-core/script/lexer.c: Likewise.
4488 * grub-core/script/main.c: Likewise.
4489 * grub-core/script/script.c: Likewise.
4490 * grub-core/script/parser.y: Likewise. New `block' and `block0'
4491 non-terminals.
4492
4493 * grub-core/commands/acpi.c: Update extcmd implementations with
4494 grub_extcmd_context_t.
4495 * grub-core/commands/cat.c: Likewise.
4496 * grub-core/commands/echo.c: Likewise.
4497 * grub-core/commands/extcmd.c: Likewise.
4498 * grub-core/commands/hashsum.c: Likewise.
4499 * grub-core/commands/hdparm.c: Likewise.
4500 * grub-core/commands/help.c: Likewise.
4501 * grub-core/commands/hexdump.c: Likewise.
4502 * grub-core/commands/i386/cpuid.c: Likewise.
4503 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4504 * grub-core/commands/i386/pc/halt.c: Likewise.
4505 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4506 * grub-core/commands/iorw.c: Likewise.
4507 * grub-core/commands/keystatus.c: Likewise.
4508 * grub-core/commands/loadenv.c: Likewise.
4509 * grub-core/commands/ls.c: Likewise.
4510 * grub-core/commands/lspci.c: Likewise.
4511 * grub-core/commands/memrw.c: Likewise.
4512 * grub-core/commands/probe.c: Likewise.
4513 * grub-core/commands/search_wrap.c: Likewise.
4514 * grub-core/commands/setpci.c: Likewise.
4515 * grub-core/commands/sleep.c: Likewise.
4516 * grub-core/disk/loopback.c: Likewise.
4517 * grub-core/hello/hello.c: Likewise.
4518 * grub-core/loader/i386/bsd.c: Likewise.
4519 * grub-core/loader/xnu.c: Likewise.
4520 * grub-core/term/gfxterm.c: Likewise.
4521 * grub-core/term/serial.c: Likewise.
4522 * grub-core/tests/lib/functional_test.c: Likewise.
4523
4524 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4525
4526 Multi-line quoted strings support.
4527
4528 * grub-core/script/lexer.c (append_newline): Removed.
4529 (grub_script_lexer_yywrap): Refactored.
4530 (grub_script_lexer_init): Refactored.
4531 * grub-core/script/yylex.l (yywrap): New function.
4532 (grub_lexer_resplit): New function.
4533 (grub_lexer_unput): New function.
4534 * include/grub/script_sh.h (grub_lexer_param): New members, unput
4535 and resplit.
4536 * tests/grub_script_echo1.in: Added few more testcases.
4537
4538 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * grub-core/kern/misc.c: Don't add abort alias in utils.
4541 Reported by: echoline.
4542
4543 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
4544
4545 Add missing files into "make dist" tarball for other platforms.
4546
4547 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
4548 * conf/Makefile.common (dist_noinst_DATA): New variable.
4549 * conf/Makefile.extra-dist: Added missing make dist files.
4550 * grub-core/Makefile.core.def: Likewise.
4551
4552 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 Compress grub_prefix.
4555
4556 * grub-core/boot/i386/pc/lnxboot.S: Use
4557 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
4558 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
4559 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
4560 GRUB_MACHINE_PREFIX_END. All users updated.
4561 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
4562 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
4563 + 0x40.
4564 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4565 * util/grub-mkimage.c (image_target_desc): Change data_end to
4566 prefix_end. All users updated.
4567
4568 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
4571 value.
4572 (grub_openbsd_boot): Likewise.
4573 (grub_netbsd_boot): Likewise.
4574 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
4575 (grub_xnu_boot): Likewise.
4576
4577 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * configure.ac: Clean LIBS variable after tests.
4580
4581 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4582
4583 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
4584
4585 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
4588 echo if libdevmapper will be used.
4589
4590 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
4591
4592 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
4593 constant for the same file.
4594
4595 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
4598
4599 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4600
4601 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
4602 grub-core/*.pp.
4603
4604 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4605
4606 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
4607 required by the boot protocol.
4608
4609 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
4610 ebp and edi members.
4611 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
4612 state.ebp and state.edi.
4613 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
4614 %ebp and %edi according to grub_relocator32_ebp and
4615 grub_relocator32_edi respectively.
4616 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
4617 and state.edi.
4618
4619 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 Add i386-pc-pxe image target.
4622
4623 * util/grub-mkimage.c (image_target_desc): New enum value
4624 IMAGE_I386_PC_PXE.
4625 (image_targets): New target i386-pc-pxe.
4626 (generate_image): Handle i386-pc-pxe image.
4627
4628 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 Fix grub_pxe_scan.
4631
4632 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
4633 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
4634 All users updated.
4635 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
4636 (grub_pxe_pxenv): Correct type.
4637
4638 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4639
4640 * NEWS: Document most of the important changes since 1.98.
4641
4642 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4643
4644 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
4645 generated manual page) a little.
4646
4647 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4648
4649 * docs/grub.texi: Add myself as an author.
4650
4651 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 * Makefile.util.def (libgrub.a): Add missing sunpc.
4654 Reported by: Seth Goldberg.
4655
4656 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 Interrupt wrapping and code simplifications.
4659
4660 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
4661 x86_noieee1275 which are functionaly equivalent in this case.
4662 (grub-install): Make source on each platform explicit. Enable on
4663 all noemu.
4664 * gentpl.py (x86_efi_pc): Removed group.
4665 (x86_noefi): Likewise.
4666 (i386_noefi): Likewise.
4667 (x86_noieee1275): Likewise.
4668 (i386_noieee1275): Likewise.
4669 (i386_noefi_noieee1275): Likewise.
4670 (i386_pc_qemu_coreboot): Likewise.
4671 (i386_coreboot_multiboot): Likewise.
4672 (i386_pc_coreboot_multiboot_qemu): Likewise.
4673 (x86_noefi_mips): Likewise.
4674 (noieee1275): Likewise.
4675 (ieee1275_mips): Likewise.
4676 (noemu_noieee1275): Likewise.
4677 (cmos): New group.
4678 (usb): Likewise.
4679 (videoinkernel): Likewise.
4680 (videomodules): Likewise.
4681 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
4682 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
4683 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
4684 include/grub/loader.h, include/grub/msdos_partition.h,
4685 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
4686 include/grub/machine/console.h, include/grub/machine/vga.h,
4687 include/grub/machine/vbe.h, include/grub/machine/init.h,
4688 include/grub/machine/kernel.h, include/grub/cpu/time.h,
4689 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
4690 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
4691 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
4692 * grub-core/Makefile.core.def (kernel): Explicit the source for
4693 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
4694 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
4695 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
4696 Use videoinkernel tag.
4697 (usb): Enable on all usb.
4698 (usbserial_common): Likewise.
4699 (usbserial_pl2303): Likewise.
4700 (usbserial_ftdi): Likewise.
4701 (uhci): Enable on all x86.
4702 (ohci): Enable on all pci.
4703 (cmostest): Enable on all CMOS.
4704 (acpi): Include commands/acpi.c on all platforms.
4705 (halt): Add relevant lib/*/halt.c.
4706 (hdparm): Enable on all pci.
4707 (lspci): Likewise.
4708 (usbtest): Enable on all usb.
4709 (ata): Enable on all pci.
4710 (ata_pthru): Likewise.
4711 (usbms): Enable on all usb.
4712 (usb_keyboard): Likewise.
4713 (font): Use tag videomodules.
4714 (bufio): Likewise.
4715 (datetime): Use tag cmos. Enable on all noemu.
4716 (mmap): Use tags common and x86.
4717 (gfxterm): Use tag videomodules.
4718 (bitmap): Likewise.
4719 (bitmap_scale): Likewise.
4720 (video_fb): Likewise.
4721 (video): Likewise.
4722 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
4723 adjust padding accordingly. All users updated.
4724 (grub_ohci_transaction): Fix bad format specification.
4725 (GRUB_MOD_INIT): Add asserts for struct size.
4726 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
4727 (grub_alloc_td): Likewise.
4728 (grub_free_queue): Likewise.
4729 (grub_uhci_transfer): Likewise.
4730 (grub_uhci_transaction): Fix bad format specification.
4731 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4732 (grub_usb_bulk_readwrite): Likewise.
4733 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
4734 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
4735 Made static.
4736 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
4737 Made static.
4738 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
4739 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
4740 Transformed into C.
4741 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
4742 Moved from here ...
4743 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
4744 ... here. Transformed into C. Made static.
4745 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
4746 Moved from here ...
4747 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
4748 ... here. Transformed into C. Made static.
4749 * grub-core/kern/i386/pc/startup.S
4750 (grub_biosdisk_check_int13_extensions): Moved from here ...
4751 * grub-core/disk/i386/pc/biosdisk.c
4752 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
4753 Made static.
4754 * grub-core/kern/i386/pc/startup.S
4755 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
4756 * grub-core/disk/i386/pc/biosdisk.c
4757 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
4758 Transformed into C. Made static.
4759 * grub-core/kern/i386/pc/startup.S
4760 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
4761 * grub-core/disk/i386/pc/biosdisk.c
4762 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
4763 Transformed into C. Made static.
4764 * grub-core/kern/i386/pc/startup.S
4765 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
4766 * grub-core/disk/i386/pc/biosdisk.c
4767 (grub_biosdisk_get_diskinfo_standard): ... here.
4768 Transformed into C. Made static.
4769 * grub-core/kern/i386/pc/startup.S
4770 (grub_biosdisk_get_num_floppies): Moved from here ...
4771 * grub-core/disk/i386/pc/biosdisk.c
4772 (grub_biosdisk_get_num_floppies): ... here.
4773 Transformed into C. Made static.
4774 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
4775 New function.
4776 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
4777 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
4778 Transformed into C. Made static.
4779 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
4780 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
4781 Transformed into C. Made static.
4782 * grub-core/kern/i386/ieee1275/init.c: Removed.
4783 * grub-core/kern/i386/misc.S: Likewise.
4784 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
4785 Splitted from here ...
4786 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
4787 Transformed into C. Made static. All users updated.
4788 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
4789 Transformed into C. Made static. All users updated.
4790 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
4791 Moved from here...
4792 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
4793 Transformed into C. Made static. All users updated.
4794 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
4795 Moved from here...
4796 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
4797 Transformed into C. Made static. All users updated.
4798 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
4799 Removed (replaced by C version).
4800 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
4801 Moved from here...
4802 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
4803 Transformed into C. Made static.
4804 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
4805 Moved from here...
4806 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
4807 ... here. Transformed into C.
4808 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
4809 Moved from here...
4810 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
4811 ... here. Transformed into C.
4812 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
4813 Moved from here...
4814 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
4815 ... here. Transformed into C. Made static.
4816 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
4817 Moved from here...
4818 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
4819 ... here. Transformed into C.
4820 * grub-core/kern/i386/pc/startup.S
4821 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
4822 * grub-core/video/i386/pc/vbe.c
4823 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
4824 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
4825 Moved from here...
4826 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
4827 ... here. Transformed into C.
4828 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
4829 Moved from here...
4830 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
4831 ... here. Transformed into C.
4832 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
4833 Moved from here...
4834 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
4835 ... here. Transformed into C.
4836 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
4837 Moved from here...
4838 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
4839 ... here. Transformed into C.
4840 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
4841 Moved from here...
4842 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
4843 ... here. Transformed into C. Made static.
4844 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
4845 Moved from here...
4846 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
4847 ... here. Transformed into C. Made static.
4848 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
4849 Moved from here...
4850 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
4851 ... here. Transformed into C. Made static.
4852 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
4853 pxe_rm_entry as third argument.
4854 (grub_bios_interrupt): New function.
4855 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
4856 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
4857 of calling grub_stop.
4858 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
4859 * grub-core/lib/efi/halt.c (grub_halt): ...here.
4860 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
4861 * grub-core/lib/emu/halt.c (grub_halt): ... here.
4862 * grub-core/lib/i386/halt.c: Moved from here ...
4863 * grub-core/lib/i386/halt.c: ... here.
4864 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
4865 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
4866 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
4867 grub_stop_floppy.
4868 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
4869 * include/grub/i386/coreboot/init.h: Removed.
4870 * include/grub/i386/multiboot/init.h: Likewise.
4871 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
4872 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
4873 * include/grub/i386/pc/int.h: New file.
4874 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
4875 (grub_pxe_scan): Removed.
4876 (grub_pxe_call): Update prototype.
4877 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
4878 prototypes.
4879 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
4880 * include/grub/i386/qemu/init.h: Removed.
4881 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
4882 noreturn.
4883 (grub_halt): Likewise.
4884 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
4885 (grub_reboot): Likewise.
4886 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
4887 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
4888 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
4889
4890 2010-08-30 Robert Millan <rmh@gnu.org>
4891
4892 * NEWS: Document addition of ZFS support in `grub-install' and
4893 `grub-mkconfig'.
4894
4895 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
4896
4897 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
4898 dprintf output.
4899
4900 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 Remove leftover embedding of font objects.
4903
4904 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4905 * util/grub-install.in (font): Removed.
4906 * util/grub-mkimage.c (generate_image): Remove font support. All users
4907 updated.
4908
4909 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 Remove leftover embedding of font objects.
4912
4913 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4914 * util/grub-install.in (font): Removed.
4915 * util/grub-mkimage.c (generate_image): Remove font support. All users
4916 updated.
4917
4918 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * docs/grub.texi (Network): Fix reference to pxe_blksize.
4921 Reported by: Ian Turner
4922
4923 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
4926 timeout to avoid indefinite boot stalling.
4927
4928 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4929
4930 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
4931 (grub_env_write_color_highlight): Likewise.
4932
4933 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/normal/term.c (print_more): Return to normal and not
4936 to standard state after printing "---MORE---".
4937
4938 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
4941 Mask out the bit 0x80 since it has other meaning that specifiing color.
4942
4943 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 New relocator. Allows for more kernel support and more straightforward
4946 loader writing.
4947
4948 * Makefile.am (BOOTTARGET): New variable.
4949 (QEMU32): Likewise.
4950 (linux.init.x86_64): New target.
4951 (linux.init.i386): Likewise.
4952 (multiboot.elf): Likewise.
4953 (kfreebsd.elf): Likewise.
4954 (kfreebsd.aout): Likewise.
4955 (pc-chainloader.elf): Likewise.
4956 (pc-chainloader.bin): Likewise.
4957 (ntldr.elf): Likewise.
4958 (ntldr.bin): Likewise.
4959 (multiboot2.elf): Likewise.
4960 (kfreebsd.init.x86_64): Likewise.
4961 (kfreebsd.init.i386): Likewise.
4962 (knetbsd.init.i386): Likewise.
4963 (kopenbsd.init.i386): Likewise.
4964 (knetbsd.init.x86_64): Likewise.
4965 (kopenbsd.init.x86_64): Likewise.
4966 (linux-initramfs.i386): Likewise.
4967 (linux-initramfs.x86_64): Likewise.
4968 (kfreebsd-mfsroot.i386.img): Likewise.
4969 (knetbsd.image.i386): Likewise.
4970 (kopenbsd.image.i386): Likewise.
4971 (kopenbsd.image.x86_64): Likewise.
4972 (knetbsd.miniroot-image.i386.img): Likewise.
4973 (kfreebsd-mfsroot.x86_64.img): Likewise.
4974 (knetbsd.image.x86_64): Likewise.
4975 (knetbsd.miniroot-image.x86_64.img): Likewise.
4976 (kfreebsd-mfsroot.i386.gz): Likewise.
4977 (bootcheck-kfreebsd-i386): Likewise.
4978 (kfreebsd-mfsroot.x86_64.gz): Likewise.
4979 (bootcheck-kfreebsd-x86_64): Likewise.
4980 (knetbsd.miniroot-image.i386.gz): Likewise.
4981 (bootcheck-knetbsd-i386): Likewise.
4982 (bootcheck-kopenbsd-i386): Likewise.
4983 (bootcheck-kopenbsd-x86_64): Likewise.
4984 (knetbsd.miniroot-image.x86_64.gz): Likewise.
4985 (bootcheck-knetbsd-x86_64): Likewise.
4986 (bootcheck-linux-i386): Likewise.
4987 (bootcheck-linux-x86_64): Likewise.
4988 (bootcheck-linux16-i386): Likewise.
4989 (bootcheck-linux16-x86_64): Likewise.
4990 (bootcheck-multiboot): Likewise.
4991 (bootcheck-multiboot2): Likewise.
4992 (bootcheck-kfreebsd-aout): Likewise.
4993 (bootcheck-pc-chainloader): Likewise.
4994 (bootcheck-ntldr): Likewise.
4995 (CLEANFILES): Add new targets.
4996 (BOOTCHECKS): New variable.
4997 (.PHONY): Add bootchecks.
4998 (SUCCESSFUL_BOOT_STRING): New variable.
4999 (BOOTCHECK_TIMEOUT): Likewise.
5000 (bootcheck): New target
5001 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
5002 * configure.ac: Correct efiemu excuse.
5003 * docs/grub.texi (Supported kernels): New chapter.
5004 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
5005 include/grub/mm_private.h. Simplify inclusion of
5006 include/grub/boot.h, include/grub/loader.h
5007 and include/grub/msdos_partition.h
5008 (KERNEL_HEADER_FILES) [i386_coreboot]:
5009 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
5010 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
5011 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
5012 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
5013 include/grub/machine/loader.h.
5014 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
5015 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
5016 extra_dist.
5017 (pci.mod): Enable on i386-multiboot.
5018 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
5019 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
5020 i386-qemu.
5021 (relocator.mod): Rewritten.
5022 (aout.mod): Enable on all x86.
5023 (bsd.mod): Likewise.
5024 (ntldr.mod): New module.
5025 (linux.mod): Use loader/i386/linux.c on all x86.
5026 (xnu.mod): Enable on all x86.
5027 (vga_text.mod): disable on EFI and QEMU.
5028 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
5029 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
5030 * grub-core/efiemu/loadcore.c: Likewise.
5031 * grub-core/efiemu/main.c: Likewise.
5032 (grub_efiemu_exit_boot_services): Removed.
5033 (grub_efiemu_finish_boot_services): Likewise.
5034 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
5035 function.
5036 * grub-core/efiemu/i386/nocfgtables.c: New file.
5037 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
5038 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
5039 (grub_efi_finish_boot_services): Moved from here ...
5040 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
5041 Fille finish memory map and related data.
5042 (finish_mmap_buf): New variable.
5043 (grub_efi_uintn_t finish_mmap_size): Likewise.
5044 (grub_efi_uintn_t finish_key): Likewise.
5045 (grub_efi_uintn_t finish_desc_size): Likewise.
5046 (grub_efi_uint32_t finish_desc_version): Likewise.
5047 (grub_efi_is_finished): Likewise.
5048 (grub_efi_get_memory_map): Use saved memory map if EFI is already
5049 finished.
5050 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
5051 (grub_elf64_phdr_iterate): Likewise.
5052 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
5053 (grub_os_area_size): Likewise.
5054 (grub_machine_init): Don't reserve os area.
5055 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
5056 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5057 * grub-core/kern/i386/loader.S: Removed.
5058 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
5059 (grub_os_area_size): Likewise.
5060 (grub_machine_init): Don't reserve os area.
5061 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5062 Don't call grub_dl_unload_all.
5063 Don't include loader.S.
5064 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5065 Declare the memory after _end as available.
5066 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
5067 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
5068 (GRUB_MM_ALLOC_MAGIC): Moved from here...
5069 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
5070 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
5071 * include/grub/mm_private.h (grub_mm_header): ... here.
5072 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
5073 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
5074 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
5075 (grub_mm_region): ..here. Removed addr. Added pre_size.
5076 All users updated.
5077 * grub-core/kern/mm.c (base): Renamed to ...
5078 (grub_mm_base): ... this. Made global.
5079 (grub_real_malloc): Alloc from end of region.
5080 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
5081 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
5082 * grub-core/kern/powerpc/cache_flush.S: ... here.
5083 * grub-core/lib/efi/relocator.c: New file.
5084 * grub-core/lib/i386/relocator.c: Rewritten.
5085 * grub-core/lib/i386/relocator16.S: New file.
5086 * grub-core/lib/i386/relocator32.S: Likewise.
5087 * grub-core/lib/i386/relocator64.S: Likewise.
5088 * grub-core/lib/i386/relocator_asm.S: Rewritten.
5089 * grub-core/lib/i386/relocator_common.S: New file.
5090 * grub-core/lib/ieee1275/relocator.c: Likewise.
5091 * grub-core/lib/mips/relocator.c: Rewritten.
5092 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
5093 stylistic adjustments.
5094 * grub-core/lib/powerpc/relocator.c: New file.
5095 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
5096 * grub-core/lib/relocator.c: Rewritten.
5097 * grub-core/lib/x86_64/relocator_asm.S: New file.
5098 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
5099 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
5100 (bsd_tag): New struct.
5101 (tags): New variable.
5102 (tags_last): Likewise.
5103 (netbsd_module): New struct.
5104 (netbsd_mods): New variable.
5105 (netbsd_mods_last): Likewise.
5106 (openbsd_opts): New parameter "serial".
5107 (OPENBSD_SERIAL_ARG): New definition.
5108 (netbsd_opts): New parameter "serial".
5109 (NETBSD_SERIAL_ARG): New definition.
5110 (grub_freebsd_add_meta): Reorganised into ...
5111 (grub_bsd_add_meta): ...this. All users updated.
5112 (grub_freebsd_add_mmap): Reorganised into ...
5113 (generate_e820_mmap): ...this...
5114 (grub_bsd_add_mmap): ...and this. All users updated.
5115 (grub_freebsd_list_modules): Use tags.
5116 (grub_netbsd_add_meta_module): New function.
5117 (grub_netbsd_list_modules): Likewise.
5118 (grub_freebsd_boot): Use relocator and finish EFI.
5119 (grub_openbsd_boot): Likewise.
5120 (grub_netbsd_setup_video): New function.
5121 (grub_netbsd_add_modules): Likewise.
5122 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
5123 and finish EFI.
5124 (grub_bsd_unload): Unload tags.
5125 (grub_bsd_load_aout): Use relocator.
5126 (grub_bsd_elf32_size_hook): New function.
5127 (grub_bsd_elf32_hook): Use relocator.
5128 (grub_bsd_elf64_size_hook): New function.
5129 (grub_bsd_elf64_hook): Use relocator.
5130 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
5131 (grub_bsd_load): Zero-out openbsd_ramdisk.
5132 (grub_bsd_load): Use relocator.
5133 (grub_cmd_openbsd): Support serial.
5134 (grub_cmd_netbsd): Support modules.
5135 (grub_cmd_freebsd_module): Use relocator.
5136 (grub_netbsd_module_load): New function.
5137 (grub_cmd_netbsd_module): Likewise.
5138 (grub_cmd_openbsd_ramdisk): Likewise.
5139 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
5140 kopenbsd_ramdisk.
5141 (GRUB_MOD_FINI): Unregister new commands.
5142 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
5143 (grub_freebsd_load_elfmodule_obj): Use relocator.
5144 (grub_freebsd_load_elfmodule): Likewise.
5145 (grub_freebsd_load_elf_meta): Likewise.
5146 (grub_netbsd_load_elf_meta): New function.
5147 (grub_openbsd_find_ramdisk): Likewise.
5148 * grub-core/loader/i386/bsd_helper.S: Removed.
5149 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
5150 * grub-core/loader/i386/bsd_trampoline.S: Removed.
5151 * grub-core/loader/i386/efi/linux.c: Likewise.
5152 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
5153 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
5154 (DEFAULT_VIDEO_MODE): Likewise.
5155 (real_mode_target): New variable.
5156 (prot_mode_target): Likewise.
5157 (initrd_mem_target): Likewise.
5158 (relocator): Likewise.
5159 (efi_mmap_buf): Likewise.
5160 (efi_mmap_size): Likewise.
5161 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
5162 (free_pages): Use relocator.
5163 (allocate_pages): Account for efi_mmap and use relocator. Return error.
5164 (grub_linux_setup_video): Return error.
5165 (grub_linux_trampoline_start): Removed.
5166 (grub_linux_trampoline_end): Likewise.
5167 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
5168 andd video parameters depending on firmware.
5169 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
5170 [GRUB_MACHINE_EFI]: Pass EFI parameters.
5171 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
5172 (grub_cmd_initrd): Use relocator.
5173 * grub-core/loader/i386/linux_trampoline.S: Removed.
5174 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
5175 (elf_sec_entsize): Likewise.
5176 (elf_sec_shstrndx): Likewise.
5177 (elf_sections): Likewise.
5178 (grub_multiboot_load): Use relocator.
5179 (grub_multiboot_get_mbi_size): Account for sections.
5180 (grub_multiboot_make_mbi): Use relocator and support sections.
5181 (grub_multiboot_add_elfsyms): New function.
5182 (grub_multiboot_free_mbi): Free sections.
5183 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
5184 (grub_linux_real_target): Likewise.
5185 (grub_linux_real_chunk): Likewise.
5186 (grub_linux16_prot_size): Likewise.
5187 (grub_linux16_boot): Use relocator.
5188 (grub_linux_unload): Unload relocator.
5189 (grub_cmd_linux): Use relocator.
5190 (grub_cmd_initrd): Likewise.
5191 * grub-core/loader/i386/pc/ntldr.c: New file.
5192 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
5193 Don't try to guess CPU frequency.
5194 (grub_xnu_set_video): Stretch bitmap.
5195 (grub_xnu_boot): Use relocator.
5196 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
5197 (grub_linux_unload): Free relocator.
5198 (grub_linux_load32): Use relocator.
5199 (grub_linux_load64): Likewise.
5200 (grub_cmd_initrd): Likewise.
5201 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
5202 (grub_multiboot_unload): Unload relocator.
5203 (grub_cmd_multiboot): Use relocator.
5204 (grub_cmd_module): Likewise.
5205 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
5206 Use relocator and support sections.
5207 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
5208 (elf_sec_entsize): Likewise.
5209 (elf_sec_shstrndx): Likewise.
5210 (elf_sections): Likewise.
5211 (grub_multiboot_load): Use relocator.
5212 (grub_multiboot_get_mbi_size): Account for sections.
5213 (grub_multiboot_make_mbi): Use relocator and support sections.
5214 (grub_multiboot_add_elfsyms): New function.
5215 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
5216 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
5217 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
5218 Prototype changed. All users updated.
5219 (grub_xnu_align_heap): Simplified.
5220 (grub_xnu_writetree_toheap): Likewise.
5221 (grub_xnu_unload): Unload relocator.
5222 (grub_cmd_xnu_kernel): Use relocator.
5223 (grub_cmd_xnu_kernel64): Likewise.
5224 (grub_xnu_register_memory): Simplified.
5225 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
5226 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
5227 EFI is finished.
5228 (grub_console_checkkey): Likewise.
5229 (grub_console_getkey): Likewise.
5230 (grub_console_getwh): Likewise.
5231 (grub_console_getxy): Likewise.
5232 (grub_console_gotoxy): Likewise.
5233 (grub_console_cls): Likewise.
5234 (grub_console_setcolorstate): Likewise.
5235 (grub_console_setcursor): Likewise.
5236 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
5237 * grub-core/tests/boot/kbsd.init-i386.S: New file.
5238 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
5239 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
5240 * grub-core/tests/boot/kernel-8086.S: Likewise.
5241 * grub-core/tests/boot/kernel-i386.S: Likewise.
5242 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
5243 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
5244 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
5245 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
5246 * grub-core/tests/boot/knetbsd.cfg: Likewise.
5247 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
5248 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
5249 * grub-core/tests/boot/linux.cfg: Likewise.
5250 * grub-core/tests/boot/linux.init-i386.S: Likewise.
5251 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
5252 * grub-core/tests/boot/linux16.cfg: Likewise.
5253 * grub-core/tests/boot/multiboot.cfg: Likewise.
5254 * grub-core/tests/boot/multiboot2.cfg: Likewise.
5255 * grub-core/tests/boot/ntldr.cfg: Likewise.
5256 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
5257 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
5258 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
5259 New definition.
5260 * include/grub/dl.h (grub_dl_unload_all): Removed.
5261 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
5262 (grub_efi_finish_boot_services): Change prototype.
5263 (grub_efi_is_finished): New variable.
5264 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
5265 Changed prototype.
5266 (grub_efiemu_finish_boot_services): Removed.
5267 (grub_machine_efiemu_init_tables): New prototype.
5268 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
5269 (grub_elf64_phdr_iterate): Likewise.
5270 * include/grub/i386/bsd.h: Include relocator.h.
5271 (freebsd_tag_header): New struct.
5272 (grub_openbsd_bios_mmap): Removed.
5273 (grub_unix_real_boot): Removed.
5274 (grub_freebsd_load_elfmodule32): Changed prototype.
5275 (grub_freebsd_load_elfmodule_obj64): Likewise.
5276 (grub_freebsd_load_elf_meta32): Likewise.
5277 (grub_freebsd_load_elf_meta64): Likewise.
5278 (grub_freebsd_add_meta): Removed.
5279 (grub_netbsd_load_elf_meta32): New prototype.
5280 (grub_netbsd_load_elf_meta64): Likewise.
5281 (grub_bsd_add_meta): Likewise.
5282 (grub_openbsd_ramdisk_descriptor): New struct.
5283 (grub_openbsd_find_ramdisk32): New prototype.
5284 (grub_openbsd_find_ramdisk64): Likewise.
5285 * include/grub/i386/coreboot/loader.h: Removed.
5286 * include/grub/i386/efi/loader.h: Likewise.
5287 * include/grub/i386/ieee1275/loader.h: Likewise.
5288 * include/grub/i386/linux.h (linux_kernel_header): Change void *
5289 to grub_uint32_t.
5290 * include/grub/i386/loader.h: Removed.
5291 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
5292 value.
5293 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
5294 (grub_phys_addr_t): New type.
5295 (grub_vtop): New inline function.
5296 (grub_map_memory): Likewise.
5297 (grub_unmap_memory): Likewise.
5298 * include/grub/i386/multiboot/loader.h: Removed.
5299 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
5300 (NETBSD_BTINFO_CONSOLE): New definition.
5301 (NETBSD_BTINFO_SYMTAB): Likewise.
5302 (NETBSD_BTINFO_MODULES): Likewise.
5303 (NETBSD_BTINFO_FRAMEBUF): Likewise.
5304 (grub_netbsd_bootinfo): New struct.
5305 (grub_netbsd_btinfo_common): Use explicit bitsize.
5306 (grub_netbsd_btinfo_mmap_entry): Removed.
5307 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
5308 (grub_netbsd_btinfo_bootdisk): New struct.
5309 (grub_netbsd_btinfo_symtab): Likewise.
5310 (grub_netbsd_btinfo_serial): Likewise.
5311 (grub_netbsd_btinfo_modules): Likewise.
5312 (grub_netbsd_btinfo_framebuf): Likewise.
5313 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
5314 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
5315 Likewise.
5316 (grub_openbsd_bootargs): Use explicit bitsize.
5317 (grub_openbsd_bootarg_console): New struct.
5318 (GRUB_OPENBSD_COM_MAJOR): New definition.
5319 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
5320 * include/grub/i386/pc/efiemu.h: Removed.
5321 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
5322 * include/grub/i386/qemu/loader.h: Removed.
5323 * include/grub/i386/relocator.h: Rewritten.
5324 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
5325 * include/grub/mips/memory.h: New file.
5326 * include/grub/mips/multiboot.h: Rewritten.
5327 * include/grub/mips/relocator.h: Rewritten.
5328 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
5329 (grub_vtop): New function.
5330 (grub_map_memory): Likewise.
5331 (grub_unmap_memory): Likewise.
5332 * include/grub/misc.h (ALIGN_DOWN): New definition.
5333 * include/grub/mm.h (grub_mm_check_real): New proto.
5334 (GRUB_MM_CHECK): New definition.
5335 * include/grub/mm_private.h: New file.
5336 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
5337 (grub_multiboot_get_mbi_size): Removed.
5338 (grub_multiboot_make_mbi): Change prottype.
5339 (grub_multiboot_set_accepts_video): New proto.
5340 (grub_multiboot_add_elfsyms): Likewise.
5341 (grub_multiboot_payload_eip): New variable.
5342 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
5343 New prototype.
5344 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
5345 New definition.
5346 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
5347 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
5348 * include/grub/powerpc/ieee1275/loader.h: Removed.
5349 * include/grub/powerpc/memory.h: New file.
5350 * include/grub/powerpc/relocator.h: Likewise.
5351 * include/grub/relocator.h: Likewise.
5352 * include/grub/relocator_private.h: Likewise.
5353 * include/grub/sparc64/ieee1275/loader.h: Removed.
5354 * include/grub/x86_64/memory.h: New file.
5355 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
5356 (grub_xnu_heap_malloc): Likewise.
5357 (grub_xnu_heap_real_start): Removed.
5358 (grub_xnu_heap_start): Likewise.
5359 (grub_xnu_relocator): New variable.
5360 (grub_xnu_heap_target_start): Likewise.
5361 * tests/util/grub-shell.in: Support non-pc.
5362 * util/grub-mkimage.c (image_targets): Fix multiboot target.
5363
5364 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
5367 on malloc error.
5368 (grub_bidi_logical_to_visual): Check that malloc succeded.
5369 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
5370 puts.
5371 (grub_xputs_normal): Likewise.
5372
5373 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
5376 extra_dist.
5377
5378 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 * grub-core/efiemu/runtime/efiemu.sh: Removed.
5381
5382 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
5385
5386 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
5389 dprintf.
5390
5391 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
5392
5393 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
5394
5395 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5396
5397 * grub-core/normal/term.c (print_more): Fix a memory leak.
5398 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
5399 (grub_xputs_normal): Likewise.
5400
5401 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
5404 the begining of the string
5405
5406 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/script/script.c (grub_script_parse): Free parsed on
5409 failure.
5410
5411 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
5414 on failure.
5415
5416 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
5419 return.
5420
5421 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
5424 (scroll_up): Fix a memory leak.
5425
5426 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
5429 errors.
5430
5431 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 Handle USB pendrives exposed as floppies.
5434
5435 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
5436 floppy.
5437 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5438 Check for partitions on all devices.
5439
5440 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
5443 (readkey): Likewise.
5444
5445 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5446
5447 Multiple variable names support to "export" command.
5448
5449 * normal/context.c (grub_cmd_export): "export" command supports
5450 multiple variable names.
5451
5452 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
5453
5454 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
5455 --target=drive output to Mach device name.
5456
5457 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5458
5459 New Automake based build system for GRUB.
5460
5461 * ABOUT-NLS: New file.
5462 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
5463 in Makefile.util.def file.
5464 * Makefile.util.def: New file. Autogen build definitions file for
5465 GRUB host utils.
5466 * conf/Makefile.common: New file. Common variables for GRUB host
5467 utils and target modules.
5468 * conf/Makefile.extra-dist: New file. Extra files for make dist.
5469 * docs/Makefile.am: New file. Automake file for docs.
5470 * gentpl.py: New file. Python script to generate Autogen
5471 template.
5472 * grub-core/Makefile.am: New file. GRUB target modules' rules
5473 that doesn't fit in Makefile.core.def file.
5474 * grub-core/Makefile.core.def: New file. Autogen build
5475 definitions file for GRUB target modules.
5476 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
5477 specific setjmp.S file.
5478 * po/Makefile.am: New file.
5479
5480 * .bzrignore: New ignores.
5481 * INSTALL: New requirements, without Ruby.
5482 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
5483 * autogen.sh: Updated to invoke autogen as necessary.
5484 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
5485 and defines for Automake conditionals.
5486 * geninit.sh: Refactoring.
5487
5488 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
5489 necessary.
5490 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
5491 New prototype.
5492
5493 * include/grub/test.h: Fix functional test modules' naming.
5494 * grub-core/tests/example_functional_test.c: Fix test module name.
5495
5496 * util/misc.c: Hosted versions' of grub functions for libgrub.a
5497 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
5498 * util/grub-editenv.c: Likewise.
5499 * util/grub-fstest.c: Likewise.
5500 * util/grub-mkdevicemap.c: Likewise.
5501 * util/grub-mkfont.c: Likewise.
5502 * util/grub-mkimage.c: Likewise.
5503 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5504 * util/grub-probe.c: Likewise.
5505 * util/grub-script-check.c: Likewise.
5506 * util/i386/pc/grub-setup.c: Likewise.
5507 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5508
5509 * tests/util/grub-shell.in: Fix override directory path.
5510 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
5511 * util/import_gcry.py: Create Makefile.gcry.def file instead.
5512
5513 * util/lvm.c: Update #includes.
5514 * util/raid.c: Likewise.
5515 * util/resolve.c: Likewise.
5516 * grub-core/bus/emu/pci.c: Likewise.
5517 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
5518 * grub-core/lib/posix_wrap/string.h: Likewise.
5519 * grub-core/kern/emu/main.c: Likewise.
5520
5521 * grub-core/gensymlist.sh: New file. Script for generating kernel
5522 symbols file.
5523 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
5524
5525 * grub-core/gentrigtables.c: Fix unused variable warnings.
5526
5527 * Makefile.in: Removed.
5528 * conf/any-emu.rmk: Removed.
5529 * conf/common.rmk: Removed.
5530 * conf/i386-coreboot.rmk: Removed.
5531 * conf/i386-efi.rmk: Removed.
5532 * conf/i386-ieee1275.rmk: Removed.
5533 * conf/i386-multiboot.rmk: Removed.
5534 * conf/i386-pc.rmk: Removed.
5535 * conf/i386-qemu.rmk: Removed.
5536 * conf/i386.rmk: Removed.
5537 * conf/mips-yeeloong.rmk: Removed.
5538 * conf/mips.rmk: Removed.
5539 * conf/powerpc-ieee1275.rmk: Removed.
5540 * conf/sparc64-ieee1275.rmk: Removed.
5541 * conf/tests.rmk: Removed.
5542 * conf/x86-efi.rmk: Removed.
5543 * conf/x86_64-efi.rmk: Removed.
5544 * gendistlist.sh: Removed.
5545 * geninitheader.sh: Removed.
5546 * genkernsyms.sh.in: Removed.
5547 * genmk.rb: Removed.
5548 * gensymlist.sh.in: Removed.
5549 * mkinstalldirs: Removed.
5550 * boot: Moved ...
5551 * grub-core/boot: ... to here.
5552 * bus: Moved ...
5553 * grub-core/bus: ... to here.
5554 * commands: Moved ...
5555 * grub-core/commands: ... to here.
5556 * disk: Moved ...
5557 * grub-core/disk: ... to here.
5558 * efiemu: Moved ...
5559 * grub-core/efiemu: ... to here.
5560 * font: Moved ...
5561 * grub-core/font: ... to here.
5562 * fs: Moved ...
5563 * grub-core/fs: ... to here.
5564 * gencmdlist.sh: Moved ...
5565 * grub-core/gencmdlist.sh: ... to here.
5566 * genemuinit.sh: Moved ...
5567 * grub-core/genemuinit.sh: ... to here.
5568 * genemuinitheader.sh: Moved ...
5569 * grub-core/genemuinitheader.sh: ... to here.
5570 * genfslist.sh: Moved ...
5571 * grub-core/genfslist.sh: ... to here.
5572 * genhandlerlist.sh: Moved ...
5573 * grub-core/genhandlerlist.sh: ... to here.
5574 * genmoddep.awk: Moved ...
5575 * grub-core/genmoddep.awk: ... to here.
5576 * genmodsrc.sh: Moved ...
5577 * grub-core/genmodsrc.sh: ... to here.
5578 * genpartmaplist.sh: Moved ...
5579 * grub-core/genpartmaplist.sh: ... to here.
5580 * genparttoollist.sh: Moved ...
5581 * grub-core/genparttoollist.sh: ... to here.
5582 * genterminallist.sh: Moved ...
5583 * grub-core/genterminallist.sh: ... to here.
5584 * gentrigtables.c: Moved ...
5585 * grub-core/gentrigtables.c: ... to here.
5586 * genvideolist.sh: Moved ...
5587 * grub-core/genvideolist.sh: ... to here.
5588 * gettext: Moved ...
5589 * grub-core/gettext: ... to here.
5590 * gfxmenu: Moved ...
5591 * grub-core/gfxmenu: ... to here.
5592 * gnulib: Moved ...
5593 * grub-core/gnulib: ... to here.
5594 * hello: Moved ...
5595 * grub-core/hello: ... to here.
5596 * hook: Moved ...
5597 * grub-core/hook: ... to here.
5598 * io: Moved ...
5599 * grub-core/io: ... to here.
5600 * kern: Moved ...
5601 * grub-core/kern: ... to here.
5602 * lib: Moved ...
5603 * grub-core/lib: ... to here.
5604 * loader: Moved ...
5605 * grub-core/loader: ... to here.
5606 * mmap: Moved ...
5607 * grub-core/mmap: ... to here.
5608 * normal: Moved ...
5609 * grub-core/normal: ... to here.
5610 * partmap: Moved ...
5611 * grub-core/partmap: ... to here.
5612 * parttool: Moved ...
5613 * grub-core/parttool: ... to here.
5614 * script: Moved ...
5615 * grub-core/script: ... to here.
5616 * term: Moved ...
5617 * grub-core/term: ... to here
5618 * tests/example_functional_test.c: Moved ...
5619 * grub-core/tests/example_functional_test.c: ... to here.
5620 * tests/lib/functional_test.c: Moved ...
5621 * grub-core/tests/lib/functional_test.c: ... to here.
5622 * tests/lib/test.c: Moved ...
5623 * grub-core/tests/lib/test.c: ... to here.
5624 * video: Moved ...
5625 * grub-core/video: ... to here.
5626
5627 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5628
5629 Replace --enable-grub-emu-modules with grub-emu-lite.
5630
5631 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
5632 cache.S.
5633
5634 * include/grub/emu/misc.h (grub_emu_init): New prototype.
5635 * kern/emu/full.c: New file. For grub-emu specific initialization.
5636 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
5637 * kern/emu/main.c: Call initialization function grub_emu_init.
5638
5639 * Makefile.in: Include grub-emu-lite in install.
5640 * commands/parttool.c: Use grub_no_autoload to differentiate
5641 between grub-emu and grub-emu-lite.
5642 * include/grub/misc.h: New variable grub_no_autoload.
5643
5644 * conf/any-emu.rmk: New rules for grub-emu-lite.
5645 * configure.ac: Remove --enable-grub-emu-modules.
5646 * genmk.rb: Cleanup unnecessary rules.
5647 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
5648
5649 * normal/main.c: Don't load list files on grub-emu-lite.
5650 * util/misc.c (grub_arch_sync_caches): Removed.
5651
5652 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
5653
5654 * kern/mips/startup.S (grub_prefix): Update comment to refer to
5655 grub-mkimage rather than grub-mkelfimage.
5656 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5657
5658 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
5661 a key after CapsLock or NumLock. It's just a qemu bug.
5662
5663 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
5666 needed by libusb wrapper.
5667
5668 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5669
5670 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
5671
5672 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
5675 --nounzip is passed.
5676
5677 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 USB hotunplugging and USB serial support.
5680
5681 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
5682 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
5683 (grub_uhci_transfer): Respect timeout and set *actual.
5684 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
5685 non-standard length.
5686 (grub_usb_device_attach): Autoload modules.
5687 (GRUB_MOD_INIT): Set grub_term_poll_usb.
5688 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
5689 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
5690 users updated.
5691 (grub_usb_add_hub): Fill nports and children.
5692 (attach_root_port): Receive hub instead of controller.
5693 All users updated. Fill hub->devices.
5694 (grub_usb_root_hub): Allocate hub->devices.
5695 (detach_device): New function.
5696 (poll_nonroot_hub): Fill children and detach devices.
5697 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
5698 actual arguments. All users updated.
5699 (grub_usb_bulk_read_extended): New function.
5700 * bus/usb/serial/common.c: New file.
5701 * bus/usb/serial/ftdi.c: Likewise.
5702 * bus/usb/serial/pl2303.c: Likewise.
5703 * commands/terminal.c (handle_command): Support wildcard.
5704 * commands/usbtest.c: Output "Unknown" instead of empty string.
5705 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
5706 (usbserial_common_mod_SOURCES): New variable.
5707 (usbserial_common_mod_CFLAGS): Likewise.
5708 (usbserial_common_mod_LDFLAGS): Likewise.
5709 (pkglib_MODULES): Add usbserial_pl2303.mod.
5710 (usbserial_pl2303_mod_SOURCES): New variable.
5711 (usbserial_pl2303_mod_CFLAGS): Likewise.
5712 (usbserial_pl2303_mod_LDFLAGS): Likewise.
5713 (pkglib_MODULES): Add usbserial_ftdi.mod.
5714 (usbserial_ftdi_mod_SOURCES): New variable.
5715 (usbserial_ftdi_mod_CFLAGS): Likewise.
5716 (usbserial_ftdi_mod_LDFLAGS): Likewise.
5717 (pkglib_MODULES): Add serial.mod.
5718 (serial_mod_SOURCES): New variable.
5719 (serial_mod_CFLAGS): Likewise.
5720 (serial_mod_LDFLAGS): Likewise.
5721 * conf/i386-pc.rmk: Likewise.
5722 * conf/mips-yeeloong.rmk: Likewise.
5723 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
5724 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5725 * disk/usbms.c (first_available_slot): New variable.
5726 (grub_usbms_attach): Don't reuse free slots due to potential cache
5727 problems.
5728 * include/grub/serial.h: Moved to ..
5729 * include/grub/ns8250.h: ...this.
5730 * include/grub/serial.h: New file.
5731 * include/grub/term.h (grub_term_poll_usb): New variable.
5732 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
5733 readkey. All users updated.
5734 (grub_terminfo_output_state): Pass term to put.
5735 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
5736 (grub_usb_controller_dev): Add timeout and actual arguments to
5737 transfer. All users updated.
5738 (grub_usb_interface): New field detach_data.
5739 (grub_usb_device): New fields children and nports.
5740 (grub_usb_ep_type_t): New type.
5741 (grub_usb_get_ep_type): New function.
5742 (grub_usb_bulk_read_extended): Likewise.
5743 * include/grub/usbdesc.h (grub_usb_desc): New type.
5744 * include/grub/usbserial.h: New file.
5745 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
5746 * kern/term.c (grub_term_poll_usb): New variable.
5747 (grub_getkey): Call grub_term_poll_usb if set.
5748 (grub_checkkey): Likewise.
5749 (grub_getkeystatus): Likewise.
5750 * term/serial.c: Moved controller-specific parts to ...
5751 * term/ns8250.c: ... here.
5752 * term/serial.c: Mostly rewritten.
5753 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
5754 according to spec.
5755
5756 2010-08-20 Robert Millan <rmh@gnu.org>
5757
5758 Make kFreeBSD code more generic to support ext2fs as root, ufs as
5759 a separate module and maybe other interesting combinations.
5760
5761 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
5762 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
5763 (kfreebsd_entry): Add generic filesystem module load routine.
5764 Map GRUB `ext2' to kFreeBSD `ext2fs'.
5765
5766 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5767
5768 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
5769 "numcenter" (I misunderstood the purpose of this entry).
5770 * docs/grub.texi (sendkey): Likewise.
5771
5772 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5773
5774 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
5775 status flag options; simply omitting the option is equivalent and
5776 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
5777 (keysym_table): Rename "num5numlock" to "numlock".
5778 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
5779 can uniformly say that only the last of multiple `sendkey'
5780 invocations has any effect.
5781 * docs/grub.texi (sendkey): New section.
5782
5783 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
5784
5785 * commands/i386/pc/sendkey.c (options): Fix three typos.
5786
5787 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 Implement sendkey support.
5790
5791 * commands/i386/pc/sendkey.c: New file.
5792 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
5793 (sendkey_mod_SOURCES): New variable.
5794 (sendkey_mod_CFLAGS): Likewise.
5795 (sendkey_mod_LDFLAGS): Likewise.
5796
5797 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5798
5799 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
5800 fix warnings from Autoconf.
5801
5802 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5803
5804 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
5805 to avoid false positives with some assemblers that output things
5806 like "someprefix_func" as part of their output.
5807
5808 2010-08-15 Robert Millan <rmh@gnu.org>
5809
5810 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
5811 errors.
5812 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
5813 grub_get_libzfs_handle() errors.
5814
5815 2010-08-14 Robert Millan <rmh@gnu.org>
5816
5817 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
5818 filesystem is not ZFS.
5819
5820 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5821
5822 Fix for misspelled color names defaulting to black/black (bug
5823 reported by Doug Nazar)
5824
5825 * include/grub/normal.h (grub_parse_color_name_pair): Add return
5826 status to prototype.
5827 * normal/color.c (grub_parse_color_name_pair): Return failure
5828 status.
5829 (grub_env_write_color_normal): Ignore bad color names.
5830 (grub_env_write_color_highlight): Likewise.
5831 * normal/main.c (GRUB_MOD_INIT): Set default color names.
5832
5833 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5834
5835 "shift" command support to GRUB script.
5836
5837 * include/grub/script_sh.h (grub_script_shift): New prototype.
5838 * script/execute.c (grub_script_shift): New function.
5839 * script/main.c (grub_script_init): Register shift command.
5840 (grub_script_fini): Unregister shift command.
5841 * util/grub-script-check.c (grub_script_cmd_shift): New function.
5842
5843 * tests/grub_script_shift.in: New testcase.
5844 * conf/tests.rmk: Rules for new testcase.
5845
5846 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5847
5848 "continue" command support to GRUB script.
5849
5850 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
5851 (grub_script_break): Continue support.
5852 * script/main.c (grub_script_init): Register continue command.
5853 (grub_script_fini): Unregister continue command.
5854
5855 * tests/grub_script_continue.in: New testcase.
5856 * conf/tests.rmk: Rules for new testcase.
5857
5858 2010-08-12 BVK Chaitanya <bvk@dbook>
5859
5860 "break" command support to GRUB script.
5861
5862 * conf/common.rmk: Rule updates to grub-script-check.
5863 * include/grub/misc.h (grub_min): New function.
5864 * include/grub/script_sh.h (grub_script_init): New prototype.
5865 (grub_script_fini): New prototype.
5866 (grub_script_break): New prototype.
5867 * script/main.c (grub_script_init): New function.
5868 (grub_script_fini): New function.
5869 * script/execute.c (grub_script_break): New function.
5870 * normal/main.c: Calls to grub_script_{init,fini}.
5871 * util/grub-script-check.c (grub_script_break): New function.
5872
5873 * tests/grub_script_break.in: New testcase.
5874 * conf/tests.rmk: Rules for new test case.
5875
5876 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5877
5878 Function parameters support to GRUB script.
5879
5880 * script/yylex.l (VARIABLE): Regular expression update.
5881 * script/function.c (grub_script_function_call): Moved ...
5882 * script/execute.c (grub_script_function_call): ... to here.
5883 (grub_script_execute_arglist_to_argv): Removed.
5884 (grub_script_arglist_to_argv): New function.
5885 * script/argv.c: New file.
5886 (grub_script_argv_free): New function.
5887 (grub_script_argv_next): Likewise.
5888 (grub_script_argv_append): Likewise.
5889 (grub_script_argv_split_append): Likewise.
5890 * include/grub/script_sh.h (grub_script_argv): New struct.
5891 (grub_script_argv_free): New function.
5892 (grub_script_argv_next): Likewise.
5893 (grub_script_argv_append): Likewise.
5894 (grub_script_argv_split_append): Likewise.
5895
5896 * conf/common.rmk (normal.mod): New source script/argv.c.
5897
5898 * tests/grub_script_echo1.in: More tests.
5899 * tests/grub_script_vars1.in: Likewise.
5900 * tests/grub_script_functions.in: New test case.
5901 * conf/tests.rmk: Rules for new testcase.
5902
5903 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5904
5905 Remove grub_script_cmdblock struct.
5906
5907 * include/grub/script_sh.h: Remove grub_script_cmdblock.
5908 * script/parser.y: Likewise.
5909 * script/execute.c: Rename cmdblock suffix to cmdlist.
5910 * script/script.c: Likewise.
5911 * util/grub-script-check.c: Likewise.
5912
5913 2010-08-11 Yves Blusseau <blusseau@zetam.org>
5914
5915 * .bzrignore: add grub-macho2img
5916
5917 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
5920
5921 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 Remove the dump of sm712 initialisation sequence.
5924
5925 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
5926 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
5927 (GRUB_VGA_IO_MISC_WRITE): Likewise.
5928 (GRUB_VGA_CR_*): Added many registers.
5929 (GRUB_VGA_SR_*): Likewise.
5930 (GRUB_VGA_GR_*): Likewise.
5931 (grub_vga_write_arx): New function.
5932 (grub_video_hw_config): New struct.
5933 (grub_vga_set_geometry): New function.
5934 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
5935 GRUB_PCI_CLASS_SUBCLASS_VGA.
5936 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
5937 * video/sm712.c (grub_sm712_write_reg): New function
5938 (grub_sm712_read_reg): Likewise.
5939 (grub_sm712_sr_write): Likewise.
5940 (grub_sm712_gr_write): Likewise.
5941 (grub_sm712_cr_write): Likewise.
5942 (grub_sm712_write_arx): Likewise.
5943 (grub_sm712_cr_shadow_write): Likewise.
5944 (grub_sm712_write_dda_lookup): Likewise.
5945 (grub_video_sm712_setup): Initialise the video rather then
5946 blindly replay the dump.
5947 (main) [TEST]: Add a routine to be able to compile as standalone for
5948 tests.
5949 * video/sm712_init.c (sm712_init): Removed.
5950 (sm712_sr_seq1): New array.
5951 (sm712_sr_seq2): Likewise.
5952
5953 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 * include/grub/vga.h: Add missing grub/pci.h include.
5956
5957 2010-08-10 Yves Blusseau <blusseau@zetam.org>
5958
5959 * util/grub-macho2img.c (main): fix typo
5960
5961 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5962
5963 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
5964 (grub_vga_gr_read): Likewise.
5965 (grub_vga_cr_write): Likewise.
5966 (grub_vga_cr_read): Likewise.
5967 (grub_vga_sr_write): Likewise.
5968 (grub_vga_sr_read): Likewise.
5969 (grub_vga_palette_read): Likewise.
5970 (grub_vga_palette_write): Likewise.
5971 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
5972 (grub_sm712_sr_read): New function.
5973 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
5974 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
5975
5976 2010-08-09 Robert Millan <rmh@gnu.org>
5977
5978 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
5979 out unused variables on non-ZFS build.
5980
5981 2010-08-08 Robert Millan <rmh@gnu.org>
5982
5983 Fix path generation for sub-filesystems in ZFS.
5984
5985 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
5986 missing slash.
5987
5988 2010-08-08 Robert Millan <rmh@gnu.org>
5989
5990 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
5991
5992 2010-08-08 Robert Millan <rmh@gnu.org>
5993
5994 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
5995 exist, issue a proper error message (rely on `ls' for translated
5996 strings).
5997
5998 2010-08-08 Robert Millan <rmh@gnu.org>
5999
6000 Fix grub-probe invocation.
6001
6002 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
6003
6004 2010-08-04 Robert Millan <rmh@gnu.org>
6005
6006 * configure.ac: Remove checks for getfsstat() and getmntany().
6007 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
6008 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
6009 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
6010 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
6011 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
6012 function.
6013 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
6014 via find_mount_point_from_dir() and getfsstat() / getmntany().
6015
6016 2010-08-04 Robert Millan <rmh@gnu.org>
6017
6018 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6019 (grub_find_zpool_from_mount_point): Merge into ...
6020 (grub_find_zpool_from_dir): ... this.
6021 * kern/emu/misc.c: Likewise.
6022
6023 * kern/emu/misc.c
6024 (grub_make_system_path_relative_to_its_root): Replace
6025 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
6026 with grub_find_zpool_from_dir().
6027 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
6028
6029 2010-08-04 Robert Millan <rmh@gnu.org>
6030
6031 Support OpenSolaris in ZFS device resolution.
6032
6033 * configure.ac: Check for getmntany().
6034 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
6035 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
6036 support.
6037
6038 2010-08-03 Robert Millan <rmh@gnu.org>
6039
6040 Fix grub-emu build.
6041
6042 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
6043 * include/grub/emu/misc.h: ... here.
6044
6045 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
6046 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
6047
6048 * util/misc.c: Remove `<grub/util/libzfs.h>'.
6049 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
6050 (grub_get_libzfs_handle): Move to ...
6051 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
6052 (grub_get_libzfs_handle): ... here.
6053
6054 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
6055
6056 * script/execute.c (grub_script_execute_cmdline): Check for NULL
6057 as command name case.
6058
6059 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
6060
6061 * disk/raid.c (insert_array): Select unique numbers for named arrays
6062 as well, for use as keys in the disk cache.
6063
6064 2010-08-01 Robert Millan <rmh@gnu.org>
6065
6066 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
6067 kFreeBSD device name, except on ZFS where the filesystem label is
6068 used.
6069 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
6070 `/boot/zfs/zpool.cache'.
6071 Set mountfrom kernel variable using ${kfreebsd_device}.
6072
6073 2010-08-01 Robert Millan <rmh@gnu.org>
6074
6075 Make it even harder to use uninitialized `libzfs_handle' (and
6076 make the interface a bit simpler).
6077
6078 * include/grub/util/misc.h (grub_util_init_libzfs)
6079 (libzfs_handle): Remove.
6080 (grub_get_libzfs_handle): New prototype.
6081
6082 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
6083 attribute.
6084 (grub_util_init_libzfs): Remove.
6085 (grub_get_libzfs_handle): New function.
6086
6087 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
6088 grub_get_libzfs_handle() to obtain a libzfs handle instead of
6089 accessing `libzfs_handle' directly.
6090
6091 2010-08-01 Robert Millan <rmh@gnu.org>
6092
6093 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6094 (grub_find_zpool_from_mount_point): New function prototypes.
6095
6096 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6097 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6098
6099 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6100 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6101 `static' attribute.
6102
6103 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6104 finding zpool from mount point into ...
6105 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6106
6107 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6108 requested path is part of a ZFS pool, use
6109 grub_find_zpool_from_mount_point() to detect its filesystem name,
6110 and generate a path with `/fsname@path' syntax.
6111
6112 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6113
6114 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
6115 (void) rather than () so that this is a proper prototype.
6116
6117 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
6120
6121 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
6124 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
6125
6126 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6127
6128 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
6129
6130 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6131
6132 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
6133
6134 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6135
6136 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
6137 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
6138 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
6139 disable gfxpayload.
6140 (Shell-like scripting): Add real content.
6141 (Serial terminal): Suggest `terminal_input serial; terminal_output
6142 serial' rather than putting the two commands on separate lines,
6143 since console input will be inoperative after the first command.
6144 (menuentry): Document --class, --users, and --hotkey options.
6145 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
6146 Vladimir Serbinenko).
6147
6148 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6149 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6150
6151 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
6152
6153 2010-08-01 Robert Millan <rmh@gnu.org>
6154
6155 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6156 (grub_find_zpool_from_mount_point): New function prototypes.
6157
6158 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6159 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6160
6161 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6162 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6163 `static' attribute.
6164
6165 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6166 finding zpool from mount point into ...
6167 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6168
6169 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6170 requested path is part of a ZFS pool, use
6171 grub_find_zpool_from_mount_point() to detect its filesystem name,
6172 and generate a path with `/fsname@path' syntax.
6173
6174 2010-08-01 Robert Millan <rmh@gnu.org>
6175
6176 Prevent accidental use of uninitialized libzfs_handle.
6177
6178 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
6179 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
6180 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
6181
6182 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6183
6184 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
6185 util/grub.d/10_linux.in). Fixes Debian bug #591093.
6186
6187 2010-08-01 Robert Millan <rmh@gnu.org>
6188
6189 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
6190
6191 2010-07-31 Robert Millan <rmh@gnu.org>
6192
6193 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
6194
6195 2010-07-31 Robert Millan <rmh@gnu.org>
6196
6197 * kern/emu/misc.c: Add missing license header.
6198
6199 2010-07-31 Robert Millan <rmh@gnu.org>
6200
6201 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
6202
6203 * include/grub/util/libnvpair.h: Include `<config.h>'.
6204 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
6205 declaring libnvpair prototypes ourselves.
6206 * include/grub/util/libzfs.h: Include `<config.h>'.
6207 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
6208 declaring libzfs prototypes ourselves.
6209
6210 (libzfs_handle): Moved to ...
6211 * include/grub/util/misc.h (libzfs_handle): ... here.
6212 Include `<grub/util/libzfs.h>'.
6213
6214 2010-07-30 Robert Millan <rmh@gnu.org>
6215
6216 * include/grub/emu/misc.h: Add missing license header.
6217
6218 2010-07-30 Robert Millan <rmh@gnu.org>
6219
6220 Enable `grub-probe -t device' resolution on ZFS.
6221
6222 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
6223 * include/grub/util/libnvpair.h: New file.
6224 * include/grub/util/libzfs.h: New file.
6225
6226 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
6227 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
6228 `<grub/util/libnvpair.h>'.
6229 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
6230
6231 (find_mount_point_from_dir): New static function.
6232 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
6233 function.
6234 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
6235 find_root_device_from_libzfs() before ressorting to find_root_device().
6236
6237 * include/grub/util/misc.h (grub_util_init_libzfs): New function
6238 prototype.
6239 * util/misc.c: Include `<grub/util/libzfs.h>'.
6240 (grub_util_init_libzfs): New function.
6241 [HAVE_LIBZFS] (libzfs_handle): New global variable.
6242 [HAVE_LIBZFS] (fini_libzfs): New static function.
6243 (grub_util_init_libzfs): New function.
6244 * util/grub-probe.c (main): Call grub_util_init_libzfs().
6245
6246 2010-07-30 Robert Millan <rmh@gnu.org>
6247
6248 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
6249 (xmalloc, xrealloc, xstrdup, xasprintf): Add
6250 `warn_unused_result' attribute.
6251 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
6252 (grub_xasprintf, grub_xvasprintf): Likewise.
6253 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
6254
6255 2010-07-29 Robert Millan <rmh@gnu.org>
6256
6257 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
6258 (probe): Handle `PRINT_FS_LABEL'.
6259 (main): Handle `-t fs_label'.
6260
6261 2010-07-29 Robert Millan <rmh@gnu.org>
6262
6263 * configure.ac: Remove grub-mkisofs checks.
6264
6265 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * util/ieee1275/grub-install.in: Don't use empty grub_device.
6268 Reported by: Lennart Sorensen.
6269
6270 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
6273 prior to terminal_input/terminal_output separation. It's been over 1.5
6274 years and those versions weren't widely deployed.
6275
6276 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
6277
6278 * disk/raid.c (insert_array): Don't count named arrays when looking
6279 for unused array numbers.
6280 Reported and tested by: Michael Guntsche.
6281
6282 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6283
6284 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
6285 implementation of this so that grub-emu links again, with a note
6286 that this should support hotplugging in the future.
6287
6288 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6289
6290 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6291
6292 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6293
6294 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
6295 handle on failure.
6296 (grub_loopback_close): Remove empty function.
6297 (grub_loopback_dev): Remove close method.
6298
6299 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6300
6301 Disable EFI cursor when the EFI console becomes inactive.
6302
6303 * term/efi/console.c (grub_efi_console_init): New function.
6304 (grub_efi_console_fini): New function.
6305 (grub_console_term_output): Register init and fini methods.
6306
6307 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 * tests/util/grub-shell-tester.in: Remove bashism and declare as
6310 sh script.
6311
6312 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * disk/loopback.c (grub_loopback): Replace filename with file.
6315 (delete_loopback): Handle new semantics.
6316 (grub_cmd_loopback): Likewise.
6317 (grub_loopback_iterate): Likewise.
6318 (grub_loopback_close): Likewise.
6319
6320 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
6323 with -p "".
6324 Reported by: Tito Keitel.
6325
6326 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * docs/grub.texi (Naming convention): Document new naming convention.
6329
6330 2010-07-20 Vadim Solomin <vadic052@gmail.com>
6331 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6332
6333 Generate device.map in something closer to the old ordering.
6334
6335 * util/deviceiter.c (struct device): New declaration.
6336 (compare_file_names): Rename to ...
6337 (compare_devices): ... this. Sort by kernel name in preference to
6338 the stable by-id name, but keep the latter as a fallback comparison.
6339 Update header comment.
6340 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
6341 of `struct device' rather than of plain file names.
6342
6343 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
6344
6345 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
6346 on i386.
6347
6348 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * commands/acpi.c (setup_common_tables): Use sizeof instead of
6351 hardcoding size.
6352 (setv1table): Likewise.
6353
6354 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6355
6356 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
6357 removing the homehost if present.
6358 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
6359 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
6360 removing the homehost if present.
6361 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
6362 if possible.
6363 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
6364
6365 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
6366 parameter. Set its pointer target to 0.
6367 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
6368 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
6369 `data_offset' value from the superblock for 1.x metadata.
6370 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
6371 data on the device.
6372 (insert_array): Record the start sector of data on the device.
6373 (grub_raid_register): Pass start_sector parameters to
6374 grub_raid_list->detect and insert_array.
6375 * include/grub/raid.h (struct grub_raid_array): Add start_sector
6376 member.
6377 (struct grub_raid): Add start_sector parameter to `detect'.
6378
6379 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
6380 __attribute__ ((packed)), leaving a comment.
6381 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
6382 (grub_mdraid_detect_09): ... here and ...
6383 (grub_mdraid_detect_1x): ... here.
6384
6385 2010-07-20 Peter Henn <peter.henn@web.de>
6386
6387 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
6388 chunk size and disk size, which are already given as sector counts
6389 as distinct from the 0.90 units. Fetch the correct device number
6390 from the role table instead of using the table index.
6391
6392 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
6393
6394 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
6395 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
6396 (WriteMostly1): New macro.
6397 Set array->name to NULL for metadata format 0.90. Add support for
6398 metadata 1.x. Fix some comments.
6399 * disk/raid.c (): Add support for name based RAID arrays. Fix a
6400 few comments.
6401 * util/getroot.c (grub_util_get_grub_dev): Add support for
6402 /dev/md/name style devices.
6403
6404 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6405
6406 * .bzrignore: Ignore 20_linux_xen.
6407
6408 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
6409
6410 * util/import_unicode.py: Remove unnecessary imports.
6411
6412 2010-07-17 Aleš Nesrsta <starous@volny.cz>
6413
6414 Hotplugging and USB hub support.
6415
6416 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
6417 (grub_ohci): Likewise.
6418 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
6419 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
6420 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
6421 (GRUB_OHCI_CTRL_EDS): Likewise.
6422 (GRUB_OHCI_BULK_EDS): Likewise.
6423 (GRUB_OHCI_TDS): Likewise.
6424 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
6425 (grub_ohci_ed_phys2virt): New function.
6426 (grub_ohci_virt_to_phys): Likewise.
6427 (grub_ohci_td_phys2virt): Likewise.
6428 (grub_ohci_td_virt2phys): Likewise.
6429 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
6430 attachment.
6431 (grub_ohci_find_ed): New function.
6432 (grub_ohci_alloc_td): Likewise.
6433 (grub_ohci_free_td): Likewise.
6434 (grub_ohci_free_tds): Likewise.
6435 (grub_ohci_transfer): Use previously allocated memory.
6436 (grub_ohci_portstatus): Reset status changed bit.
6437 (grub_ohci_detect_dev): Supply status changed.
6438 (grub_ohci_fini_hw): Free memory.
6439 (grub_ohci_restore_hw): Reallocate memory.
6440 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
6441 Reset status change.
6442 (grub_uhci_detect_dev): Supply status_change.
6443 * bus/usb/usb.c (attach_hooks): New var.
6444 (grub_usb_device_attach): New function.
6445 (grub_usb_register_attach_hook_class): Likewise.
6446 (grub_usb_unregister_attach_hook_class): Likewise.
6447 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
6448 (grub_usb_add_hub): Reset connection changed bit.
6449 (attach_root_port): New function.
6450 (grub_usb_root_hub): Likewise.
6451 (poll_nonroot_hub): Likewise.
6452 (grub_usb_poll_devices): Likewise.
6453 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
6454 * disk/usbms.c (grub_usbms_open): Use device hooks.
6455 (grub_usbms_iterate) :Poll devices.
6456 (grub_usbms_finddevs): Split into ...
6457 (grub_usbms_attach): ... this ...
6458 (grub_usbms_attach): ... and this.
6459 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
6460 in detect_dev.
6461 (grub_usb_interface): New fields attached and detach_hook.
6462 (grub_usb_attach_hook_class): New type.
6463 (grub_usb_attach_desc): New struct.
6464 (grub_usb_register_attach_hook_class): New function.
6465 (grub_usb_unregister_attach_hook_class): Likewise.
6466 (grub_usb_poll_devices): Likewise.
6467 (grub_usb_device_attach): Likewise.
6468 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
6469 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
6470
6471 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6472
6473 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
6474 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
6475 delta determination style. Works with most NetBSD partitions too.
6476
6477 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
6480 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
6481
6482 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
6485
6486 2010-07-14 Anton Blanchard <anton@samba.org>
6487
6488 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
6489 ET_DYN files.
6490
6491 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6492
6493 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
6494
6495 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6496
6497 * kern/partition.c (grub_partition_check_containment): New function to
6498 check that a partition is physically contained in a parent. Since
6499 offsets are relative (and non-negative), this reduces to checking that
6500 the partition ends before its parent.
6501 (grub_partition_map_probe): Discard out-of-range sub-partitions.
6502 (grub_partition_iterate): Likewise.
6503 * include/grub/partition.h (grub_partition_map): Slightly more detailed
6504 comments.
6505 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
6506 partitions that start before their parent, and add debug printfs.
6507
6508 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6509
6510 * Makefile.in (.SUFFIX): Spell correctly, as ...
6511 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
6512 bare module name without `.mod', e.g. `test') tried to invoke a
6513 Modula-2 compiler.
6514
6515 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6516
6517 * README: Point to the Info manual.
6518
6519 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
6520
6521 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
6522 2nd superblock position from partition size.
6523
6524 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
6525
6526 * Makefile.in (MAINTAINER_CLEANFILES): Remove
6527 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
6528 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
6529 outputs.
6530
6531 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 Restructure SCSI .id handling.
6534 Reported and tested by: Aleš Nesrsta.
6535
6536 * disk/ata.c (grub_atapi_close): Removed. All users updated.
6537 (grub_atapi_dev): Changed .name to "ata". New field .id.
6538 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
6539 (grub_usbms_dev): New field .id.
6540 * disk/scsi.c (grub_scsi_iterate): Generate name.
6541 (grub_scsi_open): Parse name.
6542 * include/grub/scsi.h (grub_make_scsi_id): New function.
6543 (grub_scsi_dev): Change iterate and open to number instead of naming
6544 busses. All users updated.
6545 (grub_scsi): Remove name. Add .bus.
6546
6547 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 * commands/help.c (grub_cmd_help): Fix a typo.
6550
6551 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
6554 Reported and tested by: Colin Watson.
6555
6556 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6557
6558 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
6559 in this context.
6560
6561 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
6564
6565 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
6566
6567 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
6568 indentation.
6569
6570 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6571
6572 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
6573 and disk/raid6_recover.c.
6574 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6575 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
6576
6577 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6578
6579 * term/gfxterm.c (repaint_schedulded): Rename to ...
6580 (repaint_scheduled): ... this. Update all callers.
6581 (repaint_was_schedulded): Rename to ...
6582 (repaint_was_scheduled): ... this. Update all callers.
6583
6584 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6585
6586 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
6587 which we expect to be handled by upper layers.
6588
6589 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
6590
6591 * bus/usb/usbhub.c: #include time.h header.
6592
6593 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6594
6595 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
6596 entry_name also for entries without stat blocks (e.g. ".."); fixes
6597 corruption of the first entry in a directory.
6598
6599 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6600
6601 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
6602 after setting gfxterm as the active terminal. GRUB_BACKGROUND
6603 doesn't work otherwise.
6604
6605 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6606
6607 * docs/grub.texi (Features): Update list of supported file systems.
6608 (GNU/Linux): Update for GRUB 2.
6609 (Serial terminal): Remove mention of --disable-serial, which was a
6610 GRUB Legacy configure option. Update instructions to use
6611 `terminal_input' and `terminal_output' rather than `terminal'.
6612 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
6613 configuration' and `Installing GRUB using grub-install'.
6614 (Menu entry editor): Update for GRUB 2.
6615 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
6616 Document new -a, -u, and -v options.
6617 (initrd): New section.
6618 (initrd16): New section.
6619 (linux): New section.
6620 (linux16): New section.
6621 (search): The `var' argument to `--set' is optional.
6622 (GRUB only offers a rescue shell): Go into a little more detail on
6623 drive ordering.
6624
6625 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6626
6627 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
6628
6629 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6630
6631 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
6632 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
6633
6634 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6635
6636 * util/i386/pc/grub-setup.c (setup): Rename prefix to
6637 install_prefix, in line with install_dos_part and install_bsd_part.
6638 Add new prefix variable, which is copied to install_prefix after
6639 comparing core.img in memory with the one read from disk in the
6640 no-embedding case, and use that rather than overwriting
6641 install_prefix immediately when installing to a partition.
6642 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
6643 Bicakci.
6644
6645 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6646
6647 * configure.ac: Avoid == in test command, it's not portable.
6648 * util/grub.d/30_os-prober.in: Likewise.
6649
6650 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
6651
6652 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
6653
6654 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6655
6656 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
6657 multiple (top-level) partmaps.
6658
6659 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 * util/i386/efi/grub-install.in: Don't use empty grub_device.
6662 Reported by: Tino Keitel.
6663
6664 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 Bidi and diacritics support.
6667
6668 * Makefile.in (widthspec.bin): New target.
6669 (widthspec.h): Likewise.
6670 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
6671 * autogen.sh: Generate unidata.c.
6672 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
6673 * commands/ls.c (grub_ls_list_devices): Likewise.
6674 (grub_ls_list_files): Likewise.
6675 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
6676 (grub_mini_cmd_lsmod): Likewise.
6677 * commands/read.c: Likewise.
6678 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
6679 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
6680 * lib/arg.c (grub_arg_show_help): Likewise.
6681 * lib/crypto.c (grub_password_get): Likewise.
6682 * normal/auth.c (grub_username_get): Likewise.
6683 * normal/misc.c (grub_normal_print_device_info): Likewise.
6684 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
6685 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
6686 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
6687 (normal/charset.c_DEPENDENCIES): New variable.
6688 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
6689 (pkglib_MODULES): Remove charset.mod.
6690 (charset_mod_SOURCES): Removed.
6691 (charset_mod_CFLAGS): Likewise.
6692 (charset_mod_LDFLAGS): Likewise.
6693 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
6694 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
6695 and term/tparm.c.
6696 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6697 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6698 (kernel_img_HEADERS): Add terminfo.h.
6699 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
6700 Fill ->font. Reverse ascii bitmaps.
6701 (grub_font_get_xheight): New function.
6702 * font/font.c (grub_font_get_string_width): Moved from here ...
6703 * gfxmenu/font.c (grub_font_get_string_width): ... here.
6704 * font/font.c (grub_font_draw_string): Moved from here ...
6705 * gfxmenu/font.c (grub_font_draw_string): ... here.
6706 * font/font.c (grub_font_dup_glyph): New function.
6707 (grub_font_blit_glyph): Likewise.
6708 (grub_font_blit_glyph_mirror): Likewise.
6709 (blit_comb): Likewise.
6710 (grub_font_construct_dry_run): Likewise.
6711 (grub_font_get_constructed_device_width): Likewise.
6712 (grub_font_construct_glyph): Likewise.
6713 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
6714 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
6715 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
6716 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
6717 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
6718 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
6719 (grub_font_get_xheight): New proto.
6720 (grub_font_get_constructed_device_width): Likewise.
6721 (grub_font_construct_glyph): Likewise.
6722 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
6723 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
6724 * include/grub/font.h (grub_font_draw_string): Moved from here ...
6725 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
6726 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
6727 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
6728 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
6729 (grub_console_getcharwidth): Likewise.
6730 * include/grub/misc.h (grub_xputs): New proto.
6731 (grub_puts): Inlined.
6732 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
6733 (grub_normal_get_line_counter): Removed.
6734 (grub_install_newline_hook): Likewise.
6735 (grub_normal_get_char_counter): New proto.
6736 (grub_normal_reset_more): Likewise.
6737 (grub_xputs_normal): Likewise.
6738 * include/grub/powerpc/ieee1275/console.h: Removed.
6739 * include/grub/sparc64/ieee1275/console.h: Likewise.
6740 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
6741 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
6742 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
6743 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
6744 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
6745 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
6746 (grub_term_input): Pass reference to self. All users updated.
6747 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
6748 Pass reference to self. New fields normal_color, highlight_color and
6749 data. All users updated.
6750 (grub_putchar): Removed.
6751 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
6752 (grub_unicode_estimate_width): New function.
6753 (grub_term_getcharwidth): Add defaults.
6754 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
6755 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
6756 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
6757 (grub_cls): Remove EXPORT_FUNC.
6758 (grub_setcolorstate): Inline.
6759 (grub_newline_hook): Removed.
6760 * include/grub/terminfo.h: Rewritten. All users updated.
6761 * include/grub/unicode.h: New file.
6762 * include/grub/video.h (grub_video_signed_rect): New type.
6763 * kern/emu/console.c (grub_console_highlight_color): Removed.
6764 (grub_console_normal_color): Likewise.
6765 (grub_console_standard_color): Made static.
6766 (grub_ncurses_putchar): Remove mapping.
6767 (grub_ncurses_getcharwidth): Removed.
6768 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6769 (grub_ncurses_setcolor): Removed.
6770 (grub_ncurses_getcolor): Likewise.
6771 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
6772 (grub_console_putchar): ... this.
6773 (grub_console_putchar): Handle argument difference.
6774 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
6775 console_init_early and console_init_lately.
6776 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
6777 * kern/misc.c (grub_puts): Removed.
6778 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
6779 (grub_vsnprintf_real): Remove str = NULL support.
6780 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
6781 * normal/charset.c (grub_utf8_to_ucs4): ... here.
6782 * kern/term.c (grub_putcode): Renamed to ...
6783 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
6784 (grub_putchar): Removed.
6785 (grub_xputs_dumb): New function.
6786 (grub_xputs): New variable.
6787 * lib/charset.c: Move from here ...
6788 * normal/charset.c: ... to here.
6789 (grub_ucs4_to_utf8): New function.
6790 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
6791 (join_types): New variable.
6792 (unpack_join): New function.
6793 (bidi_types): New variable.
6794 (unpack_bidi): New function.
6795 (get_bidi_type): Likewise.
6796 (get_join_type): Likewise.
6797 (is_mirrored): Likewise.
6798 (grub_unicode_get_comb_type): Likewise.
6799 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
6800 (is_type_after): Likewise.
6801 (grub_unicode_aglomerate_comb): Likewise.
6802 (bidi_line_wrap): Likewise.
6803 (grub_bidi_line_logical_to_visual): Likewise.
6804 (grub_bidi_logical_to_visual): Likewise.
6805 (grub_unicode_mirror_code): Likewise.
6806 (grub_unicode_shape_code): Likewise.
6807 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
6808 Don't use grub_putchar.
6809 * normal/main.c (grub_normal_init_page): Use grub_putcode.
6810 (grub_normal_reader_init): Likewise.
6811 (grub_xputs_saved): New variable.
6812 (GRUB_MOD_INIT): Set grub_xputs.
6813 (GRUB_MOD_FINI): Restore grub_xputs.
6814 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
6815 (menu_init): Avoid printing gfxmenu error.
6816 (show_menu): Use grub_normal_get_char_counter.
6817 * normal/menu_entry.c (update_screen): Fix out-of-array.
6818 (complete): Avoid NULL dereferencing.
6819 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
6820 * normal/menu_text.c (print_spaces): Removed.
6821 (grub_print_ucs4): Likewise.
6822 (grub_print_message_indented): Use grub_print_ucs4.
6823 (print_message): Use grub_putcode.
6824 (print_entry): Hanlde diacritics.
6825 * normal/term.c (term_state): New type.
6826 (grub_more_lines): Removed.
6827 (term_states): New variable.
6828 (grub_normal_line_counter): Renamed to ..
6829 (grub_normal_char_counter): ...this. All users updated.
6830 (grub_normal_get_line_counter): Renamed to ...
6831 (grub_normal_get_char_counter): ... this.
6832 (grub_normal_reset_more): New function.
6833 (process_newline): Removed.
6834 (print_more): New function.
6835 (grub_install_newline_hook): Removed.
6836 (map_code): New function.
6837 (grub_puts_terminal): Use grub_print_ucs4.
6838 (putglyph): New function.
6839 (putcode_real): Likewise.
6840 (grub_putcode): Use putcode_real.
6841 (get_maxwidth): New function.
6842 (get_startwidth): Likewise.
6843 (print_ucs4_terminal): Likewise.
6844 (find_term_state): Likewise.
6845 (put_glyphs_terminal): Likewise.
6846 (print_backlog): Likewise.
6847 (print_ucs4_real): Likewise.
6848 (grub_print_ucs4): Likewise.
6849 (grub_xputs_normal): Likewise.
6850 * term/efi/console.c (grub_console_putchar): Output diacritics.
6851 (grub_console_getcharwidth): Removed.
6852 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6853 * term/gfxterm.c (clear_char): Free chars.
6854 (scroll_up): Avoid leaking memory.
6855 (grub_gfxterm_putchar): Support diacritics.
6856 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6857 * term/i386/pc/console.c (grub_console_term_output): Declare as
6858 GRUB_TERM_CODE_TYPE_VGA.
6859 * term/i386/pc/vga.c (grub_vga_term): Declare as
6860 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
6861 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
6862 GRUB_TERM_CODE_TYPE_VGA.
6863 * term/i386/vga_common.c (map_char): Removed.
6864 (grub_console_putchar): Likewise.
6865 (grub_console_getcharwidth): Likewise.
6866 * term/ieee1275/ofconsole.c: Simplify using terminfo.
6867 (colors): Reordered to match terminfo.
6868 (grub_ofconsole_normal_color): Removed.
6869 (grub_ofconsole_writeesc): Likewise.
6870 (grub_ofconsole_highlight_color): Likewise.
6871 (grub_ofconsole_getcharwidth): Likewise.
6872 (grub_ofconsole_setcolorstate): Likewise.
6873 (grub_ofconsole_setcolor): Likewise.
6874 (grub_ofconsole_getcolor): Likewise.
6875 (grub_ofconsole_readkey): Renamed to ...
6876 (readkey): ... this. Remove escape sequence handling. Return -1 on no
6877 key.
6878 (grub_ofconsole_checkkey): Removed.
6879 (grub_ofconsole_getkey): Likewise.
6880 (grub_ofconsole_getxy): Likewise.
6881 (grub_ofconsole_gotoxy): Likewise.
6882 (grub_ofconsole_cls): Likewise.
6883 (grub_ofconsole_refresh): Likewise.
6884 (grub_ofconsole_terminfo_input): New struct.
6885 (grub_ofconsole_terminfo_output): Likewise.
6886 (grub_ofconsole_term_input): Use terminfo.
6887 (grub_ofconsole_term_output): Likewise.
6888 (grub_console_init): Split into ...
6889 (grub_console_init_early): ...this and ...
6890 (grub_console_init_lately): ...this. Use terminfo.
6891 (grub_ofconsole_putchar): Renamed to ...
6892 (put): ... this. Remove mapping.
6893 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6894 * term/serial.c: Simplify using terminfo.
6895 (xpos): Removed.
6896 (ypos): Likewise.
6897 (keep_track): Likewise.
6898 (registered): Likewise.
6899 (input_buf): Likewise.
6900 (npending): Likewise.
6901 (serial_translate_key_sequence): Likewise.
6902 (fill_input_buf): Likewise.
6903 (grub_serial_checkkey): Likewise.
6904 (grub_serial_getkey): Likewise.
6905 (grub_serial_getxy): Likewise.
6906 (grub_serial_gotoxy): Likewise.
6907 (grub_serial_putchar): Likewise.
6908 (grub_serial_cls): Likewise.
6909 (grub_serial_setcolorstate): Likewise.
6910 (grub_serial_setcursor): Likewise.
6911 (serial_hw_init): Use serial_hw_fetch.
6912 (grub_serial_terminfo_input): New variable.
6913 (grub_serial_terminfo_output): Likewise.
6914 (grub_serial_term_input): Use terminfo.
6915 (grub_serial_term_output): Likewise.
6916 * term/terminfo.c (putstr): Use put.
6917 (grub_terminfo_all_free): New function
6918 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
6919 (grub_terminfo_output_register): New function.
6920 (grub_terminfo_output_unregister): Likewise.
6921 (grub_terminfo_getxy): Likewise.
6922 (grub_terminfo_readkey): Likewise.
6923 (grub_terminfo_checkkey): Likewise.
6924 (grub_terminfo_getkey): Likewise.
6925 (grub_terminfo_input_init): Likewise.
6926 (print_terminfo): Likewise.
6927 (grub_cmd_terminfo): Handle encoding.
6928 (grub_terminfo_gotoxy): Track position.
6929 (grub_terminfo_cls): Likewise.
6930 (grub_terminfo_putchar): Likewise.
6931 (grub_terminfo_setcolorstate): Handle colors
6932 (grub_terminfo_cursor_on): This ...
6933 (grub_terminfo_cursor_off): ... and this merged into ...
6934 (grub_terminfo_setcursor): ... this.
6935 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
6936 * unicode/ArabicShaping.txt: New file (imported from Unicode).
6937 * unicode/BidiMirroring.txt: Likewise.
6938 * unicode/UnicodeData.txt: Likewise.
6939 * unicode/COPYING: Likewise.
6940 * util/grub-editenv.c (grub_putchar): Removed.
6941 (grub_xputs_real): New function.
6942 (grub_xputs): New variable.
6943 * util/grub-fstest.c (grub_putchar): Removed.
6944 (grub_xputs_real): New function.
6945 (grub_xputs): New variable.
6946 * util/grub-mkdevicemap.c (grub_putchar): Removed.
6947 (grub_xputs_real): New function.
6948 (grub_xputs): New variable.
6949 * util/grub-probe.c (grub_putchar): Removed.
6950 (grub_xputs_real): New function.
6951 (grub_xputs): New variable.
6952 * util/grub-script-check.c (grub_putchar): Removed.
6953 (grub_xputs_real): New function.
6954 (grub_xputs): New variable.
6955 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
6956 (grub_xputs_real): New function.
6957 (grub_xputs): New variable.
6958 * util/import_unicode.py: New file.
6959 * util/grub-mkfont.c (ft_errmsgs): New array.
6960 (grub_glyph_info): Make bitmap a pointer.
6961 (file_formats): New type WIDTH_SPEC.
6962 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
6963 (options): Add width-spec.
6964 (help): Likewise.
6965 (add_char): Renamed to ...
6966 (add_glyph): ... this.
6967 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
6968 (glyph_replace): New type.
6969 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
6970 (add_char): New function.
6971 (add_subst): Likewise.
6972 (process_cursive): Likewise.
6973 (add_font): Handle GSUB.
6974 (write_font_width_spec): New function.
6975 (main): Sort glyphs.
6976 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
6977 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
6978 * kern/term.c (grub_cls): Moved from here...
6979 * normal/term.c (grub_cls): ... here.
6980
6981 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6982
6983 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
6984 suitable for using within the format argument of printf when
6985 converting grub_size_t.
6986 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
6987 "x" to convert grub_size_t arguments.
6988
6989 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6990
6991 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
6992 too long captions.
6993 (list_get_minimal_size): Take selection box into account.
6994
6995 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
6998 NULL font.
6999
7000 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7001
7002 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
7003 devices when iterating over /dev/disk/by-id; they will be handled
7004 later if appropriate, which they aren't always (e.g. LVM).
7005
7006 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7007
7008 * include/grub/misc.h (grub_reboot): Declare as noreturn.
7009 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
7010 fails.
7011 (grub_halt): Likewise.
7012 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
7013 reset-all fails.
7014 (grub_halt): Don't return, even if all of shut-down, power-off, and
7015 poweroff fail.
7016
7017 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7018
7019 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
7020 arguments, not three.
7021
7022 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7023
7024 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
7025 * util/grub.d/10_linux.in: Use it to check for LVM, so that
7026 LVM-on-RAID is handled correctly.
7027
7028 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7029
7030 * docs/grub.texi (Changes from GRUB Legacy): New section.
7031 (Future): Fix typo.
7032
7033 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7034
7035 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
7036 grub.d/README accidentally ends up executable for one reason or
7037 another. Ignore it.
7038
7039 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
7042 (gpt_partition_map_iterate): Support non-512B sectors.
7043
7044 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * kern/efi/init.c (grub_efi_init): Disable watchdog.
7047 Tested by: Seth Goldberg.
7048
7049 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
7052 Properly align mbi.
7053 Reported by: Seth Goldberg.
7054
7055 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * util/grub-mkrescue.in: Avoid module duplication.
7058
7059 2010-07-01 Sean Finney <seanius@seanius.net>
7060
7061 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
7062
7063 2010-07-01 Sean Finney <seanius@seanius.net>
7064
7065 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
7066
7067 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * disk/lvm.c (grub_lvm_checkvalue): New function.
7070 (grub_lvm_check_flag): Likewise.
7071
7072 2010-07-01 Robert Millan <rmh@gnu.org>
7073
7074 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
7075 Support 'p' as partition separator on kernel of FreeBSD (used
7076 with GPT labels).
7077 (grub_util_biosdisk_get_grub_dev): Likewise.
7078
7079 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 Yeeloong firmware port.
7082
7083 * boot/mips/yeeloong/fwstart.S: New file.
7084 * bus/cs5536.c (gpiodump): New const.
7085 (set_io_space): New function.
7086 (set_iod): Likewise.
7087 (set_p2d): Likewise.
7088 (grub_cs5536_init_geode): Likewise.
7089 * commands/mips/yeeloong/lsspd.c: New file.
7090 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
7091 (serial_mod_SOURCES): New variable.
7092 (serial_mod_CFLAGS): Likewise.
7093 (serial_mod_LDFLAGS): Likewise.
7094 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
7095 term/terminfo.c and term/tparm.c.
7096 (pkglib_IMAGES): Add fwstart.img.
7097 (fwstart_img_SOURCES): New variable.
7098 (fwstart_img_CFLAGS): Likewise.
7099 (fwstart_img_ASFLAGS): Likewise.
7100 (fwstart_img_LDFLAGS): Likewise.
7101 (fwstart_img_FORMAT): Likewise.
7102 (pkglib_MODULES): Add lsspd.mod.
7103 (lsspd_mod_SOURCES): New variable.
7104 (lsspd_mod_CFLAGS): Likewise.
7105 (lsspd_mod_LDFLAGS): Likewise.
7106 (pkglib_MODULES): Add halt.mod.
7107 (halt_mod_SOURCES): New variable.
7108 (halt_mod_CFLAGS): Likewise.
7109 (halt_mod_LDFLAGS): Likewise.
7110 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
7111 (serial_mod_SOURCES): Removed.
7112 (serial_mod_CFLAGS): Likewise.
7113 (serial_mod_LDFLAGS): Likewise.
7114 * disk/ata.c (check_device): New function.
7115 (grub_ata_device_initialize): Use check_device.
7116 (grub_ata_iterate): Recheck devices.
7117 (grub_ata_open): Likewise.
7118 (grub_atapi_iterate): Likewise.
7119 (grub_atapi_open): Likewise.
7120 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
7121 (GRUB_ATA_CH1_PORT1): Likewise.
7122 (GRUB_ATA_CH0_PORT2): Likewise.
7123 (GRUB_ATA_CH1_PORT2): Likewise.
7124 * include/grub/mips/loongson.h: New file.
7125 * include/grub/mips/yeeloong/ec.h: Likewise.
7126 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
7127 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
7128 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
7129 * include/grub/misc.h (grub_halt): Declare as noreturn.
7130 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
7131 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
7132 (UART_ENABLE_FIFO_TRIGGER1): New definition.
7133 (UART_ENABLE_DTRRTS): Likewise.
7134 (UART_ENABLE_MODEM): Removed.
7135 (UART_ENABLE_OUT2): New const.
7136 * include/grub/term.h (grub_term_register_input_active): New function.
7137 (grub_term_register_output_active): Likewise.
7138 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
7139 argument.
7140 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
7141 (init_pci): New function.
7142 (grub_machine_init): Execute platform init when firmware. Init serial.
7143 (grub_halt): Implement.
7144 (grub_exit): Likewise.
7145 (grub_reboot): Likewise.
7146 * term/serial.c (serial_hw_init): Update macros.
7147 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
7148 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
7149 (image_targets): New target mipsel-yeeloong-flash.
7150 (generate_image): Support IMAGE_YEELOONG_FLASH.
7151 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
7152 (grub_video_sm712_setup): Init card.
7153 (grub_video_sm712_set_palette): Removed.
7154 * video/sm712_init.c: New file.
7155
7156 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
7157
7158 * Makefile.in (install-local): Temporarily prepend $(builddir) to
7159 PATH when running help2man and then run it on the unadorned
7160 executable names, rather than passing $(builddir)/* paths to
7161 help2man. This avoids the build directory ending up in generated
7162 manual pages.
7163
7164 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
7165
7166 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
7167 to avoid accidents when debugging with 'sh -x'.
7168 * util/grub-mkrescue.in: Likewise.
7169 * util/grub.d/00_header.in: Likewise.
7170 * util/grub.d/10_hurd.in: Likewise.
7171 * util/grub.d/10_kfreebsd.in: Likewise.
7172 * util/grub.d/10_linux.in: Likewise.
7173 * util/grub.d/10_netbsd.in: Likewise.
7174 * util/grub.d/10_windows.in: Likewise.
7175 * util/grub.d/20_linux_xen.in: Likewise.
7176 * util/grub.d/30_os-prober.in: Likewise.
7177 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7178
7179 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
7180
7181 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
7182 last character in the buffer.
7183 Reported by: Vladimir Serbinenko.
7184
7185 2010-06-29 Robert Millan <rmh@gnu.org>
7186
7187 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
7188 (Command-line and menu entry commands): Document `badram' command.
7189
7190 2010-06-28 Robert Millan <rmh@gnu.org>
7191
7192 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
7193 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
7194 command using ${GRUB_BADRAM} as parameter.
7195
7196 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7197
7198 * docs/grub.texi (Device map): New section.
7199 (Themes): New section (stub).
7200 * Makefile.in (docs/grub.info): The info documentation now builds
7201 without errors. Make sure it stays that way.
7202
7203 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 Use normal parser for menu entries.
7206 Reported by: Thomas Frauendorfer
7207
7208 * include/grub/parser.h (grub_parser_execute): Don't export.
7209 * normal/menu.c (grub_menu_execute_entry_real): New function.
7210 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
7211
7212 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7213
7214 * docs/grub.texi (Embedded configuration): New section (replacing
7215 old "Preset Menu" stub).
7216 (Images): New section.
7217 (configfile): Note that any menu entries defined in `file' are shown
7218 immediately.
7219
7220 2010-06-28 Josh Triplett <josh@joshtriplett.org>
7221
7222 * mmap/i386/pc/mmap_helper.S: Set CF on return.
7223
7224 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7225
7226 * util/grub-install.in: Add --debug-image= option.
7227
7228 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7229
7230 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
7231 possible on Linux.
7232
7233 * util/deviceiter.c (check_device): Rename to ...
7234 (check_device_readable_unique): ... this. Update all callers.
7235 Maintain and check a list of which devices (by canonicalized name)
7236 have already been seen.
7237 (clear_seen_devices): New function.
7238 (compare_file_names) [__linux__]: New function.
7239 (grub_util_iterate_devices): Clear the list of seen devices on exit
7240 and (just in case) on entry.
7241 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
7242 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
7243 seen-devices list, superseded by general code in check_device.
7244
7245 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7246
7247 * commands/cat.c (options): New variable.
7248 (grub_cmd_cat): Parse options. If the --dos option is given, print
7249 DOS-style "\r\n" line endings as simple newlines (Debian bug
7250 #586358).
7251 (GRUB_MOD_INIT): Use extcmd.
7252 (GRUB_MOD_FINI): Likewise.
7253 * docs/grub.texi (cat): Document --dos.
7254
7255 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 XEN with Linux grub-mkconfig support.
7258
7259 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
7260 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
7261 GRUB_CMDLINE_XEN_DEFAULT.
7262 * util/grub.d/20_linux_xen.in: New file.
7263
7264 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 Initialise VGA video on qemu ourselves.
7267
7268 * boot/i386/qemu/boot.S: Don't call 0xc000.
7269 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
7270 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
7271 (kernel_img_HEADERS): Add pci.h.
7272 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
7273 * configure.ac: Force unifont on qemu and yeeloong.
7274 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
7275 (grub_vga_palette_write): Use correct register.
7276 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
7277 Call grub_qemu_init_cirrus.
7278 * kern/i386/qemu/init.c: New file.
7279 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
7280
7281 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
7282
7283 2010-06-26 Pavel Roskin <proski@gnu.org>
7284
7285 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
7286 13.
7287
7288 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
7289
7290 * docs/grub.texi (Simple configuration): Explain that
7291 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
7292 set to `true' to disable their respective recovery entries, not
7293 merely set.
7294
7295 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
7296
7297 Make the `source' command slightly faster.
7298
7299 * normal/main.c (grub_normal_execute): Don't re-read list files when
7300 nested.
7301
7302 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
7303
7304 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
7305 field position and mask size to red fields from mode_info, not
7306 green.
7307 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
7308 Remove redundant tag->common.framebuffer_type assignment.
7309 Reported by: Seth Goldberg.
7310
7311 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
7312
7313 Sync up other versions of the Linux loader with Robert Millan's
7314 change of 2010-01-09, "Make loader output a bit more user-friendly".
7315
7316 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
7317 grub_dprintf().
7318 (grub_cmd_linux): Likewise.
7319 (grub_cmd_initrd): Likewise.
7320 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
7321 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7322
7323 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
7324
7325 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
7326 larger than MEMORY_MAP_SIZE.
7327
7328 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
7329
7330 Fix parallel build.
7331
7332 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
7333 dependency.
7334 * script/parser.y: #include grub_script.tab.h header.
7335
7336 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 Support >3GiB and <16MiB RAM in i386-qemu.
7339
7340 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
7341 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
7342 (grub_lower_mem): Removed.
7343 (grub_upper_mem): Likewise.
7344 (mem_size): Made static.
7345 (above_4g): New variable.
7346 (grub_machine_mmap_init): Detect small mem_size and above_4g.
7347 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
7348 support.
7349
7350 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 Cirrus 5446 and Bochs video cards support.
7353
7354 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
7355 video_bochs.mod
7356 (video_cirrus_mod_SOURCES): New variable.
7357 (video_cirrus_mod_CFLAGS): Likewise.
7358 (video_cirrus_mod_LDFLAGS): Likewise.
7359 (video_bochs_mod_SOURCES): Likewise.
7360 (video_bochs_mod_CFLAGS): Likewise.
7361 (video_bochs_mod_LDFLAGS): Likewise.
7362 * include/grub/vga.h: New file.
7363 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
7364 (grub_video_fb_set_page_t): New type.
7365 (grub_video_fb_setup): New prototype.
7366 (grub_video_fb_swap_buffers): Likewise.
7367 (grub_video_fb_get_info_and_fini): Likewise.
7368 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
7369 (CRTC_DATA_PORT): Likewise.
7370 (CRTC_CURSOR): Likewise.
7371 (CRTC_CURSOR_ADDR_HIGH): Likewise.
7372 (CRTC_CURSOR_ADDR_LOW): Likewise.
7373 (CRTC_CURSOR_DISABLE): Likewise.
7374 (update_cursor): Use grub_vga_cr_write.
7375 (grub_vga_text_setcursor): Likewise.
7376 * video/bochs.c: New file.
7377 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
7378 (palette): Likewise.
7379 (palette_size): Likewise.
7380 (framebuffer): New variable.
7381 (grub_video_fb_init): Use 'framebuffer'.
7382 (grub_video_fb_fini): Likewise.
7383 (grub_video_fb_get_info): Likewise.
7384 (grub_video_fb_get_palette): Likewise.
7385 (grub_video_fb_set_palette): Likewise.
7386 (grub_video_fb_set_viewport): Likewise.
7387 (grub_video_fb_get_viewport): Likewise.
7388 (grub_video_fb_map_color): Likewise.
7389 (grub_video_fb_map_rgb): Likewise.
7390 (grub_video_fb_map_rgba): Likewise.
7391 (grub_video_fb_unmap_color): Likewise.
7392 (grub_video_fb_unmap_color_int): Likewise.
7393 (grub_video_fb_fill_rect): Likewise.
7394 (grub_video_fb_blit_bitmap): Likewise.
7395 (grub_video_fb_blit_render_target): Likewise.
7396 (grub_video_fb_scroll): Likewise.
7397 (grub_video_fb_create_render_target): Likewise.
7398 (grub_video_fb_doublebuf_blit_init): Likewise.
7399 (grub_video_fb_set_active_render_target): Handle doublebuffering.
7400 (doublebuf_pageflipping_update_screen): New function.
7401 (doublebuf_pageflipping_init): Likewise.
7402 (grub_video_fb_setup): Likewise.
7403 (grub_video_fb_swap_buffers): Likewise.
7404 (grub_video_fb_get_info_and_fini): Likewise.
7405 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
7406 All users updated.
7407 (doublebuf_pageflipping_commit): Restructured into ...
7408 (doublebuf_pageflipping_set_page): ... this.
7409 (doublebuf_pageflipping_update_screen): Removed.
7410 (doublebuf_pageflipping_init): Likewise.
7411 (double_buffering_init): Likewise.
7412 (grub_video_vbe_setup): Use grub_video_fb_setup.
7413 (grub_video_vbe_swap_buffers): Removed.
7414 (grub_video_vbe_set_active_render_target): Likewise.
7415 (grub_video_vbe_get_active_render_target): Likewise.
7416 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
7417 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
7418 grub_video_fb_set_active_render_target and
7419 grub_video_fb_get_active_render_target.
7420 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
7421 (SEQUENCER_DATA_PORT): Likewise.
7422 (MAP_MASK_REGISTER): Likewise.
7423 (CRTC_ADDR_PORT): Likewise.
7424 (CRTC_DATA_PORT): Likewise.
7425 (START_ADDR_HIGH_REGISTER): Likewise.
7426 (START_ADDR_LOW_REGISTER): Likewise.
7427 (GRAPHICS_ADDR_PORT): Likewise.
7428 (GRAPHICS_DATA_PORT): Likewise.
7429 (READ_MAP_REGISTER): Likewise.
7430 (INPUT_STATUS1_REGISTER): Likewise.
7431 (INPUT_STATUS1_VERTR_BIT): Likewise.
7432 (get_map_mask): Use grub_vga_sr_read.
7433 (set_map_mask): Use grub_vga_sr_write.
7434 (set_read_map): Use grub_vga_gr_write.
7435 (set_start_address): Use grub_vga_cr_write.
7436 * video/sm712.c (framebuffer): Remove leftover fields.
7437
7438 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
7439
7440 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
7441 setting GRUB_VIDEO_BACKEND. Make it available as a user override
7442 instead. Replace the gfxterm backend check with a check that
7443 ${GRUB_PREFIX}/video.lst is non-empty.
7444 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
7445 again.
7446 (load_video): New generated function. Call it before loading
7447 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
7448 * util/grub.d/10_linux.in (linux_entry): Call load_video.
7449 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
7450 * docs/grub.texi (Simple configuration): Document
7451 GRUB_VIDEO_BACKEND.
7452
7453 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 Use video functions in linux and xnu loaders.
7456
7457 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
7458 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
7459 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
7460 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
7461 loader/i386/pc/linux.c.
7462 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
7463 (find_line_len): Removed.
7464 (find_framebuf): Likewise.
7465 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
7466 * loader/i386/efi/xnu.c: Removed.
7467 * loader/i386/pc/xnu.c: Moved from here...
7468 * loader/i386/xnu.c: ...here.
7469
7470 Enable priorities in video drivers.
7471
7472 * include/grub/video.h (grub_video_adapter_prio_t): New type.
7473 (grub_video_adapter): New field prio.
7474 (grub_video_register): Respect prio when inserting.
7475 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
7476 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
7477 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
7478 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
7479 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
7480 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
7481 * video/sm712.c (grub_video_sm712_adapter): Likewise.
7482
7483 Fix SDL driver ID.
7484
7485 * include/grub/video.h (grub_video_driver_id_t): New value
7486 GRUB_VIDEO_DRIVER_SDL.
7487 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
7488
7489 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7490
7491 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
7492 argument to printf.
7493 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7494
7495 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7496
7497 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
7498 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7499
7500 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7501
7502 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
7503 directly, and recommend grub-install instead.
7504 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7505
7506 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7507
7508 Fix i386-pc prefix handling with nested partitions (Debian bug
7509 #585068). Note that the case where the core image is booted using
7510 multiboot and relocated from its original location still requires
7511 more work.
7512
7513 * kern/i386/pc/init.c (make_install_device): If the prefix starts
7514 with "(,", fill the boot drive in between those two characters, but
7515 expect that a full partition specification including partition map
7516 names will follow.
7517 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
7518 specified, write a prefix without the drive name but including a
7519 full partition specification.
7520
7521 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
7522
7523 * util/grub-mkconfig.in: Ignore non-option arguments, for
7524 compatibility with older versions (before 2010-06-12) which did the
7525 same. In particular, this makes it easier to ship an update-grub
7526 wrapper which is compatible with that used with GRUB Legacy (Debian
7527 bug #586056).
7528
7529 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7530
7531 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
7532 for manual page generation.
7533
7534 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7535
7536 * po/POTFILES: Remove leftover commands/handler.c.
7537
7538 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7539
7540 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
7541 left this script non-functional.
7542
7543 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7544
7545 * docs/man/grub-emu.h2m: New file.
7546
7547 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
7548
7549 * docs/grub.texi (Commands): Document reduced command set in rescue
7550 mode.
7551 (cpuid): New section.
7552
7553 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
7554
7555 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
7556 new partition naming style.
7557 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
7558
7559 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
7560
7561 Add "-o grub.iso" like cmdline options support.
7562
7563 * util/grub-install.in: Improve cmdline option parsing.
7564 * util/grub-mkconfig.in: Likewise.
7565 * util/grub-mkrescue.in: Likewise.
7566 * util/grub-reboot.in: Likewise.
7567 * util/grub-set-default.in: Likewise.
7568 * util/i386/efi/grub-install.in: Likewise.
7569 * util/ieee1275/grub-install.in: Likewise.
7570 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7571
7572 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7573
7574 * .bzrignore: Ignore 41_custom.
7575
7576 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7577
7578 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
7579
7580 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7581
7582 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
7583 prototype declarations.
7584
7585 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
7586 generating fs, partmap, and video lists.
7587 * include/grub/fs.h (grub_fs_register): Omit prototype if
7588 GRUB_LST_GENERATOR is defined.
7589 * include/grub/partition.h (grub_partition_map_register): Likewise.
7590 * include/grub/video.h (grub_video_register): Likewise.
7591
7592 2010-06-12 Javier Martín <lordhabbit@gmail.com>
7593
7594 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
7595
7596 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7597
7598 * util/grub-mkrescue.in: Support --xorriso argument.
7599
7600 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
7603 Suggested by: Thomas Schmitt.
7604
7605 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7606
7607 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
7608 Suggested by: Thomas Schmitt.
7609
7610 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 custom.cfg support.
7613
7614 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
7615 * util/grub.d/41_custom.in: New file.
7616
7617 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7618
7619 * util/grub-mkrescue.in (make_image): Remove sh module, which has
7620 been merged back into normal.
7621
7622 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7623
7624 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
7625 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
7626
7627 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7628
7629 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
7630 when generating manual pages.
7631 * docs/man/grub-bin2h.h2m: New file.
7632 * docs/man/grub-editenv.h2m: New file.
7633 * docs/man/grub-fstest.h2m: New file.
7634 * docs/man/grub-install.h2m: New file.
7635 * docs/man/grub-macho2img.h2m: New file.
7636 * docs/man/grub-mkconfig.h2m: New file.
7637 * docs/man/grub-mkdevicemap.h2m: New file.
7638 * docs/man/grub-mkfont.h2m: New file.
7639 * docs/man/grub-mkimage.h2m: New file.
7640 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
7641 * docs/man/grub-mkrelpath.h2m: New file.
7642 * docs/man/grub-mkrescue.h2m: New file.
7643 * docs/man/grub-ofpathname.h2m: New file.
7644 * docs/man/grub-pe2elf.h2m: New file.
7645 * docs/man/grub-probe.h2m: New file.
7646 * docs/man/grub-reboot.h2m: New file.
7647 * docs/man/grub-script-check.h2m: New file.
7648 * docs/man/grub-set-default.h2m: New file.
7649 * docs/man/grub-setup.h2m: New file.
7650
7651 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 Use FOR_* macros instead of *_iterate whenever possible.
7654
7655 * commands/handler.c: Removed.
7656 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
7657 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
7658 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7659 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
7660 (grub_probe_SOURCES): Remove kern/parser.c.
7661 (util/grub-script-check.c_DEPENDENCIES): Removed.
7662 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
7663 and grub_script_check_init.c.
7664 (grub_script_check_init.lst): Removed.
7665 (grub_script_check_init.h): Likewise.
7666 (grub_script_check_init.c): Likewise.
7667 (pkglib_MODULES): Remove handler.mod and sh.mod.
7668 (handler_mod_SOURCES): Removed.
7669 (handler_mod_CFLAGS): Likewise.
7670 (handler_mod_LDFLAGS): Likewise.
7671 (normal_mod_SOURCES): Remove normal/handler.c.
7672 Add script/main.c, script/script.c, script/execute.c,
7673 script/function.c, script/lexer.c, grub_script.tab.c
7674 and grub_script.yy.c.
7675 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7676 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7677 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
7678 (grub_setup_SOURCES): Remove kern/parser.c.
7679 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7680 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
7681 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7682 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7683 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7684 (grub_setup_SOURCES): Remove kern/parser.c.
7685 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7686 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
7687 * include/grub/command.h (grub_command_iterate): Removed.
7688 (FOR_COMMANDS): New macro.
7689 * include/grub/dl.h (grub_dl): New member next.
7690 (grub_dl_iterate): Removed.
7691 (grub_dl_head): New variable declaration.
7692 (FOR_DL_MODULES): New macro.
7693 * include/grub/fs.h: Include list.h.
7694 (grub_fs): Make next first element.
7695 (grub_fs_list): New variable declaration.
7696 (grub_fs_register): Make inline.
7697 (grub_fs_unregister): Likewise.
7698 (grub_fs_iterate): Removed.
7699 (FOR_FILESYSTEMS): New macro.
7700 * include/grub/handler.h: Removed.
7701 * include/grub/list.h (grub_list_hook_t): Removed.
7702 (grub_list_test_t): Likewise.
7703 (grub_list_pop): Likewise.
7704 (grub_list_iterate): Likewise.
7705 (grub_list_insert): Likewise.
7706 (FOR_LIST_ELEMENTS): New macro.
7707 * include/grub/parser.h (grub_parser_class): Removed.
7708 (grub_parser_register): Likewise.
7709 (grub_parser_unregister): Likewise.
7710 (grub_parser_get_current): Likewise.
7711 (grub_parser_set_current): Likewise.
7712 (grub_register_rescue_parser): Likewise.
7713 (grub_rescue_parse_line): New function.
7714 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
7715 * include/grub/script_sh.h (grub_script_function_list): New variable
7716 declaration.
7717 (FOR_SCRIPT_FUNCTIONS): New macro.
7718 (grub_script_function_iterate): Removed.
7719 (grub_normal_parse_line): New prototype.
7720 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
7721 (FOR_DISABLED_TERM_INPUTS): Likewise.
7722 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7723 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7724 * include/grub/video.h (grub_video_adapter): Move 'next' to first
7725 element.
7726 (grub_video_register): Inline.
7727 (grub_video_unregister): Likewise.
7728 (grub_video_adapter_list): New variable declaration.
7729 (grub_video_iterate): Removed.
7730 (FOR_VIDEO_ADAPTERS): New macro.
7731 * kern/dl.c (grub_dl_list): Removed. All users updated.
7732 (grub_dl_iterate): Removed.
7733 * kern/fs.c (grub_fs_list): Make global.
7734 (grub_fs_register): Removed.
7735 (grub_fs_unregister): Likewise.
7736 (grub_fs_iterate): Likewise.
7737 * kern/handler.c: Removed.
7738 * kern/list.c (grub_list_pop): Removed.
7739 (grub_list_iterate): Likewise.
7740 (grub_list_insert): Likewise.
7741 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
7742 (grub_prio_list_insert): Don't use grub_list_insert.
7743 * kern/main.c (grub_register_rescue_parser): Don't call
7744 grub_register_rescue_parser.
7745 * kern/parser.c (grub_parser_class): Removed.
7746 (grub_parser_execute): Use grub_rescue_parse_line.
7747 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
7748 (grub_rescue_parser): Removed.
7749 (grub_register_rescue_parser): Likewise.
7750 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
7751 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
7752 (grub_auth_check_authentication): Likewise.
7753 * normal/completion.c (iterate_command): Removed.
7754 (grub_normal_do_completion): Use FOR_COMMANDS.
7755 * normal/handler.c: Removed.
7756 * normal/main.c (read_config_file): Remove parser changing.
7757 (grub_normal_execute): Don't call read_handler_list.
7758 (grub_normal_read_line_real): Statically allocate prompt.
7759 (grub_cmdline_run): Use grub_normal_parse_line.
7760 (GRUB_MOD_FINI): Don't call free_handler_list.
7761 * normal/menu_entry.c (run): Likewise.
7762 * script/function.c (grub_script_function_list): Make global.
7763 (grub_script_function_iterate): Removed.
7764 * script/main.c (grub_normal_parse_line): Make global.
7765 (grub_sh_parser): Removed.
7766 (GRUB_MOD_INIT): Likewise.
7767 (GRUB_MOD_FINI): Likewise.
7768 * tests/lib/functional_test.c (grub_functional_test): Use
7769 FOR_LIST_ELEMENTS.
7770 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
7771 (grub_test_run): Use FOR_LIST_ELEMENTS.
7772 * tests/lib/unit_test.c (main): Likewise.
7773 * util/deviceiter.c (grub_util_iterate_devices): Don't use
7774 grub_list_pop.
7775 * util/grub-fstest.c (grub_term_input_class): Removed.
7776 (grub_term_output_class): Likewise.
7777 * util/grub-probe.c: Likewise.
7778 * util/i386/pc/grub-setup.c: Likewise.
7779 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7780 * util/grub-script-check.c (main): Don't call grub_init_all and
7781 grub_fini_all.
7782 * video/video.c (grub_video_adapter_list): Make global.
7783 (grub_video_register): Removed.
7784 (grub_video_unregister): Likewise.
7785 (grub_video_iterate): Likewise.
7786
7787 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
7790 reported by Henrique Ferreiro.
7791
7792 2010-06-09 Robert Millan <rmh@gnu.org>
7793
7794 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
7795 ones, when both are available.
7796
7797 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7798
7799 Make --version uniform and avoid hard-coded program name.
7800
7801 * util/grub-mkimage.c (main): Use `program_name' instead of
7802 hard-coded string.
7803 * util/i386/pc/grub-setup.c (main): Likewise.
7804 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
7805 * util/grub-install.in: Save the basename of $0 in $self, and use the
7806 latter in informational messages. Use the same format for --version
7807 as the binary programs.
7808 * util/grub-mkconfig.in: Likewise.
7809 * util/grub-mkrescue.in: Likewise.
7810 * util/grub-reboot.in: Likewise.
7811 * util/grub-set-default.in: Likewise.
7812 * util/i386/efi/grub-install.in: Likewise.
7813 * util/ieee1275/grub-install.in: Likewise.
7814 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7815
7816 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7817
7818 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
7819 embedding area. Use <= instead of == when checking for non-emptiness.
7820
7821 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7822
7823 * configure.ac: Add `.' to the directories searched for unifont.
7824
7825 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7826
7827 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
7828 grub_script.yy.h.
7829
7830 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7831
7832 * docs/grub.texi (History): Expand to cover GRUB 2.
7833 (Serial terminal): Refer to `terminal_input' and `terminal_output'
7834 commands, not `terminal'.
7835 (serial): Likewise.
7836 (terminal_input): New section.
7837 (terminal_output): New section.
7838 (uppermem): New section (stub).
7839 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
7840
7841 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7842
7843 * docs/grub.texi (Security): Menu entries are unrestricted by
7844 default, not restricted to superusers as I had previously thought.
7845 Reword to account for this.
7846
7847 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7848
7849 * kern/emu/misc.c (device_mapper_null_log): New function.
7850 (grub_device_mapper_supported): New function.
7851 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
7852 prototype.
7853 * kern/emu/hostdisk.c (find_partition_start): Check whether
7854 device-mapper is supported before trying to use it.
7855 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
7856
7857 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7858
7859 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
7860 (File name syntax): Likewise.
7861 (help): --all is no longer supported in GRUB 2. Be more precise
7862 about pattern matching.
7863
7864 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7865
7866 * normal/completion.c (grub_normal_do_completion): When completing
7867 arguments to "set" and the current word contains an equals sign,
7868 skip to after the equals sign before starting completion.
7869
7870 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7871
7872 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
7873
7874 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7875
7876 * docs/grub.texi (Network): New section.
7877 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
7878 `(nd)' as in GRUB Legacy.
7879 (pxe_unload): New section.
7880
7881 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7882
7883 * docs/grub.texi (Troubleshooting): `echo' is not usually available
7884 in the rescue shell, so recommend using `set' instead. Thanks,
7885 Jordan Uggla.
7886
7887 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7888
7889 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
7890 (password): New section.
7891 (password_pbkdf2): New section.
7892 (search): New section.
7893 (Security): New section.
7894 (Troubleshooting): New section, currently very incomplete.
7895 (Invoking grub-mkpasswd-pbkdf2): New section.
7896 (Internals): New section, currently very incomplete.
7897
7898 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7899
7900 * util/grub.d/00_header.in: Add some more quoting (of
7901 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
7902 work again.
7903 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
7904
7905 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7906
7907 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
7908 to `count', fixing variable shadowing that broke the -c option.
7909
7910 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
7911
7912 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
7913 in case they contain spaces.
7914
7915 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7916
7917 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
7918 "part_" to partmap module names, in line with grub-install.
7919 Reported by: Jindřich Makovička (Debian bug #584426).
7920
7921 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7922
7923 * util/grub-mkimage.c: Make target-related error messages slightly
7924 more helpful; -O talks about "format". Explicitly point to the use
7925 of -O if no target is specified.
7926 Reported by: Didier Raboud (Debian bug #584415).
7927
7928 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
7929
7930 * INSTALL: Document several build requirements for optional features
7931 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
7932
7933 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7934
7935 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
7936 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
7937 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
7938
7939 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7940
7941 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
7942 Thanks to Jordan Uggla for spotting this.
7943
7944 2010-06-02 Aleš Nesrsta <starous@volny.cz>
7945
7946 Finally make USB usable.
7947
7948 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
7949 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
7950 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
7951 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
7952 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
7953 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
7954 (GRUB_OHCI_FSMPS): Likewise.
7955 (GRUB_OHCI_PERIODIC_START): Likewise.
7956 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
7957 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
7958 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
7959 (GRUB_OHCI_SET_PORT_RESET): Likewise.
7960 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
7961 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
7962 (grub_ohci_transaction): Likewise.
7963 (grub_ohci_transfer): Improve condition detection algorithms.
7964 Handle toggle property. Program the transactions correctly.
7965 Improve error handling. Various important fixups.
7966 (grub_ohci_portstatus): Put register writes in right order.
7967 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
7968 (grub_uhci_transfer): Don't show "failed" message on success.
7969 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
7970 array.
7971 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
7972 determine its size.
7973 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
7974 before initialization is completed. Use IN direction for empty
7975 transfers. Use last_trans and compute toggle.
7976 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
7977 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
7978 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
7979 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
7980 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
7981 (grub_usb_device): Increase toggle to 256.
7982 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
7983 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
7984 GRUB_USBMS_SUBCLASS_SFF8070.
7985 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
7986 (grub_scsi_inquiry): New member page and alloc_length.
7987 (grub_scsi_request_sense): New structure.
7988 (grub_scsi_request_sense_data): Likewise.
7989 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
7990 control.
7991 * disk/scsi.c (grub_scsi_request_sense): New function.
7992 (grub_scsi_test_unit_ready): Likewise.
7993 (grub_scsi_inquiry): Fill new fields.
7994 (grub_scsi_read_capacity): Likewise.
7995 (grub_scsi_read10): Add request sense at the end.
7996 (grub_scsi_read12): Likewise.
7997 (grub_scsi_write10): Likewise.
7998 (grub_scsi_write12): Likewise.
7999 (grub_scsi_open): Add Test Unit Ready.
8000 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
8001 Support additional subclasses. Con't clear halt yet. Activate the
8002 proper config. Calculate LUNs correctly.
8003 (grub_usbms_transfer): Various important fixups.
8004
8005 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8006
8007 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
8008 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
8009 (grub_ohci_fini_hw): New function.
8010 (grub_ohci_restore_hw): Likewise.
8011 (GRUB_MOD_INIT(ohci)): Register preboot hook.
8012 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
8013 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
8014
8015 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 Dedicated DMA allocations.
8018
8019 * bus/pci.c (grub_memalign_dma32): New function
8020 (grub_dma_free): Likewise.
8021 (grub_dma_get_virt): Likewise.
8022 (grub_dma_get_phys): Likewise.
8023 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
8024 (grub_ohci_pci_iter): Use dma32_alloc.
8025 (grub_ohci_transfer): Likewise.
8026 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8027 (grub_usb_bulk_readwrite): Likewise.
8028 * include/grub/pci.h: Add declarations.
8029
8030 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 CS5536 support.
8033
8034 * bus/cs5536.c: New file.
8035 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
8036 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
8037 (cs5536_mod_SOURCES): New variable.
8038 (cs5536_mod_CFLAGS): Likewise.
8039 (cs5536_mod_LDFLAGS): Likewise.
8040 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
8041 machine/pci.h.
8042 (kernel_img_SOURCES): Add bus/cs5536.c.
8043 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
8044 usb_keyboard.mod.
8045 (usb_mod_SOURCES): New variable.
8046 (usb_mod_CFLAGS): New variable.
8047 (usb_mod_LDFLAGS): New variable.
8048 (usbtest_mod_SOURCES): New variable.
8049 (usbtest_mod_CFLAGS): New variable.
8050 (usbtest_mod_LDFLAGS): New variable.
8051 (ohci_mod_SOURCES): New variable.
8052 (ohci_mod_CFLAGS): New variable.
8053 (ohci_mod_LDFLAGS): New variable.
8054 (usbms_mod_SOURCES): New variable.
8055 (usbms_mod_CFLAGS): New variable.
8056 (usbms_mod_LDFLAGS): New variable.
8057 (usb_keyboard_mod_SOURCES): New variable.
8058 (usb_keyboard_mod_CFLAGS): New variable.
8059 (usb_keyboard_mod_LDFLAGS): New variable.
8060 * include/grub/smbus.h: New file.
8061 * include/grub/cs5536.h: New file.
8062
8063 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8064
8065 * util/grub.d/00_header.in: Add safety check to make sure that
8066 ${locale_dir} exists before trying to probe it.
8067
8068 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8069
8070 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
8071 per the GNU Coding Standards; this is now too obscure to be worth
8072 documenting.
8073 (QNX): Likewise.
8074 (chainloader): Remove cross-reference to `SCO UnixWare'.
8075
8076 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8077
8078 * docs/grub.texi (Chain-loading): New section.
8079 (DOS/Windows): New section, borrowed from GRUB Legacy with details
8080 adjusted for GRUB 2.
8081 (SCO UnixWare): Likewise.
8082 (QNX): Likewise.
8083 (chainloader): Add reference to `Block list syntax'.
8084 (drivemap): New section.
8085 (parttool): New section.
8086
8087 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8088
8089 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
8090 the grub shell'.
8091 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
8092 (Installing GRUB using grub-install): Remove reference to the grub
8093 shell; mention `grub-mkimage' and `grub-setup' instead.
8094 (Invoking grub-install): Likewise.
8095 (Interface): Add reference to `Menu entry editor'.
8096 (serial): Remove `--device' option.
8097
8098 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8099
8100 * docs/grub.texi (Configuration): New section, documenting
8101 configuration file generation using grub-mkconfig. I've left a slot
8102 for documenting the full shell scripting format but have not yet
8103 started on writing that up.
8104 (Invoking grub-mkconfig): New section.
8105
8106 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8107
8108 * docs/grub.texi (direntry): Remove grub-terminfo reference.
8109 (GNU GRUB manual): Likewise.
8110 (General commands): Update description of `terminfo' for GRUB 2.
8111
8112 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8113
8114 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
8115 (GRUB_MOD_INIT): Fix capitalisation.
8116 * docs/grub.texi (Command-line and menu entry commands): Document
8117 gettext and gptsync commands.
8118
8119 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8120
8121 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
8122 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
8123
8124 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
8125
8126 Add btrfs probing support, currently only in the single-device case.
8127
8128 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
8129 function.
8130 (grub_guess_root_device): Call find_root_device_from_mountinfo
8131 before looking in /dev.
8132
8133 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
8136 GRUB_DISK_SIZE_UNKNOWN.
8137 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
8138
8139 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
8140
8141 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
8142 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
8143 corrupted or not synced properly.
8144
8145 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
8148 Reported by: Seth Goldberg.
8149
8150 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
8153 addition of dest.
8154 Reported by: Seth Goldberg.
8155
8156 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
8159 Reported by: Seth Goldberg.
8160
8161 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
8164 64-bit address as signed on MIPS.
8165
8166 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
8167
8168 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
8169 to the empty string.
8170
8171 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
8172
8173 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
8174
8175 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
8176 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
8177 * kern/misc.c (__enable_execute_stack): Disable on
8178 GRUB_MACHINE_EMU.
8179
8180 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
8181
8182 Make grub-probe work with symbolic links under /dev/mapper as well
8183 as with real block devices. The Linux world seems to be (at best)
8184 in transition here, and GRUB shouldn't get caught in the middle.
8185
8186 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
8187 /dev/mapper.
8188
8189 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8190
8191 * util/grub-script-check.c (main): Ensure defined behaviour on empty
8192 input files (in which case exit zero).
8193
8194 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8195
8196 * kern/emu/misc.c (canonicalize_file_name): realpath can still
8197 return NULL for various reasons even if it has a maximum-length
8198 buffer: for example, there might be a symlink loop, or the path
8199 might exceed PATH_MAX. If this happens, return NULL.
8200
8201 2010-05-27 Robert Millan <rmh@gnu.org>
8202
8203 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
8204 partmap module to handle cross-partmap setups.
8205 Reported by Orestes Mas. Gràcies!
8206
8207 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8208
8209 * util/grub-mkrescue.in: Initialise override_dir rather than
8210 assuming that it's unset or empty in the environment.
8211
8212 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
8213
8214 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
8215 variable index into p_index to suppress a warning with -Wshadow.
8216
8217 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
8218
8219 * INSTALL: Added flex >= 2.5.35 requirement.
8220
8221 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8222
8223 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
8224
8225 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 cmostest support.
8228
8229 * commands/i386/cmostest.c: New file.
8230 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
8231 (cmostest_mod_SOURCES): New variable.
8232 (cmostest_mod_CFLAGS): Likewise.
8233 (cmostest_mod_LDFLAGS): Likewise.
8234 * conf/i386-pc.rmk: Likewise.
8235 * docs/grub.texi (Vendor power-on keys): New section.
8236 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
8237 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
8238 and GRUB_BUTTON_CMOS_ADDRESS.
8239 * util/grub.d/00_header.in: Handle powering-on by separate button.
8240
8241 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
8244 Removed drawing_scrollbar argument. All users updated
8245 Fixes #29792.
8246 Reported by Jo Shields
8247
8248 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
8251 buffer since gfxterm handles double repaint.
8252
8253 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8254
8255 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
8256 * term/gfxterm.c (real_scroll): Likewise.
8257
8258 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8259
8260 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
8261 before calling BIOS.
8262
8263 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8264
8265 * include/grub/i18n.h: Always enable grub_gettext.
8266
8267 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8268
8269 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
8270 partition naming style.
8271
8272 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
8273
8274 * util/grub-mkconfig.in: Fix handling of -o so that it works when
8275 not the first option.
8276
8277 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
8278
8279 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
8280
8281 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
8282
8283 * util/misc.c: Move inclusion of <limits.h> to ...
8284 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
8285
8286 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
8287
8288 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
8289 Fix merge error in NetBSD code.
8290 (find_partition_start) [__NetBSD__]: Likewise.
8291
8292 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
8293
8294 Fix grub-mkrescue usage unit testing.
8295
8296 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
8297
8298 2010-05-18 Christian Franke <franke@computer.org>
8299
8300 * util/grub.d/10_windows.in: Use path names instead of
8301 drive letters to prevent warning from Cygwin 1.7.
8302 Add drivemap command to menuentry if needed.
8303
8304 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
8305
8306 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
8307 gnumach and gnumach.gz.
8308
8309 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * include/grub/i18n.h (gettext): Inline instead of using #define.
8312 (grub_gettext): Likewise.
8313 (_): Likewise.
8314
8315 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
8318 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
8319 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
8320 (main): Add a slash after pkglibdirroot.
8321
8322 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * util/grub-install.in: Add missing "in" keyword.
8325
8326 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
8329 Reported by: Seth Goldberg.
8330
8331 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
8334
8335 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8336
8337 * configure.ac: Check for Linux device-mapper support.
8338
8339 * util/hostdisk.c (device_is_mapped): New function.
8340 (find_partition_start): New function, partly broken out from
8341 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
8342 device-mapper support added.
8343 (linux_find_partition): Use find_partition_start.
8344 (convert_system_partition_to_system_disk): Add `st' argument.
8345 Support Linux /dev/mapper/* devices if device-mapper support is
8346 available; only DM-RAID devices are understood at present.
8347 (find_system_device): Add `st' argument. Pass it to
8348 convert_system_partition_to_system_disk.
8349 (grub_util_biosdisk_get_grub_dev): Pass stat result to
8350 find_system_device and convert_system_partition_to_system_disk. Use
8351 find_partition_start.
8352
8353 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
8354 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
8355 * util/deviceiter.c [__linux__]: Define MINOR.
8356 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
8357 * util/mkdevicemap.c (grub_putchar): New function.
8358 (grub_getkey): New function.
8359 (grub_refresh): New function.
8360 (main): Set debug=all if -v -v is used.
8361
8362 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8363
8364 Fix build with non-GNU libcs.
8365
8366 * util/misc.c (canonicalize_file_name): Move to ...
8367 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
8368 grub_make_system_path_relative_to_its_root.
8369
8370 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8371
8372 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
8373 we handle finding grub-mkimage. Default to finding grub-mkimage in
8374 ${bindir} with program_transform_name applied, and provide a
8375 --grub-mkimage option to override this.
8376
8377 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 Remove grub-mkisofs.
8380
8381 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
8382 (grub_mkisofs_SOURCES): Removed.
8383 (grub_mkisofs_CFLAGS): Removed.
8384 * util/mkisofs/defaults.h: Removed.
8385 * util/mkisofs/eltorito.c: Likewise.
8386 * util/mkisofs/exclude.h: Likewise.
8387 * util/mkisofs/hash.c: Likewise.
8388 * util/mkisofs/include/: Likewise.
8389 * util/mkisofs/include/fctldefs.h: Likewise.
8390 * util/mkisofs/include/mconfig.h: Likewise.
8391 * util/mkisofs/include/prototyp.h: Likewise.
8392 * util/mkisofs/include/statdefs.h: Likewise.
8393 * util/mkisofs/iso9660.h: Likewise.
8394 * util/mkisofs/joliet.c: Likewise.
8395 * util/mkisofs/match.c: Likewise.
8396 * util/mkisofs/match.h: Likewise.
8397 * util/mkisofs/mkisofs.c: Likewise.
8398 * util/mkisofs/mkisofs.h: Likewise.
8399 * util/mkisofs/msdos_partition.h: Likewise.
8400 * util/mkisofs/multi.c: Likewise.
8401 * util/mkisofs/name.c: Likewise.
8402 * util/mkisofs/rock.c: Likewise.
8403 * util/mkisofs/tree.c: Likewise.
8404 * util/mkisofs/write.c: Likewise.
8405
8406 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 Unify grub-mkimage accross platforms.
8409
8410 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
8411 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
8412 (grub_mkelfimage_SOURCES): Removed.
8413 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
8414 (util/grub-mkimage.c_DEPENDENCIES): .. this.
8415 (bin_UTILITIES): Add grub-mkimage.
8416 (grub_mkimage_SOURCES): New variable.
8417 (kernel_img_HEADERS): Remove machine/kernel.h.
8418 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
8419 (pkglib_PROGRAMS): Add kernel.img.
8420 (kernel_img_HEADERS): Add machine/kernel.h.
8421 (kernel_img_FORMAT): Removed.
8422 (bin_UTILITIES): Remove grub-mkimage.
8423 (grub_mkimage_SOURCES): Removed.
8424 (grub_mkimage_CFLAGS): Likewise.
8425 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8426 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
8427 (pkglib_PROGRAMS): Add kernel.img.
8428 (bin_UTILITIES): Remove grub-mkimage.
8429 (grub_mkimage_SOURCES): Removed.
8430 (grub_mkimage_CFLAGS): Likewise.
8431 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8432 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
8433 (pkglib_PROGRAMS): Add kernel.img.
8434 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
8435 (pkglib_PROGRAMS): Add kernel.img.
8436 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
8437 (grub_mkimage_SOURCES): Removed.
8438 (grub_mkimage_CFLAGS): Likewise.
8439 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8440 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
8441 (pkglib_PROGRAMS): Add kernel.img.
8442 (bin_UTILITIES): Remove grub-mkimage.
8443 (grub_mkimage_SOURCES): Removed.
8444 (grub_mkimage_CFLAGS): Likewise.
8445 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8446 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
8447 (grub_mkimage_SOURCES): Removed.
8448 (grub_mkimage_CFLAGS): Likewise.
8449 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8450 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
8451 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
8452 (grub_pe32_optional_header): ... this.
8453 (grub_pe64_optional_header): ... and this. All users updated.
8454 (GRUB_PE32_PE32_MAGIC): Split into ..
8455 (GRUB_PE32_PE32_MAGIC): .. this.
8456 (GRUB_PE32_PE64_MAGIC): .. and this.
8457 (GRUB_PE32_SIGNATURE_SIZE): New definition.
8458 * include/grub/elf.h (PT_GNU_STACK): New definition.
8459 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
8460 * include/grub/i386/efi/kernel.h: Likewise.
8461 * include/grub/i386/kernel.h: Likewise.
8462 * include/grub/i386/pc/kernel.h: Likewise.
8463 * include/grub/i386/qemu/boot.h: Likewise.
8464 * include/grub/mips/kernel.h: Likewise.
8465 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8466 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8467 * include/grub/powerpc/kernel.h: Likewise.
8468 * include/grub/sparc64/ieee1275/boot.h: Likewise.
8469 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8470 * include/grub/sparc64/kernel.h: Likewise.
8471 * include/grub/x86_64/efi/kernel.h: Likewise.
8472 * include/grub/x86_64/kernel.h: Likewise.
8473 * include/grub/offsets.h: New file.
8474 * include/grub/kernel.h (grub_module_info): Split into ...
8475 (grub_module_info32): ... this.
8476 (grub_module_info64): ... and this.
8477 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
8478 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
8479 (grub_boot_blocklist): Moved from here ...
8480 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
8481 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
8482 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
8483 * include/grub/types.h (grub_target_to_host16): Removed.
8484 (grub_target_to_host32): Likewise.
8485 (grub_target_to_host64): Likewise.
8486 (grub_host_to_target16): Likewise.
8487 (grub_host_to_target32): Likewise.
8488 (grub_host_to_target64): Likewise.
8489 (grub_host_to_target_addr): Likewise.
8490
8491 Support grub-mkrescue for efi, coreboot and qemu.
8492
8493 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
8494 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
8495 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
8496 * util/grub-mkrawimage.c: Moved from here ...
8497 * util/grub-mkimage.c: ... here. All users updated.
8498 (ALIGN_ADDR): Use image_target.
8499 (TARGET_NO_FIELD): New const.
8500 (image_target_desc): New type.
8501 (image_targets): New array.
8502 (grub_target_to_host64): Use image_target.
8503 (grub_target_to_host32): Likewise.
8504 (grub_target_to_host16): Likewise.
8505 (grub_host_to_target64): Likewise.
8506 (grub_host_to_target32): Likewise.
8507 (grub_host_to_target16): Likewise.
8508 (grub_host_to_target_addr): Likewise.
8509 (generate_image): Handle multiimage.
8510 (main): Require -O parameter. All users updated.
8511 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
8512 util/efi/grub-mkimage.c
8513 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
8514 New option --rom-directory.
8515 Use xorriso.
8516 * util/i386/efi/grub-mkimage.c: Removed.
8517 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
8518 (grub_target_to_host32): Likewise.
8519 (grub_target_to_host64): Likewise.
8520 (grub_host_to_target16): Likewise.
8521 (grub_host_to_target32): Likewise.
8522 (grub_host_to_target64): Likewise.
8523 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
8524 (grub_target_to_host32): Likewise.
8525 (grub_target_to_host64): Likewise.
8526 (grub_host_to_target16): Likewise.
8527 (grub_host_to_target32): Likewise.
8528 (grub_host_to_target64): Likewise.
8529
8530 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
8531
8532 Source tree is reorganized for emu build.
8533
8534 * include/grub/util/console.h: Move from here...
8535 * include/grub/emu/console.h: ...to here.
8536 * include/grub/util/getroot.h: Move from here...
8537 * include/grub/emu/getroot.h: ...to here.
8538 * include/grub/util/hostdisk.h: Move from here...
8539 * include/grub/emu/hostdisk.h: ...to here.
8540 * util/console.c: Move from here...
8541 * kern/emu/console.c: ...to here.
8542 * util/getroot.c: Move from here...
8543 * kern/emu/getroot.c: ...to here.
8544 * util/grub-emu.c: Move from here...
8545 * kern/emu/main.c: ...to here.
8546 * util/hostdisk.c: Move from here...
8547 * kern/emu/hostdisk.c: ...to here.
8548 * util/hostfs.c: Move from here...
8549 * kern/emu/hostfs.c: ...to here.
8550 * util/mm.c: Move from here...
8551 * kern/emu/mm.c: ...to here.
8552 * util/pci.c: Move from here...
8553 * bus/emu/pci.c: ...to here.
8554 * util/sdl.c: Move from here...
8555 * video/emu/sdl.c: ...to here.
8556 * util/time.c: Move from here...
8557 * kern/emu/time.c: ...to here.
8558 * util/usb.c: Move from here...
8559 * bus/usb/emu/usb.c: ...to here.
8560
8561 * include/grub/emu/misc.h: New header for grub-emu functions.
8562 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
8563
8564 * conf/any-emu.rmk: Rule updates for above renames.
8565 * conf/common.rmk: Likewise.
8566 * conf/i386-pc.rmk: Likewise.
8567 * conf/i386-qemu.rmk: Likewise.
8568 * conf/mips.rmk: Likewise.
8569 * conf/sparc64-ieee1275.rmk: Likewise.
8570 * conf/x86-efi.rmk: Likewise.
8571
8572 * disk/lvm.h: #include updates for above renames.
8573 * util/grub-mkrelpath.c: Likewise.
8574 * util/grub-probe.c: Likewise.
8575 * util/i386/pc/grub-setup.c: Likewise.
8576 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8577 * kern/emu/console.c: Likewise.
8578 * kern/emu/getroot.c: Likewise.
8579 * kern/emu/hostdisk.c: Likewise.
8580 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
8581
8582 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
8583 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
8584 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
8585 * util/misc.c: Remove grub-emu functions.
8586
8587 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 Fix gfxmenu crash.
8590 Reported by: Thorsten Grützmacher.
8591
8592 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
8593 timeout hook.
8594 (circprog_set_property): Register and unregister timeout hook.
8595 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
8596 (label_destroy): Free template. and unregister hook.
8597 (label_set_state): New function.
8598 (label_set_property): Handle templates and hooks.
8599 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
8600 timeout hook.
8601 (progress_bar_set_property): Register and unregister timeout hook.
8602 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
8603 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
8604 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
8605 (update_timeout_visit): Removed.
8606 (update_timeouts): New function.
8607 (redraw_timeouts): Likewise.
8608 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
8609 (grub_gfxmenu_clear_timeout): Likewise.
8610 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
8611 (grub_gfxmenu_timeout_notify): Likewise.
8612 (grub_gfxmenu_timeout_notifications): New external variable.
8613 (grub_gfxmenu_timeout_register): New function.
8614 (grub_gfxmenu_timeout_unregister): Likewise.
8615
8616 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 Transform (broken) vga terminal into (working) vga video driver.
8619
8620 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
8621 video/i386/pc/vga.c.
8622 * include/grub/video.h (grub_video_driver_id):
8623 Add GRUB_VIDEO_DRIVER_VGA.
8624 * term/i386/pc/vga.c: Renamed to ...
8625 * video/i386/pc/vga.c: ...this
8626 (DEBUG_VGA): Removed.
8627 (CHAR_WIDTH): Likewise.
8628 (CHAR_HEIGHT): Likewise.
8629 (TEXT_WIDTH): Likewise.
8630 (TEXT_HEIGHT): Likewise.
8631 (DEFAULT_FG_COLOR): Likewise.
8632 (DEFAULT_BG_COLOR): Likewise.
8633 (colored_char): Likewise.
8634 (xpos): Likewise.
8635 (ypos): Likewise.
8636 (cursor_state): Likewise.
8637 (fg_color): Likewise.
8638 (bg_color): Likewise.
8639 (text_buf): Likewise.
8640 (page): Likewise.
8641 (font): Likewise.
8642 (framebuffer): New variable.
8643 (set_read_map): Disabled.
8644 (setup): New variable.
8645 (is_target): Likewise.
8646 (grub_vga_mod_init): Likewise.
8647 (grub_vga_mod_fini): Likewise.
8648 (check_vga_mem): Likewise.
8649 (write_char): Likewise.
8650 (write_cursor): Likewise.
8651 (scroll_up): Likewise.
8652 (grub_vga_putchar): Likewise.
8653 (grub_vga_getcharwidth): Likewise.
8654 (grub_vga_getwh): Likewise.
8655 (grub_vga_getxy): Likewise.
8656 (grub_vga_gotoxy): Likewise.
8657 (grub_vga_cls): Likewise.
8658 (grub_vga_setcolorstate): Likewise.
8659 (grub_vga_setcursor): Likewise.
8660 (grub_video_vga_init): New function.
8661 (grub_video_vga_setup): Likewise.
8662 (grub_video_vga_fini): Likewise.
8663 (update_target): Likewise.
8664 (grub_video_vga_blit_bitmap): Likewise.
8665 (grub_video_vga_blit_render_target): Likewise.
8666 (grub_video_vga_set_active_render_target): Likewise.
8667 (grub_video_vga_get_active_render_target): Likewise.
8668 (grub_video_vga_swap_buffers): Likewise.
8669 (grub_video_vga_set_palette): Likewise.
8670 (grub_video_vga_get_info_and_fini): Likewise.
8671 (grub_vga_term): Removed.
8672 (grub_video_vga_adapter): New variable.
8673 (GRUB_MOD_INIT): Register a video driver instead of terminal.
8674 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
8675
8676 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * video/readers/jpeg.c: Indented.
8679
8680 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8681
8682 Various jpeg cleanups.
8683
8684 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
8685 (grub_jpeg_decode_quan_table): Use sizeof.
8686 (grub_jpeg_decode_du): Use ARRAY_SIZE.
8687
8688 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
8689
8690 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
8691 tables. Ignore non-last ac bit.
8692 (grub_jpeg_decode_quan_table): Likewise.
8693
8694 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8697 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
8698 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8699 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
8700 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
8701 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
8702
8703 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
8706 error.
8707
8708 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
8711
8712 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
8715 condition.
8716
8717 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
8720 part.
8721
8722 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
8725 pointers.
8726
8727 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
8730
8731 2010-05-01 Christian Franke <franke@computer.org>
8732
8733 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
8734 Remove broken Cygwin path conversion.
8735 * util/misc.c: [__CYGWIN__] Add include and define.
8736 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
8737 for Cygwin 1.7.
8738 (make_system_path_relative_to_its_root): Simplify loop, replace early
8739 return by break.
8740 [__CYGWIN__] Add conversion to win32 path.
8741 Include "/" case in trailing slash removal.
8742
8743 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 * kern/main.c (grub_load_config): Fix copy-pasted comment.
8746 Reported by: Seth Goldberg
8747
8748 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 * commands/help.c (grub_cmd_help): Fix a typo.
8751 Reported by: Seth Goldberg
8752
8753 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8754
8755 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
8756 name and add N_.
8757 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
8758 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
8759 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
8760 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
8761 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
8762 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
8763 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8764 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8765 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8766 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8767 * normal/context.c (GRUB_MOD_INIT): Likewise.
8768 * normal/main.c (GRUB_MOD_INIT): Likewise.
8769 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8770 * term/serial.c (GRUB_MOD_INIT): Likewise.
8771 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8772
8773 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
8776 extra == 0.
8777
8778 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * commands/iorw.c: New file.
8781 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
8782 (iorw_mod_SOURCES): New variable.
8783 (iorw_mod_CFLAGS): Likewise.
8784 (iorw_mod_LDFLAGS): Likewise.
8785
8786 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 Hotkey support
8789
8790 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
8791 * normal/main.c (hotkey_aliases): New variable.
8792 (grub_normal_add_menu_entry): Parse "--hotkey".
8793 * normal/menu_text.c (run_menu): Handle hotkeys.
8794
8795 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 * kern/i386/coreboot/init.c (grub_machine_init): Call
8798 grub_machine_mmap_init on qemu.
8799
8800 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8801
8802 * boot/i386/qemu/boot.S: Add a missing .code16.
8803
8804 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 Use LBIO on coreboot.
8807
8808 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
8809 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
8810 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
8811 New declaration.
8812 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
8813 grub_machine_mmap_init on coreboot.
8814 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
8815 GRUB_LINUXBIOS_MEMBER_LINK.
8816 (grub_machine_mmap_iterate): Fix declaration.
8817 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
8818
8819 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 Split coreboot and multiboot ports.
8822
8823 * conf/i386-multiboot.rmk: New file.
8824 * configure.ac: Add multiboot port.
8825 * include/grub/i386/multiboot/boot.h: New file.
8826 * include/grub/i386/multiboot/console.h: Likewise.
8827 * include/grub/i386/multiboot/init.h: Likewise.
8828 * include/grub/i386/multiboot/kernel.h: Likewise.
8829 * include/grub/i386/multiboot/loader.h: Likewise.
8830 * include/grub/i386/multiboot/memory.h: Likewise.
8831 * include/grub/i386/multiboot/serial.h: Likewise.
8832 * include/grub/i386/multiboot/time.h: Likewise.
8833 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
8834 * loader/multiboot.c: Likewise.
8835 * loader/multiboot_mbi2.c: Likewise.
8836 * util/grub-mkrescue.in: Generate multiboot rescue.
8837
8838 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 * kern/parser.c (grub_parser_execute): Cope with read-only config.
8841
8842 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 Merge handling of input and output terminals. Fix a hang.
8845
8846 * commands/terminal.c (abstract_terminal): New struct.
8847 (handle_command): New function. Based on grub_cmd_terminal_input.
8848 (grub_cmd_terminal_input): Use handle_command.
8849 (grub_cmd_terminal_output): Use handle_command.
8850
8851 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
8852
8853 Fix comment handling.
8854
8855 * tests/grub_script_comments.in: New testcase.
8856 * conf/tests.rmk: Rules for new testcase.
8857 * script/yylex.l: Updated flex rules.
8858
8859 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
8860
8861 * docs/grub.texi (play): Document that zero pitches produce rests.
8862 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
8863 if argc is 1.
8864
8865 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8868 autogen issues.
8869
8870 2010-04-26 Christian Franke <franke@computer.org>
8871
8872 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
8873 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
8874 (grub_get_prefix): Remove function.
8875 * util/grub-emu.c (main): Replace grub_get_prefix () call by
8876 make_system_path_relative_to_its_root ().
8877 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8878
8879 2010-04-24 Christian Franke <franke@computer.org>
8880
8881 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
8882 (kernel_img_LDFLAGS): Remove -static-libgcc.
8883
8884 2010-04-24 Christian Franke <franke@computer.org>
8885
8886 * configure.ac: Do not CHECK_BSS_START_SYMBOL
8887 and CHECK_END_SYMBOL if grub-emu is built.
8888 Unset TARGET_OBJ2ELF if grub-emu is built
8889 without module support.
8890
8891 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
8892
8893 Nilfs2 support.
8894
8895 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
8896 (grub_fstest_SOURCES): Likewise.
8897 (pkglib_MODULES): Add nilfs2.mod.
8898 (nilfs2_mod_SOURCES): New variable.
8899 (nilfs2_mod_CFLAGS): Likewise.
8900 (nilfs2_mod_LDFLAGS): Likewise.
8901 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8902 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8903 * fs/nilfs2.c: New file.
8904
8905 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
8908 is not supported.
8909
8910 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
8911
8912 Add grub-mkconfig support for NetBSD.
8913
8914 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
8915 * util/grub-mkconfig.in: export new NetBSD specific variables.
8916 * po/POTFILES-shell: added 10_netbsd.in.
8917 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
8918
8919 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
8920
8921 Fix emu build with grub-emu-pci and grub-emu-modules.
8922
8923 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
8924 functions.
8925 * include/grub/libpciaccess.h: New file.
8926 * conf/any-emu.rmk: Update kernel headers for emu build.
8927
8928 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
8931
8932 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
8935
8936 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
8939 Retrieve chosen/bootpath if bootpath isn't hardcoded.
8940 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
8941 util/ieee1275/ofpath.c.
8942 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
8943 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
8944 * include/grub/sparc64/ieee1275/boot.h
8945 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
8946 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
8947 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
8948 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
8949 const char *.
8950 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
8951 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
8952 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
8953 install.
8954
8955 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8956
8957 * util/grub-mkconfig.in: Corrected two == equality tests.
8958 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
8959 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
8960 expect a number appended to it.
8961 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
8962 expects a number appended to it.
8963
8964 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
8967
8968 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * util/hostdisk.c (make_device_name): Change to new partition naming.
8971
8972 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8973
8974 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
8975
8976 2010-04-17 Christian Franke <franke@computer.org>
8977
8978 * Makefile.in: Add missing localedir setting.
8979
8980 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
8981
8982 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
8983 mistake in r2156. Noticed by Anthony Fok.
8984
8985 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
8986 @localedir@.
8987 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8988
8989 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
8990
8991 Fix a spurious, uninitialized variable warning.
8992
8993 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
8994 Initialize variable, shdr.
8995 (grub_freebsd_load_elfmodule): Likewise.
8996 (grub_freebsd_load_elf_meta): Likewise.
8997
8998 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
8999
9000 Fix for escaped dollar in double quoted strings.
9001
9002 * script/yylex.l: Updated flex rules.
9003 * conf/tests.rmk: Rule for new testcase.
9004 * tests/grub_script_dollar.in: New testcase.
9005
9006 2010-04-13 Carles Pina i Estany <carles@pina.cat>
9007 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
9008
9009 Enclose all translated strings in grub.cfg in single quotes, and
9010 escape them appropriately (Ubuntu bug #552921).
9011
9012 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
9013 * util/grub.d/10_hurd.in: Use it.
9014 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9015 * util/grub.d/10_linux.in (linux_entry): Likewise.
9016
9017 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 Fix cygwin compilation.
9020
9021 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
9022 * include/grub/misc.h (__register_frame_info)
9023 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
9024 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
9025 * kern/misc.c (__register_frame_info)
9026 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
9027 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
9028
9029 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
9032
9033 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 Unify libgcc processing.
9036
9037 * Makefile.in (kernel_img_LDFLAGS): New variable.
9038 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
9039 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
9040 overwriting.
9041 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
9042 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
9043 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
9044 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
9045 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
9046 overwriting. Remove -lgcc and -static-libgcc
9047 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
9048 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9049 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9050 (kernel_img_LDFLAGS): Append instead of overwriting.
9051 Remove -lgcc and -static-libgcc
9052 * conf/sparc64-ieee1275.rmk: Likewise.
9053 * include/grub/powerpc/libgcc.h: Move to ...
9054 * include/grub/libgcc.h: .. this.
9055 * include/grub/libgcc.h: Don't export most of the function on x86.
9056 (__bswapsi2): New export.
9057 (__bswapdi2): Likewise.
9058 * include/grub/mips/libgcc.h: Removed.
9059 * include/grub/sparc64/libgcc.h: Likewise.
9060
9061 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
9064 disk_info_msg (conflicts with gettexting into languages with cases).
9065
9066 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9067
9068 Add grub-probe support for NetBSD.
9069
9070 * util/getroot.c (find_root_device): Convert block device to
9071 character device on NetBSD.
9072 * util/probe.c (probe): Require character device on NetBSD.
9073 * util/hostdisk.c: NetBSD specific headers.
9074 (configure_device_driver): new function to tune device driver
9075 parameters (currently only for NetBSD floppy driver).
9076 (grub_util_biosdisk_open): NetBSD specific code (get disk size
9077 via disklabel ioctl).
9078 (open_device): call configure_device_driver on NetBSD.
9079 (convert_system_partition_to_system_disk): NetBSD specific code.
9080 (device_is_wholedisk): Likewise.
9081 (grub_util_biosdisk_get_grub_dev): Likewise.
9082 (make_device_name): Fixed a typo in bsd_part_str.
9083 * configure.ac: check for opendisk() and getrawpartition() on
9084 NetBSD and set LIBUTIL.
9085 * Makefile.in: add LIBUTIL to LIBS.
9086
9087 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9088
9089 Documentation fix.
9090
9091 * util/grub-script-check.c: Better help message.
9092
9093 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9094
9095 Fix FreeBSD build.
9096
9097 * configure.ac: Flex version check.
9098 * conf/common.rmk: Add -Wno-error to sh.mod.
9099 * script/yylex.l: Remove all #pragma.
9100
9101 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 * include/grub/util/misc.h (canonicalise_file_name): Add missing
9104 prototype.
9105 Reported by: Seth Goldberg.
9106
9107 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
9110 Rename "module" to "module2".
9111 Reported by: Seth Goldberg.
9112
9113 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
9116 EXPORT_FUNC.
9117 Reported by: Seth Goldberg.
9118
9119 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9120
9121 * lib/posix_wrap/locale.h: Add missing file.
9122 Reported by: Seth Goldberg.
9123
9124 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 grub-emu module load support.
9127
9128 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
9129 NO_DYNAMIC_MODULES switched to this.
9130 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
9131 (CFLAGS): Likewise.
9132 * conf/any-emu.rmk: Generate symlist.
9133 (kernel_img_HEADERS): Add util/datetime.h.
9134 (kernel_img_HEADERS) [sdl]: Add sdl.h.
9135 (kernel_img_HEADERS) [libusb]: Add libusb.h.
9136 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
9137 kern/$(target_cpu)/cache.S.
9138 * configure.ac (grub-emu-modules): New option.
9139 * genmk.rb: Handle multiple source lists.
9140 * include/grub/sdl.h: New file.
9141 * include/grub/libusb.h: Likewise.
9142 * util/grub-emu.c (main): Hanle (host) root.
9143 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
9144 GRUB_ERR_UNKNOWN_DEVICE.
9145 * util/misc.c: Move mm functions to ...
9146 * util/mm.c: ... here. All users updated.
9147
9148 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
9151 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
9152 missing files.
9153 (maintainer-clean): Remove libgcrypt-grub.
9154
9155 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9156
9157 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
9158
9159 2010-04-09 EFI Coder <eficoder@hotmail.com>
9160
9161 * normal/menu_text.c (print_message): Clean up the message and show
9162 the Fn information when on EFI
9163 * term/efi/console.c (grub_console_checkkey): Add F4 support.
9164
9165 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
9168 All users updated.
9169 * normal/crypto.c (read_crypto_list): Likewise.
9170 * normal/dyncmd.c (read_command_list): Likewise.
9171 * normal/term.c (read_terminal_list): Likewise.
9172 * normal/main.c (read_lists): Use explicit prefix.
9173 (read_lists_hook): Use read_lists.
9174 (grub_normal_execute): Likewise.
9175
9176 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
9179 Reported by: Thomas Schmitt.
9180 Add -no-emul-boot to grub-mkisofs parameters.
9181
9182 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 * font/font.c: Indented.
9185
9186 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9187
9188 Elif support to GRUB script (by Deepak Vankadaru).
9189
9190 * tests/grub_script_if.in: New testcase.
9191 * conf/tests.rmk: Rule for new testcase.
9192 * script/parser.y: Grammar rules for elif.
9193
9194 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9195
9196 While and until loops support to GRUB script.
9197
9198 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
9199 (grub_script_create_cmdwhile): New function prototype.
9200 (grub_script_execute_cmdwhile): New function prototype.
9201 * script/execute.c (grub_script_execute_cmdwhile): New function.
9202 * script/parser.y (command): New commands.
9203 (whilecmd): New grammar rule.
9204 (untilcmd): New grammar rule.
9205 * script/script.c (grub_script_create_cmdwhile): New function.
9206 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
9207 function.
9208
9209 * tests/grub_script_while1.in: New testcase.
9210 * conf/tests.rmk: Rule for new testcase.
9211
9212 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9213
9214 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
9215 as *.jpg.
9216
9217 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
9218
9219 GRUB_BACKGROUND support.
9220
9221 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
9222 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
9223
9224 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 Load fonts and modules for gfxmenu in grub-mkconfig.
9227 Idea by: Mario Vazquez
9228
9229 * util/grub.d/00_header.in: Load pf2 and image modules.
9230
9231 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9232
9233 grub-mkconfig multiple terminal support.
9234
9235 * util/grub-mkconfig.in: Handle multiple terminals correctly.
9236 * util/grub.d/00_header.in: Likewise.
9237
9238 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9239
9240 * Makefile.in: Specify files explicitly instead of using $< and $@ since
9241 we use cd $(srcdir).
9242
9243 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
9244
9245 * util/grub.d/10_linux.in: Only use the first word of
9246 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
9247 spaces in GRUB_DISTRIBUTOR.
9248 * util/grub.d/10_kfreebsd.in: Likewise.
9249 * util/grub.d/10_hurd.in: Likewise.
9250
9251 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
9252
9253 Fix unit testing framework for Qemu 0.12.
9254
9255 * tests/util/grub-shell.in: Remove -serial stdio option.
9256
9257 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 POSIX header file wrappers.
9260
9261 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
9262 equivalents.
9263 * lib/posix_wrap/ctype.h: Likewise.
9264 * lib/posix_wrap/errno.h: Likewise.
9265 * lib/posix_wrap/langinfo.h: Likewise.
9266 * lib/posix_wrap/limits.h: Likewise.
9267 * lib/posix_wrap/localcharset.h: Likewise.
9268 * lib/posix_wrap/stdint.h: Likewise.
9269 * lib/posix_wrap/stdio.h: Likewise.
9270 * lib/posix_wrap/stdlib.h: Likewise.
9271 * lib/posix_wrap/string.h: Likewise.
9272 * lib/posix_wrap/sys/types.h: Likewise.
9273 * lib/posix_wrap/unistd.h: Likewise.
9274 * lib/posix_wrap/wchar.h: Likewise.
9275 * lib/posix_wrap/wctype.h: Likewise.
9276 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
9277 (grub_script.yy.h): Likewise.
9278 * script/yylex.l: Remove POSIX emulation #defines.
9279 * Makefile.in (POSIX_CFLAGS): New variable.
9280 (GNULIB_UTIL_CFLAGS): Likewise.
9281
9282 Regexp support.
9283
9284 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
9285 (regexp_mod_SOURCES): New variable.
9286 (regexp_mod_CFLAGS): Likewise.
9287 (regexp_mod_LDFLAGS): Likewise.
9288 * commands/regexp.c: New file.
9289 * gnulib/regcomp.c: New file. Imported from gnulib.
9290 * gnulib/regex.c: Likewise.
9291 * gnulib/regex_internal.c: Likewise.
9292 * gnulib/regex_internal.h: Likewise.
9293 * gnulib/regexec.c: Likewise.
9294 * gnulib/regex.h: Likewise.
9295
9296 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
9299 unsupported video mode types.
9300
9301 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
9304
9305 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
9308 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
9309
9310 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 Remove unused grub_vga_get_font.
9313
9314 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
9315 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
9316
9317 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9318
9319 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
9320 * include/grub/misc.h: Likewise.
9321
9322 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9323
9324 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
9325 for which failure is fatal.
9326
9327 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9328
9329 * util/grub-install.in: Use mkdir -p to create grub directory.
9330 * util/i386/efi/grub-install.in: Likewise.
9331 * util/ieee1275/grub-install.in: Likewise.
9332
9333 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9334
9335 * Makefile.in (LEX): new variable.
9336
9337 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9338
9339 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
9340 `=' and added double quotes on operands of this equality test.
9341
9342 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 * Makefile.in (uninstall): Remove a leftover debug echo.
9345 Reported by: Grégoire Sutre
9346
9347 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 MIPS multiboot2 support.
9350
9351 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
9352 (multiboot2_mod_SOURCES): New variable.
9353 (multiboot2_mod_CFLAGS): Likewise.
9354 (multiboot2_mod_LDFLAGS): Likewise.
9355 (multiboot2_mod_ASFLAGS): Likewise.
9356 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
9357 definition.
9358 (MULTIBOOT_ENTRY_REGISTER): Likewise.
9359 (MULTIBOOT_MBI_REGISTER): Likewise.
9360 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
9361 (MULTIBOOT_ELF32_MACHINE): Likewise.
9362 (MULTIBOOT_ELF64_MACHINE): Likewise.
9363 * include/grub/mips/multiboot.h: New file.
9364 * include/grub/video.h (grub_video_driver_id): New type
9365 GRUB_VIDEO_DRIVER_SM712.
9366 (grub_video_get_info_and_fini): Export.
9367 (grub_video_get_palette): Likewise.
9368 (grub_video_get_driver_id): Likewise.
9369 * include/multiboot2.h: Resynced with spec.
9370 * loader/i386/multiboot.c: Moved from here ...
9371 * loader/multiboot.c: ... here. All users updated.
9372 (grub_multiboot_boot): Use platform-specific macros.
9373 * loader/i386/multiboot_elfxx.c: Moved from here ...
9374 * loader/multiboot_elfxx.c: ... here. All users updated.
9375 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
9376 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
9377 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
9378
9379 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 Import gnulib argp module.
9382
9383 * gnulib/argp-ba.c: New file.
9384 * gnulib/argp-eexst.c: Likewise.
9385 * gnulib/argp-fmtstream.c: Likewise.
9386 * gnulib/argp-fmtstream.h: Likewise.
9387 * gnulib/argp-fs-xinl.c: Likewise.
9388 * gnulib/argp-help.c: Likewise.
9389 * gnulib/argp-namefrob.h: Likewise.
9390 * gnulib/argp-parse.c: Likewise.
9391 * gnulib/argp-pin.c: Likewise.
9392 * gnulib/argp-pv.c: Likewise.
9393 * gnulib/argp-pvh.c: Likewise.
9394 * gnulib/argp-version-etc.c: Likewise.
9395 * gnulib/argp-version-etc.h: Likewise.
9396 * gnulib/argp-xinl.c: Likewise.
9397 * gnulib/argp.h: Likewise.
9398
9399 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9400
9401 * kern/device.c (grub_device_iterate): Clear errors after failed
9402 opening device.
9403
9404 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
9407 returned by firmware.
9408
9409 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
9412 compilation on coreboot and qemu
9413
9414 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * include/multiboot2.h: Resync with spec.
9417
9418 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 Multiboot2 tag support
9421
9422 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
9423 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
9424 Remove loader/multiboot_loader.c.
9425 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
9426 (grub_multiboot2_real_boot): Likewise.
9427 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
9428 (grub_get_multiboot_mmap_count): New proto.
9429 (grub_fill_multiboot_mmap): Likewise.
9430 (grub_multiboot_set_video_mode): Likewise.
9431 (grub_multiboot_set_console): Likewise.
9432 (grub_multiboot_load): Likewise.
9433 (grub_multiboot_load_elf): Likewise.
9434 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
9435 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
9436 * include/multiboot.h: Resynced with specification.
9437 * include/multiboot2.h: Resynced with specification.
9438 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
9439 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
9440 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
9441 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
9442 users updated.
9443 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
9444 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
9445 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
9446 Removed.
9447 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
9448 Moved from here...
9449 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
9450 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9451 Moved from here...
9452 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
9453 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
9454 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
9455 All users updated.
9456 * loader/i386/multiboot_mbi2.c: New file.
9457
9458 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9459
9460 Resync with gnulib.
9461
9462 * Makefile.in (GNULIB_CFLAGS): New variable.
9463 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
9464 (grub_script_check_CFLAGS): New variable.
9465 * gnulib/alloca.h: Resync with gnulib.
9466 * gnulib/error.c: Likewise.
9467 * gnulib/error.h: Likewise.
9468 * gnulib/fnmatch.c: Likewise.
9469 * gnulib/fnmatch_loop.c: Likewise.
9470 * gnulib/getdelim.c: Likewise.
9471 * gnulib/getline.c: Likewise.
9472 * gnulib/getopt.c: Likewise.
9473 * gnulib/getopt1.c: Likewise.
9474 * gnulib/getopt_int.h: Likewise.
9475 * gnulib/gettext.h: Likewise.
9476 * gnulib/progname.c: Likewise.
9477 * gnulib/progname.h: Likewise.
9478
9479 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
9480
9481 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
9482 which is the case with --disabled-nls.
9483
9484 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
9485 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
9486 * util/misc.c: Likewise.
9487 * util/mkisofs/mkisofs.c: Likewise.
9488 * util/mkisofs/mkisofs.h: Likewise.
9489
9490 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9491
9492 Simplify Apple CC support.
9493
9494 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
9495 Add 0 byte at the end not to have a symbol with empty target.
9496 * mmap/i386/pc/mmap_helper.S: Likewise.
9497 * genmk.rb: Ignore errors 2030 and 2050.
9498 * kern/i386/pc/startup.S: Use LOCAL when possible.
9499
9500 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
9501
9502 Testcase and the fix for final semicolon on cmdline.
9503
9504 * tests/grub_script_final_semicolon.in: New testcase.
9505 * conf/tests.rmk: Rules for the new testcase.
9506 * script/parser.y: Grammar fix.
9507
9508 2010-03-26 BVK Chaitanya <bvk@localhost>
9509
9510 Blank lines testcase for GRUB script.
9511
9512 * tests/grub_script_blanklines.in: New testcase.
9513 * conf/tests.rmk: Rules for the new testcase.
9514
9515 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 Don't use __FILE__.
9518
9519 * genmk.rb: Add -DGRUB_FILE to all C targets.
9520 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
9521 * include/grub/list.h: Likewise.
9522 * include/grub/misc.h: Likewise.
9523 * include/grub/mm.h: Likewise.
9524 * include/grub/test.h: Likewise.
9525 * kern/mm.c: Likewise.
9526 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9527
9528 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 Sunpc partitions support.
9531
9532 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
9533 (grub_fstest_SOURCES): Likewise.
9534 (pkglib_MODULES): Add part_sunpc.mod.
9535 (part_sunpc_mod_SOURCES): New variable.
9536 (part_sunpc_mod_CFLAGS): Likewise.
9537 (part_sunpc_mod_LDFLAGS): Likewise.
9538 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
9539 * partmap/sunpc.c: New file.
9540
9541 2010-03-26 BVK Chaitanya <bvk@localhost>
9542
9543 For loop support to GRUB script.
9544
9545 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
9546 (grub_script_create_cmdfor): New function prototype.
9547 (grub_script_execute_cmdfor): New function prototype.
9548 * script/execute.c (grub_script_execute_cmdfor): New function.
9549 * script/parser.y (command): New for command.
9550 (forcmd): New grammar rule.
9551 * script/script.c (grub_script_create_cmdfor): New function.
9552 * util/grub-script-check.c (grub_script_execute_cmdfor): New
9553 function.
9554 * tests/grub_script_for1.in: New testcase.
9555 * conf/tests.rmk: Rules for new testcase.
9556
9557 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 Nested partitions
9560
9561 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
9562 'partition' is NULL, grub_partition_get_start already does that.
9563 * commands/loadenv.c (check_blocklists): Likewise.
9564 (write_blocklists): Likewise.
9565 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
9566 (grub_fstest_SOURCES): Likewise.
9567 (pkglib_MODULES): Add part_bsd.mod.
9568 (part_bsd_mod_SOURCES): New variable.
9569 (part_bsd_mod_CFLAGS): Likewise.
9570 (part_bsd_mod_LDFLAGS): Likewise.
9571 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
9572 (grub_emu_SOURCES): Likewise.
9573 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9574 * include/grub/bsdlabel.h: New file.
9575 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
9576 'get_name'.
9577 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
9578 (grub_partition_map_list): New variable.
9579 (grub_partition_map_register): Inline.
9580 (grub_partition_map_unregister): Likewise.
9581 (FOR_PARTITION_MAPS): New macro.
9582 (grub_partition_map_iterate): Removed.
9583 (grub_partition_get_start): Handle nested partitions.
9584 * include/grub/msdos_partition.h: Remove bsd-related entries.
9585 (grub_pc_partition): Remove.
9586 * kern/disk.c (grub_disk_close): Free partition data.
9587 (grub_disk_adjust_range): Handle nested partitions.
9588 * kern/partition.c (grub_partition_map_probe): New function.
9589 (grub_partition_probe): Parse name to number, handle subpartitions.
9590 (get_partmap): New function.
9591 (grub_partition_iterate): Handle subpartitions.
9592 (grub_partition_get_name): Likewise.
9593 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
9594 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
9595 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
9596 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
9597 Set 'number'.
9598 (acorn_partition_map_probe): Remove.
9599 (acorn_partition_map_get_name): Likewise.
9600 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
9601 Set 'number'.
9602 Set 'index' to 0 since there can be only one partition entry per sector.
9603 (amiga_partition_map_probe): Remove.
9604 (amiga_partition_map_get_name): Likewise.
9605 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
9606 Set 'number'.
9607 Set 'offset' and 'index' to real positions of partitions.
9608 (apple_partition_map_probe): Remove.
9609 (apple_partition_map_get_name): Likewise.
9610 * partmap/bsdlabel.c: New file.
9611 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
9612 Set 'number'.
9613 Allocate 'data' so it can be correctly freed.
9614 Set 'index' to offset inside sector.
9615 (gpt_partition_map_probe): Remove.
9616 (gpt_partition_map_get_name): Likewise.
9617 * partmap/msdos.c (grub_partition_parse): Remove.
9618 (pc_partition_map_iterate): Don't force raw access.
9619 Set 'number'.
9620 Make 'ext_offset' a local variable.
9621 (pc_partition_map_probe): Remove.
9622 (pc_partition_map_get_name): Remove.
9623 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
9624 Set 'number'.
9625 (sun_partition_map_probe): Remove.
9626 (sun_partition_map_get_name): Likewise.
9627 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
9628 (grub_pcpart_type): Likewise.
9629 * util/hostdisk.c (open_device): Handle new numbering scheme.
9630 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
9631 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
9632 * util/grub-probe.c (probe_partmap): Handle nested paritions.
9633 * util/grub-install.in: Insert all subpartition modules.
9634 * util/ieee1275/grub-install.in: Likewise.
9635
9636 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
9637
9638 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
9639 grammar.
9640
9641 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
9642
9643 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
9644
9645 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
9646
9647 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
9648 match where 'make install' puts them.
9649 * util/i386/efi/grub-install.in: Likewise.
9650
9651 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
9652
9653 * .bzrignore: Add gentrigtables, grub-script-check,
9654 grub_script_check_init.c, grub_script_check_init.h, and
9655 trigtables.c.
9656
9657 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * kern/parser.c: Indented.
9660
9661 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
9664
9665 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
9668 alpha_mask_size == 0 case.
9669
9670 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
9671
9672 GRUB shell lexer and parser improvements.
9673
9674 * conf/any-emu.rmk: Build rule updates.
9675 * conf/common.rmk: Likewise.
9676 * conf/i386-coreboot.rmk: Likewise.
9677 * conf/i386-efi.rmk: Likewise.
9678 * conf/i386-ieee1275.rmk: Likewise.
9679 * conf/i386-pc.rmk: Likewise.
9680 * conf/powerpc-ieee1275.rmk: Likewise.
9681 * conf/x86_64-efi.rmk: Likewise.
9682
9683 * configure.ac: Configure check for flex.
9684
9685 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
9686 types.
9687 (grub_lexer_param): Struct member updates.
9688 (grub_parser_param): Likewise.
9689 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
9690 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
9691 (grub_script_lexer_init): Prototype update.
9692 (grub_script_lexer_record_start): Likewise.
9693 (grub_script_lexer_record_stop): Likewise.
9694 (grub_script_lexer_yywrap): New function prototype.
9695 (grub_script_lexer_fini): Likewise.
9696 (grub_script_execute_argument_to_string): Removed by...
9697 (grub_script_execute_argument_to_argv): ...better version.
9698
9699 * script/execute.c (ROUND_UPTO): New macro.
9700 (grub_script_execute_cmdline): Out of memory fixes.
9701 (grub_script_execute_menuentry): Likewise.
9702 (grub_script_execute_argument_to_string): Removed. Update all
9703 users by...
9704 (grub_script_execute_argument_to_argv): ...better version.
9705 * script/function.c (grub_script_function_create): Use
9706 grub_script_execute_argument_to_argv instead of
9707 grub_script_execute_argument_to_string.
9708
9709 * script/lexer.c (check_varstate): Removed.
9710 (check_textstate): Removed.
9711 (grub_script_lexer_record_start): Likewise.
9712 (grub_script_lexer_record_stop): Likewise.
9713 (recordchar): Replaced with...
9714 (grub_script_lexer_record): ...new function.
9715 (nextchar): Removed.
9716 (grub_script_lexer_init): Rewritten.
9717 (grub_script_yylex): Rewritten.
9718 (append_newline): New function.
9719 (grub_script_lexer_yywrap): New function.
9720 (grub_script_lexer_fini): New function.
9721 (grub_script_yyerror): Sets error flag.
9722
9723 * script/yylex.l: New file.
9724 (grub_lexer_yyfree): Wrapper for flex yyffre.
9725 (grub_lexer_yyalloc): Likewise.
9726 (grub_lexer_yyrealloc): Likewise.
9727 * script/parser.y: Refactored.
9728
9729 * script/script.c (grub_script_arg_add): Out of memory fixes.
9730 (grub_script_add_arglist): Likewise.
9731 (grub_script_create_cmdline): Likewise.
9732 (grub_script_create_cmdmenu): Likewise.
9733 (grub_script_add_cmd): Likewise.
9734 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
9735 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
9736 unnecessary code.
9737
9738 * tests/grub_script_echo1.in: New testcase.
9739 * tests/grub_script_vars1.in: New testcase.
9740 * tests/grub_script_echo_keywords.in: New testcase.
9741
9742 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9743
9744 Remove some redundancy in build system.
9745
9746 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
9747 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
9748 (TARGET_LDFLAGS): Add -nostdlib.
9749 (TARGET_IMG_LDFLAGS): Likewise.
9750 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
9751 anything since mmap isn't available.
9752 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
9753 Add util/time.c.
9754 (pkglib_MODULES): Remove reboot.mod.
9755 (reboot_mod_SOURCES): Removed.
9756 (reboot_mod_CFLAGS): Likewise.
9757 (reboot_mod_LDFLAGS): Likewise.
9758 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
9759 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
9760 (DEFSYMFILES): Add kernel_syms.lst.
9761 (kernel_img_HEADERS): Add common headers.
9762 (symlist.c): New target.
9763 (kernel_syms.lst): Likewise.
9764 (pkglib_MODULES): Add memdisk.mod.
9765 (memdisk_mod_SOURCES): New variable.
9766 (memdisk_mod_CFLAGS): Likewise.
9767 (memdisk_mod_LDFLAGS): Likewise.
9768 (pkglib_MODULES): Add reboot.mod.
9769 (reboot_mod_SOURCES): New variable.
9770 (reboot_mod_CFLAGS): Likewise.
9771 (reboot_mod_LDFLAGS): Likewise.
9772 (pkglib_MODULES): Add date.mod.
9773 (date_mod_SOURCES): New variable.
9774 (date_mod_CFLAGS): Likewise.
9775 (date_mod_LDFLAGS): Likewise.
9776 (pkglib_MODULES): Add datehook.mod.
9777 (datehook_mod_SOURCES): New variable.
9778 (datehook_mod_CFLAGS): Likewise.
9779 (datehook_mod_LDFLAGS): Likewise.
9780 (pkglib_MODULES): Add lsmmap.mod.
9781 (lsmmap_mod_SOURCES): New variable.
9782 (lsmmap_mod_CFLAGS): Likewise.
9783 (lsmmap_mod_LDFLAGS): Likewise.
9784 (pkglib_MODULES): Add boot.mod.
9785 (boot_mod_SOURCES): New variable.
9786 (boot_mod_CFLAGS): Likewise.
9787 (boot_mod_LDFLAGS): Likewise.
9788 * conf/i386-coreboot.rmk: Removed redundant parts.
9789 * conf/i386-ieee1275.rmk: Likewise.
9790 * conf/i386-pc.rmk: Likewise.
9791 * conf/mips-yeeloong.rmk: Likewise.
9792 * conf/mips.rmk: Likewise.
9793 * conf/powerpc-ieee1275.rmk: Likewise.
9794 * conf/sparc64-ieee1275.rmk: Likewise.
9795 * conf/x86_64-efi.rmk: Likewise.
9796 * conf/i386-coreboot.rmk: Moved qemu parts ..
9797 * conf/i386-qemu.rmk: ... here
9798 * conf/i386-efi.rmk: Moved common parts to...
9799 * conf/x86-efi.rmk: ... here.
9800 * conf/i386.rmk: Added modules common to all x86 variants.
9801 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
9802 * disk/memdisk.c: Remove grub/machine/kernel.h.
9803 * gensymlist.sh.in: Include symbol.h.
9804 * hook/datehook.c: Correct module name.
9805 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
9806 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
9807 * include/grub/i386/efi/serial.h: New file.
9808 * include/grub/x86_64/efi/serial.h: Likewise.
9809 * util/time.c: Likewise.
9810 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
9811
9812 2010-03-14 Colin King <colin.king@ubuntu.com>
9813 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9814
9815 Shrink the pre-partition-table part of boot.img by eight bytes.
9816
9817 * boot/i386/pc/boot.S (ERR): New macro.
9818 (chs_mode): Use ERR.
9819 (geometry_error): Likewise.
9820 (hd_probe_error): Remove. This is only used once, so we wrwite
9821 it inline instead.
9822 (read_error): Instead of printing read_error_string, just set up
9823 %si and fall through to ...
9824 (error_message): ... this new function, also used by ERR.
9825
9826 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9827
9828 Speed up consecutive hostdisk operations on the same device.
9829
9830 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
9831 (grub_util_biosdisk_open): Initialise disk->data.
9832 (struct linux_partition_cache): New structure.
9833 (linux_find_partition): Cache partition start positions; these are
9834 expensive to compute on every read and write.
9835 (open_device): Cache open file descriptor in disk->data, so that we
9836 don't have to reopen it and flush the buffer cache for consecutive
9837 operations on the same device.
9838 (grub_util_biosdisk_close): New function.
9839 (grub_util_biosdisk_dev): Set `close' member.
9840
9841 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
9842 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
9843 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9844 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9845 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
9846
9847 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 Compile parts of grub-emu as modules.
9850
9851 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
9852 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
9853 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
9854 (all-local): Add $(GRUB_EMU).
9855 (install-local): Install $(GRUB_EMU).
9856 (uninstall): Uninstall $(GRUB_EMU).
9857 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
9858 * kern/dl.c: Likewise.
9859 * commands/sleep.c: Not include machine/time.h.
9860 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
9861 (COMMON_CFLAGS): Likewise.
9862 (sbin_UTILITIES): Remove grub-emu.
9863 (grub_emu_SOURCES): Removed.
9864 (kernel_img_RELOCATABLE): New variable.
9865 (pkglib_PROGRAMS): Add kernel.img.
9866 (kernel_img_SOURCES): New variable
9867 (kernel_img_CFLAGS): Likewise.
9868 (kernel_img_LDFLAGS): Likewise.
9869 (TARGET_NO_STRIP): Likewise.
9870 (TARGET_NO_DYNAMIC_MODULES): Likewise.
9871 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
9872 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
9873 (grub-emu): New target.
9874 (GRUB_EMU): New variable.
9875 * configure.ac: Whitelist -emu as possible x86_64 architecture.
9876 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
9877 * loader/xnu.c: Likewise.
9878 * include/grub/pci.h: Likewise.
9879 * genemuinit.sh: New file.
9880 * genemuinitheader.sh: Likewise.
9881 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
9882 Support TARGET_NO_DYNAMIC_MODULES.
9883 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
9884 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
9885 * disk/loopback.c: Likewise.
9886 * font/font_cmd.c: Likewise.
9887 * partmap/acorn.c: Likewise.
9888 * partmap/amiga.c: Likewise.
9889 * partmap/apple.c: Likewise.
9890 * partmap/gpt.c: Likewise.
9891 * partmap/msdos.c: Likewise.
9892 * partmap/sun.c: Likewise.
9893 * parttool/msdospart.c: Likewise.
9894 * term/gfxterm.c: Likewise.
9895 * video/bitmap.c: Likewise.
9896 * video/readers/jpeg.c: Likewise.
9897 * video/readers/png.c: Likewise.
9898 * video/readers/tga.c: Likewise.
9899 * video/video.c: Likewise.
9900 * util/grub-emu.c (read_command_list): Removed.
9901 (main): Don't call util_init_nls.
9902 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
9903 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
9904
9905 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9906
9907 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
9908 date.mod, datehook.mod.
9909 (datetime_mod_SOURCES): New variable.
9910 (datetime_mod_CFLAGS): Likewise.
9911 (datetime_mod_LDFLAGS): Likewise.
9912 (date_mod_SOURCES): Likewise.
9913 (date_mod_CFLAGS): Likewise.
9914 (date_mod_LDFLAGS): Likewise.
9915 (datehook_mod_SOURCES): Likewise.
9916 (datehook_mod_CFLAGS): Likewise.
9917 (datehook_mod_LDFLAGS): Likewise.
9918 * conf/sparc64-ieee1275.rmk: Likewise.
9919 * lib/ieee1275/datetime.c: New file.
9920
9921 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
9924 (ieee1275_fb_mod_SOURCES): New variable.
9925 (ieee1275_fb_mod_CFLAGS): Likewise.
9926 (ieee1275_fb_mod_LDFLAGS): Likewise.
9927 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
9928 New proto.
9929 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
9930 (HEAP_MAX_ADDR): Likewise.
9931 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
9932 type.
9933 Correct stop condition.
9934 (grub_ieee1275_devices_iterate): New function.
9935 * video/ieee1275.c: New file.
9936
9937 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
9940
9941 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
9942 as scratch.
9943 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
9944 SCRATCH_PAD_DISKBOOT as scratch.
9945 (bootit): Pass Openfirmware pointer in %o4.
9946 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
9947 of 0x200000.
9948 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
9949 with util/grub-mkrawimage.c.
9950 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
9951 * include/grub/aout.h (AOUT_MID_SUN): New definition.
9952 (grub_aout_get_type) [GRUB_UTIL]: Removed.
9953 (grub_aout_load) [GRUB_UTIL]: Likewise.
9954 * include/grub/kernel.h (grub_modules_get_end): New proto.
9955 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
9956 (SCRATCH_PAD_BOOT): New definition.
9957 (SCRATCH_PAD_DISKBOOT): Likewise.
9958 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
9959 * include/grub/sparc64/ieee1275/ieee1275.h
9960 (grub_ieee1275_original_stack): New variable
9961 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9962 New definition
9963 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
9964 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
9965 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
9966 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
9967 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
9968 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
9969 (grub_platform_image_format_t): New type.
9970 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
9971 * kern/main.c (grub_modules_get_end)
9972 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
9973 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
9974 (codestart): Switch stacks.
9975 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
9976 variable.
9977 (grub_heap_init): Use grub_modules_get_end.
9978 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
9979 stack.
9980 * util/grub-mkrawimage.c (generate_image): Support sparc64.
9981 (main): Likewise.
9982 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
9983
9984 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
9985
9986 * util/grub-mkrescue.in: Base ISO UUID on UTC.
9987
9988 2010-03-08 Matt Kraai <kraai@ftbfs.org>
9989
9990 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
9991 bug #559005).
9992
9993 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * genmoddep.awk: Output all missing symbols and not only first.
9996
9997 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * NEWS: Put the date of 1.98 release.
10000
10001 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
10004 ft2build.h.
10005
10006 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
10009 completition in the middle of string.
10010
10011 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10012
10013 * util/grub-mkrescue.in: Use mktemp with explicit template.
10014
10015 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
10018
10019 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
10022 right pointer.
10023
10024 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 Fix FreeBSD compilation.
10027
10028 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
10029 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
10030
10031 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
10034
10035 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
10038
10039 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
10042
10043 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
10044
10045 Support relative image path in theme file.
10046
10047 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
10048 (image_set_property): Handle theme_dir and relative path.
10049
10050 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 * configure.ac: Alias amd64 to x86_64.
10053
10054 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * NEWS: mention multiboot on EFI.
10057
10058 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * kern/main.c (grub_load_modules): Handle errors from init functions of
10061 embeded modules.
10062
10063 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10064
10065 * normal/autofs.c (autoload_fs_module): Handle errors.
10066
10067 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 Disable linux.mod on qemu-mips since it's not functional and leads
10070 to compilation failure.
10071
10072 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
10073 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
10074 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
10075 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
10076 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
10077 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
10078 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
10079 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
10080 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
10081 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
10082 Reported by: BVK Chaitanya
10083
10084 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
10085
10086 * INSTALL: Add gettext as a dependency and add qemu to a new section
10087 "Prerequisites for make-check".
10088
10089 2010-03-04 Christian Franke <franke@computer.org>
10090
10091 * util/grub-pe2elf.c: Add missing include "progname.h".
10092
10093 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * normal/crypto.c (read_crypto_list): Fix a typo.
10096 Reported by: Seth Goldberg.
10097
10098 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
10101 Reported by: Seth Goldberg.
10102
10103 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10104
10105 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
10106 ascii.bitmaps.
10107
10108 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10109
10110 * genmk.rb: Remove terminal*.lst in make clean.
10111 Reported by: Seth Goldberg.
10112
10113 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * util/i386/efi/grub-install.in: Copy gettext files.
10116
10117 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
10120
10121 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 Wait for user entry basing on presence of output rather than on errors.
10124
10125 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
10126 (grub_install_newline_hook): Likewise.
10127 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
10128 * normal/menu.c (show_menu): Check line_counter to determine presence
10129 of output.
10130 * normal/term.c (grub_normal_line_counter): New variable.
10131 (grub_normal_get_line_counter): New function.
10132 (grub_install_newline_hook): Likewise.
10133
10134 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
10137
10138 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * configure.ac: Update version to 1.98.
10141
10142 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10143
10144 * util/grub.d/10_linux.in (linux_entry): Don't default to
10145 gfxpayload=keep if Linux doesn't support video handover.
10146
10147 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 Don't compile video modules on yeeloong since video subsystem is part
10150 of kernel.
10151
10152 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
10153 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
10154 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
10155 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
10156 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
10157 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
10158 * include/grub/bitmap_scale.h: Likewise.
10159 * include/grub/bufio.h: Likewise.
10160 * include/grub/font.h: Likewise.
10161 * include/grub/gfxterm.h: Likewise.
10162 * include/grub/video.h: Likewise.
10163 * include/grub/vbe.h: Don't include video_fb.h.
10164 * video/i386/pc/vbe.c: Include video_fb.h.
10165 * commands/i386/pc/vbetest.c: Include video.h.
10166
10167 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
10168
10169 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
10170 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
10171 default entry if GRUB_SAVEDEFAULT=true. This allows using
10172 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
10173 saving a new default on every boot.
10174
10175 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10176
10177 * normal/crypto.c (read_crypto_list): Fix a memory leak.
10178 * normal/term.c (read_terminal_list): Likewise.
10179 * normal/main.c (grub_normal_init_page): Likewise.
10180 (grub_normal_read_line_real): Likewise.
10181
10182 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10183
10184 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
10185 memory leak.
10186 Reported by: Seth Goldberg.
10187
10188 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
10189
10190 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
10191 duplicate declaration of `start'.
10192
10193 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
10196 filename.
10197 Reported by: Georgy Buranov
10198
10199 2010-02-20 Carles Pina i Estany <carles@pina.cat>
10200
10201 * util/grub-mkrawimage.c (usage): Change string formatting to
10202 improve gettext.
10203
10204 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10205
10206 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
10207 backspace keys.
10208
10209 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
10212 Reported by: Michael Suchanek.
10213
10214 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
10215
10216 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
10217 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
10218
10219 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
10220
10221 Remove any reference to non-free fonts.
10222
10223 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
10224 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
10225 uses non-free components.
10226 * font/font.c (grub_font_get_name): Remove example name.
10227 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
10228 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10229 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
10230 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
10231
10232 2010-02-16 Georgy Buranov <gburanov@gmail.com>
10233
10234 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
10235
10236 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
10239 Double divisor.
10240 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
10241 features.
10242 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
10243
10244 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * gensymlist.sh.in: Use TARGET_CC instead of CC.
10247
10248 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10249
10250 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
10251 * docs/grub.texi (Command-line and menu entry commands): Document play
10252 command.
10253
10254 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10255
10256 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
10257 parse arguments as inline tempo and notes. Move code for playing notes
10258 to...
10259 (play): ... new function.
10260
10261 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10262
10263 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
10264 grub_uint16_t instead of short.
10265 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
10266 disk from little endian to cpu endianness.
10267
10268 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
10269
10270 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
10271 GRUB_TICKS_PER_SECOND instead of 120.
10272
10273 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
10276 escape sequence after \e.
10277
10278 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
10281 non-ASCII characters.
10282
10283 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
10286 set root in single quotes to prevent \, from being unescaped.
10287
10288 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 Prevent unknown commands from stopping menuentry execution.
10291
10292 * script/execute.c (grub_script_execute_cmdline): Print error after
10293 unknown command.
10294
10295 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
10298 Reported by: Pavel Pisa.
10299
10300 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
10303
10304 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 Merge grub_ieee1275_map_physical into grub_map and rename to
10307 grub_ieee1275_map
10308
10309 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
10310 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
10311 Remove.
10312 * kern/ieee1275/openfw.c (grub_map): Rename to ...
10313 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
10314 necessary.
10315 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
10316
10317 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
10320 opening and not after.
10321
10322 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
10325 constants.
10326
10327 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
10330 (alloc_phys): Use ALIGN_UP instead of align_addr.
10331
10332 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10333
10334 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
10335
10336 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10337
10338 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
10339
10340 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10341
10342 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
10343 verbose dprintf.
10344
10345 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 Fix over-4GiB seek on sparc64.
10348
10349 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
10350 Replace pos_i and pos_lo with pos. All users updated.
10351 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10352 New constant.
10353 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10354 Likewise.
10355 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
10356 and pos_lo.
10357
10358 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 * util/grub-mkrawimage.c (main): Call set_program_name.
10361
10362 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 Properly align 64-bit targets.
10365
10366 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
10367 (generate_image): Use ALIGN_ADDR.
10368
10369 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 Properly create cross-endian images.
10372
10373 * include/grub/types.h (grub_host_to_target_addr): New macro
10374 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
10375
10376 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
10379
10380 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10381
10382 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
10383
10384 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
10385 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
10386 (grub_linux_boot): Divide by 64K when on VESA.
10387
10388 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10389
10390 Support GRUB_GFXPAYLOAD_LINUX.
10391
10392 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
10393 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
10394
10395 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
10398 to show messages instead of discarding them.
10399 Process errors after executing command and not before. Keep old method
10400 too as precaution.
10401
10402 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * configure.ac: Check for ft2build.h.
10405
10406 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
10409
10410 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 * genkernsyms.sh.in: Use TARGET_CC.
10413
10414 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
10415
10416 * NEWS: Update.
10417
10418 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 * include/grub/multiboot2.h: Remove leftover file.
10421 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
10422 * include/grub/partition.h [GRUB_UTIL]: Likewise.
10423
10424 2010-02-07 Yves Blusseau <blusseau@zetam.org>
10425
10426 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
10427
10428 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 Fix warnings in grub-emu when compiling with maximum warning options.
10431
10432 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
10433 (grub_arch_modules_addr): Return 0 and not NULL.
10434 * util/misc.c (ENABLE_RELOCATABLE): New definition.
10435 (xstrdup): Use newstr instead of dup.
10436 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
10437 of disk to dsk to avoid shadowing.
10438 (find_free_slot): Fix prototype.
10439 * util/getroot.c (grub_util_is_dmraid): Make static.
10440 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
10441 Add missing prototype.
10442 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
10443
10444 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 * loader/i386/linux.c (grub_linux_setup_video): Handle error
10447 appropriately.
10448
10449 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
10452 code out.
10453
10454 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
10457 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
10458 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
10459 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
10460 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
10461 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
10462
10463 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * include/grub/err.h (grub_err_printf): Don't export.
10466
10467 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
10470
10471 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 * include/grub/i18n.h (grub_gettext_dummy): Removed.
10474 * kern/misc.c (grub_gettext_dummy): Make static.
10475
10476 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10477
10478 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
10479 by non-valid ones.
10480 * kern/term.c (grub_putchar): Likewise.
10481
10482 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
10485 buggy hook call and memory leak.
10486
10487 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
10490
10491 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10492
10493 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
10494
10495 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10496
10497 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
10498 modevar.
10499 Return grub_errno on allocation error.
10500
10501 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
10504
10505 2010-02-06 Yves Blusseau <blusseau@zetam.org>
10506
10507 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
10508 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
10509
10510 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10511
10512 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
10513 non-pxe disk.
10514 (grub_pxefs_open): Likewise.
10515
10516 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10517
10518 * util/grub.d/10_hurd.in: Add --class information to menuentries.
10519 * util/grub.d/10_kfreebsd.in: Likewise.
10520 * util/grub.d/10_linux.in: Likewise.
10521
10522 2010-02-06 Colin D Bennett <colin@gibibit.com>
10523
10524 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
10525 (gfxmenu_mod_SOURCES): New variable.
10526 (gfxmenu_mod_CFLAGS): Likewise.
10527 (gfxmenu_mod_LDFLAGS): Likewise.
10528 * include/grub/term.h (grub_term_set_current_output): Declare
10529 argument as const.
10530 * docs/gfxmenu-theme-example.txt: New file.
10531 * gfxmenu/gfxmenu.c: Likewise.
10532 * gfxmenu/gui_box.c: Likewise.
10533 * gfxmenu/gui_canvas.c: Likewise.
10534 * gfxmenu/gui_circular_progress.c: Likewise.
10535 * gfxmenu/gui_image.c: Likewise.
10536 * gfxmenu/gui_label.c: Likewise.
10537 * gfxmenu/gui_list.c: Likewise.
10538 * gfxmenu/gui_progress_bar.c: Likewise.
10539 * gfxmenu/gui_string_util.c: Likewise.
10540 * gfxmenu/gui_util.c: Likewise.
10541 * gfxmenu/icon_manager.c: Likewise.
10542 * gfxmenu/model.c: Likewise.
10543 * gfxmenu/named_colors.c: Likewise.
10544 * gfxmenu/theme_loader.c: Likewise.
10545 * gfxmenu/view.c: Likewise.
10546 * gfxmenu/widget-box.c: Likewise.
10547 * include/grub/gfxmenu_model.h: Likewise.
10548 * include/grub/gfxmenu_view.h: Likewise.
10549 * include/grub/gfxwidgets.h: Likewise.
10550 * include/grub/gui.h: Likewise.
10551 * include/grub/gui_string_util.h: Likewise.
10552 * include/grub/icon_manager.h: Likewise.
10553
10554 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10555
10556 Agglomerate scrolling in gfxterm.
10557
10558 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
10559 (grub_virtual_screen_setup): Initialise 'total_screen'.
10560 (write_char): Split to ...
10561 (paint_char): ... this ...
10562 (write_char): ... and this.
10563 (paint_char): Handle delayed scrolling.
10564 (draw_cursor): Likewise.
10565 (scroll_up): Split to ...
10566 (real_scroll): ... this ...
10567 (scroll_up): ... and this.
10568 (real_scroll): Handle multi-line scroll and draw below-the-bottom
10569 characters.
10570 (grub_gfxterm_refresh): Call real_scroll.
10571
10572 2010-02-06 Colin D Bennett <colin@gibibit.com>
10573
10574 * include/grub/misc.h (grub_iscntrl): New inline function.
10575 (grub_isalnum): Likewise.
10576 (grub_strtol): Likewise.
10577
10578 2010-02-06 Colin D Bennett <colin@gibibit.com>
10579
10580 * normal/menu_text.c (get_entry_number): Move from here ...
10581 * normal/menu.c (get_entry_number): ... moved here.
10582 * include/grub/menu.h (grub_menu_get_default_entry_index):
10583 New prototype.
10584 * normal/menu.c (grub_menu_get_default_entry_index): New function.
10585 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
10586 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
10587 (grub_menu_viewer_should_return): Likewise.
10588 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
10589 * normal/menu_text.c (run_menu): Enable menu switching.
10590 * normal/menu_viewer.c (should_return): New variable.
10591 (menu_viewer_changed): Likewise.
10592 (grub_menu_viewer_show_menu): Handle menu viewer changes.
10593 (grub_menu_viewer_should_return): New function.
10594 (menuviewer_write_hook): Likewise.
10595 (grub_menu_viewer_init): Likewise.
10596
10597 2010-02-06 Colin D Bennet <colin@gibibit.com>
10598 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 Support for gfxterm in a window.
10601
10602 * include/grub/gfxterm.h: New file.
10603 * include/grub/video.h (struct grub_video_rect): New declaration.
10604 (grub_video_rect_t): Likewise.
10605 * term/gfxterm.c (struct grub_gfxterm_window): New type.
10606 (refcount): New variable.
10607 (render_target): Likewise.
10608 (window): Likewise.
10609 (repaint_callback): Likewise.
10610 (grub_virtual_screen_setup): Use 'render_target'.
10611 (init_window): New function.
10612 (grub_gfxterm_init_window): Likewise.
10613 (grub_gfxterm_init): Check reference counter.
10614 Use init_window.
10615 (destroy_window): New function.
10616 (grub_gfxterm_destroy_window): Likewise.
10617 (grub_gfxterm_fini): Check reference counter.
10618 Use destroy_window.
10619 (redraw_screen_rect): Restore viewport.
10620 Use 'render_target' and 'window'.
10621 Call 'repaint_callback'.
10622 (write_char): Use 'render_target'.
10623 (draw_cursor): Likewise.
10624 (scroll_up): Restore viewport.
10625 Use 'render_target' and 'window'.
10626 Call 'repaint_callback'.
10627 (grub_gfxterm_cls): Likewise.
10628 (grub_gfxterm_refresh): Use 'window'.
10629 (grub_gfxterm_set_repaint_callback): New function.
10630 (grub_gfxterm_background_image_cmd): Use 'window'.
10631 (grub_gfxterm_get_term): New function.
10632 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
10633
10634 2010-02-06 Colin D Bennett <colin@gibibit.com>
10635
10636 Bitmap scaling support.
10637
10638 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
10639 (bitmap_scale_mod_SOURCES): New variable.
10640 (bitmap_scale_mod_CFLAGS): Likewise.
10641 (bitmap_scale_mod_LDFLAGS): Likewise.
10642 * include/grub/bitmap_scale.h: New file.
10643 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
10644 (background_image_cmd_options): New variable.
10645 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
10646 (cmd): Rename and change type to ...
10647 (background_image_cmd_handle): ... this. All users updated.
10648 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
10649 * video/bitmap_scale.c: New file.
10650
10651 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 SDL support.
10654
10655 * Makefile.in (LIBSDL): New variable.
10656 (enable_grub_emu_sdl): Likewise.
10657 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
10658 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
10659 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
10660 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
10661 * util/sdl.c: New file.
10662
10663 2010-02-06 Colin D Bennett <colin@gibibit.com>
10664 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 Double buffering support.
10667
10668 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
10669 * include/grub/video.h: Update comment.
10670 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
10671 New type.
10672 (grub_video_fb_doublebuf_blit_init): New prototype.
10673 * term/gfxterm.c (scroll_up): Support double buffering.
10674 (grub_gfxterm_refresh): Likewise.
10675 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
10676 (grub_video_fb_doublebuf_blit_init): Likewise.
10677 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
10678 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
10679 'displayed_page', 'render_page' and 'update_screen'.
10680 (grub_video_vbe_fini): Free offscreen buffer.
10681 (doublebuf_pageflipping_commit): New function.
10682 (doublebuf_pageflipping_update_screen): Likewise.
10683 (doublebuf_pageflipping_init): Likewise.
10684 (double_buffering_init): Likewise.
10685 (grub_video_vbe_setup): Enable doublebuffering.
10686 (grub_video_vbe_swap_buffers): Implement.
10687 (grub_video_vbe_set_active_render_target): Handle double buffering.
10688 (grub_video_vbe_get_active_render_target): Likewise.
10689 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
10690 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
10691 (grub_video_vbe_enable_double_buffering): Likewise.
10692 (grub_video_vbe_swap_buffers): Use update_screen.
10693 (grub_video_set_mode): Use double buffering.
10694
10695 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10696
10697 * maintainance/gentrigtables.py: Remove.
10698 * lib/trig.c: Likewise.
10699
10700 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
10701
10702 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
10703 `trigtables.c'.
10704 (trigtables.c): New rule.
10705 (gentrigtables): Likewise.
10706 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
10707
10708 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10709
10710 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
10711 integer constants.
10712
10713 2010-02-06 Colin D Bennet <colin@gibibit.com>
10714
10715 Trigonometry support.
10716
10717 * include/grub/trig.h: New file.
10718 * lib/trig.c: Likewise.
10719 * maintainance/gentrigtables.py: Likewise.
10720 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
10721 (trig_mod_SOURCES): New variable.
10722 (trig_mod_CFLAGS): Likewise.
10723 (trig_mod_LDFLAGS): Likewise.
10724
10725 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
10728 disk devices.
10729
10730 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10731
10732 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
10733 error.
10734
10735 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10736
10737 * util/hostdisk.c (open_device): Don't use partition device when reading
10738 before the partition.
10739 (grub_util_biosdisk_read): Don't read from partition and before the
10740 partition in single operation.
10741 (grub_util_biosdisk_write): Don't write to partition and before the
10742 partition in single operation.
10743
10744 2010-02-03 Torsten Landschoff <torsten@debian.org>
10745
10746 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10747 last sectors.
10748
10749 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10750
10751 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
10752 CDROM reads.
10753 (grub_biosdisk_write): Refuse to write to CDROM.
10754
10755 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10756
10757 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
10758
10759 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 * font/font.c (find_glyph): Check that bmp_idx is available before
10762 using it.
10763 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
10764 with (font == NULL).
10765
10766 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
10767
10768 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
10769
10770 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
10771
10772 * include/grub/script_sh.h (sourcecode): Add const qualifier.
10773 * util/grub-script-check.c (getline): Fix empty lines case.
10774
10775 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
10776
10777 * Makefile.in (check): Exit with fail status when one of the tests
10778 fails.
10779 * tests/example_functional_test.c (example_test): Fix reversed assert.
10780 * tests/example_unit_test.c (example_test): Likewise.
10781
10782 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
10783
10784 * util/grub.d/10_linux.in: This script does not use any of the
10785 contents of gettext.sh, only the external command `gettext', so stop
10786 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
10787 the same prefix as GRUB.)
10788 * util/grub.d/10_kfreebsd.in: Likewise.
10789
10790 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
10793 of the line.
10794
10795 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10798 last sectors.
10799
10800 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10801
10802 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
10803 having a 4KiB and not 32KiB buffer size.
10804
10805 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10806
10807 * util/hostfs.c: Include `<errno.h>'.
10808 (grub_hostfs_read): Handle errors from fseeko() and fread().
10809
10810 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10811
10812 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
10813 loop when using read hooks on files whose size isn't sector-aligned.
10814
10815 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10816
10817 Remove unused parameter.
10818
10819 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
10820 (grub_iso9660_open): Remove initialization of `data->length'.
10821
10822 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10823
10824 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
10825 memleak conditions.
10826
10827 2010-01-27 Carles Pina i Estany <carles@pina.cat>
10828
10829 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
10830 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
10831
10832 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10833
10834 * util/bin2h.c (usage): Fix warning (space after backslash).
10835
10836 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10837
10838 * font/font.c: Include `grub/fontformat.h.
10839 Remove font file format constants.
10840 (grub_font_load): Use the new macros.
10841 * include/grub/fontformat.h: New file.
10842 * util/grub-mkfont.c: Include `grub/fontformat.c'.
10843 (write_font_pf2): Use the new macros.
10844
10845 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10846
10847 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
10848 does.
10849
10850 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10851
10852 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
10853
10854 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
10855 (_start): Macroify `0x7F'.
10856
10857 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
10858 (make_install_device): Use "(pxe)" as fallback prefix when booting
10859 via PXE.
10860
10861 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 * configure.ac: Reset LIBS after check for libgcc symbols.
10864
10865 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
10866
10867 * util/hostdisk.c (open_device): Add trailing newline to debug
10868 message.
10869
10870 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
10871
10872 * configure.ac: Check for `limits.h'.
10873 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
10874
10875 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
10876
10877 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
10878 capitalize error strings.
10879
10880 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
10881
10882 * util/grub.d/10_hurd.in: Add a recovery mode.
10883
10884 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 * configure.ac: Check for libgcc symbols with -nostdlib.
10887
10888 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
10889
10890 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
10891
10892 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
10895 stack since heap may be unavailable at that point.
10896 (grub_ofconsole_gotoxy): Likewise.
10897
10898 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10899
10900 * configure.ac: Check for _restgpr_14_x.
10901 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
10902 and _savegpr_* prototypes.
10903
10904 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
10905
10906 Use generic grub_reboot() for i386-efi.
10907
10908 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
10909 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
10910 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
10911
10912 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
10915 presence of "prefix" variable as it breaks when normal.mod is
10916 embedded.
10917
10918 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10919
10920 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
10921 stack since heap is unavailable at that point.
10922
10923 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
10926 (grub_freebsd_bootinfo): Rewritten.
10927 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
10928
10929 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
10932
10933 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
10934
10935 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
10936 domain now.
10937
10938 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
10939
10940 * util/misc.c (make_system_path_relative_to_its_root): Change the work
10941 around for handling "/" to the correct fix. Fix a memory leak. Use
10942 xstrdup instead of strdup.
10943
10944 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
10947
10948 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10949
10950 Optimise glyph lookup by Basic Multilingual Plane lookup array.
10951
10952 * font/font.c (struct grub_font): New member 'bmp_idx'.
10953 (font_init): Initialise 'bmp_idx'.
10954 (load_font_index): Fill 'bmp_idx'.
10955 (find_glyph): Make inline. Use bmp_idx for BMP characters.
10956
10957 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10958
10959 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
10960 unnecessary calls.
10961
10962 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 Move context handling out of the kernel.
10965
10966 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
10967 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
10968 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
10969 * conf/i386-efi.rmk: Likewise.
10970 * conf/i386-ieee1275.rmk: Likewise.
10971 * conf/i386-pc.rmk: Likewise.
10972 * conf/powerpc-ieee1275.rmk: Likewise.
10973 * conf/sparc64-ieee1275.rmk: Likewise.
10974 * conf/x86_64-efi.rmk: Likewise.
10975 * include/grub/env.h: Include grub/menu.h.
10976 (grub_env_var_type): Removed.
10977 (grub_env_var): Replaced field 'type' with 'global'.
10978 (grub_env_find): New prototype.
10979 (grub_env_context_open): Remove EXPORT_FUNC.
10980 (grub_env_context_close): Likewise.
10981 (grub_env_export): Likewise.
10982 (grub_env_set_data_slot): Removed.
10983 (grub_env_get_data_slot): Likewise.
10984 (grub_env_unset_data_slot): Likewise.
10985 (grub_env_unset_menu): New prototype.
10986 (grub_env_set_menu): Likewise.
10987 (grub_env_get_menu): Likewise.
10988 * include/grub/env_private.h: New file.
10989 * include/grub/normal.h (grub_context_init): New prototype.
10990 (grub_context_fini): Likewise.
10991 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
10992 * normal/context.c (grub_cmd_export): ... to here.
10993 * kern/env.c: Include env_private.h.
10994 (HASHSZ): Moved to include/grub/env_private.h.
10995 (grub_env_context): Likewise.
10996 (grub_env_sorted_var): Likewise.
10997 (current_context): Renamed from this ...
10998 (grub_current_context): ...to this. 'static' removed. All users updated.
10999 (grub_env_find): Removed 'static'.
11000 (grub_env_context_open): Moved to normal/context.c.
11001 (grub_env_context_close): Likewise.
11002 (grub_env_export): Likewise.
11003 (mangle_data_slot_name): Removed.
11004 (grub_env_set_data_slot): Likewise.
11005 (grub_env_get_data_slot): Likewise.
11006 (grub_env_unset_data_slot): Likewise.
11007 * kern/main.c (grub_set_root_dev): Don't export root.
11008 It will be done later.
11009 (grub_main): Don't export prefix.
11010 It will be done later.
11011 * normal/context.c: New file.
11012 * normal/main.c (free_menu): Use grub_env_unset_menu.
11013 (grub_normal_add_menu_entry): Use grub_env_get_menu.
11014 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
11015 (GRUB_MOD_INIT(normal)): Call grub_context_init.
11016 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
11017
11018 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 setpci support.
11021
11022 * commands/setpci.c: New file.
11023 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
11024 (setpci_mod_SOURCES): New variable.
11025 (setpci_mod_CFLAGS): Likewise.
11026 (setpci_mod_LDFLAGS): Likewise.
11027
11028 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11029
11030 Byte-addressable PCI configuration space.
11031
11032 * bus/pci.c (grub_pci_make_address): Use byte address instead of
11033 dword address.
11034 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
11035 GRUB_PCI_REG_CACHELINE.
11036 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
11037 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
11038 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
11039 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
11040 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
11041 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
11042 grub_pci_make_address.
11043 (lock_rom_area): Likewise.
11044 * commands/lspci.c (grub_lspci_iter): Use macroses
11045 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
11046 of grub_pci_make_address.
11047 * disk/ata.c (grub_ata_pciinit): Likewise.
11048 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
11049 (GRUB_PCI_REG_VENDOR): Likewise.
11050 (GRUB_PCI_REG_DEVICE): Likewise.
11051 (GRUB_PCI_REG_COMMAND): Likewise.
11052 (GRUB_PCI_REG_STATUS): Likewise.
11053 (GRUB_PCI_REG_REVISION): Likewise.
11054 (GRUB_PCI_REG_CLASS): Likewise.
11055 (GRUB_PCI_REG_CACHELINE): Likewise.
11056 (GRUB_PCI_REG_LAT_TIMER): Likewise.
11057 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
11058 (GRUB_PCI_REG_BIST): Likewise.
11059 (GRUB_PCI_REG_ADDRESSES): Likewise.
11060 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11061 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11062 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11063 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11064 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11065 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11066 (GRUB_PCI_REG_CIS_POINTER): Likewise.
11067 (GRUB_PCI_REG_SUBVENDOR): Likewise.
11068 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
11069 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
11070 (GRUB_PCI_REG_CAP_POINTER): Likewise.
11071 (GRUB_PCI_REG_IRQ_LINE): Likewise.
11072 (GRUB_PCI_REG_IRQ_PIN): Likewise.
11073 (GRUB_PCI_REG_MIN_GNT): Likewise.
11074 (GRUB_PCI_REG_MAX_LAT): Likewise.
11075 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
11076 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
11077 * video/efi_uga.c (find_framebuf): Likewise.
11078 * video/sm712.c (grub_video_sm712_setup): Likewise.
11079 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
11080 space.
11081
11082 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11083
11084 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
11085 can be reliably determined to be supported.
11086
11087 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11088
11089 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
11090 that VESA is supported.
11091 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
11092 supported.
11093
11094 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11095
11096 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
11097
11098 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11099
11100 * util/misc.c (make_system_path_relative_to_its_root): Work around
11101 special-casing of "/", as previous incarnation of this routine did.
11102
11103 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11104
11105 Fix any-emu compilation.
11106
11107 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
11108 * grub_bin2h_SOURCES: New variable.
11109
11110 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11111
11112 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
11113
11114 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11115
11116 * util/grub.d/00_header.in: Fix handling of locale_dir.
11117
11118 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11119
11120 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
11121 as possible unifont location (Gentoo).
11122 Reported by: Alexander Brüning
11123
11124 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 Don't try to generate lists for kernel.img.
11127
11128 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
11129 (pkglib_MODULES): Remove kernel.img.
11130 (kernel_img_EXPORTS): Removed.
11131 (kernel_img_RELOCATABLE): New variable.
11132 * conf/x86_64-efi.rmk: Likewise.
11133 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
11134
11135 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
11138 grub_xasprintf or grub_snprintf.
11139 (grub_vsprintf): Likewise.
11140 (grub_snprintf): New proto.
11141 (grub_vsnprintf): Likewise.
11142 (grub_xasprintf): Likewise.
11143 (grub_xvasprintf): Likewise.
11144 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
11145 (grub_sprintf): Removed.
11146 (grub_vsnprintf): New function.
11147 (grub_snprintf): Likewise.
11148 (grub_xvasprintf): Likewise.
11149 (grub_xasprintf): Likewise.
11150 (grub_vsprintf): Renamed to ...
11151 (grub_vsnprintf_real): ...this. New argument max_len.
11152
11153 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
11154
11155 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
11156 fix grub-script-check warning.
11157
11158 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 * include/grub/font.h (grub_font_load): Fix prototype.
11161
11162 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
11165
11166 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 * include/grub/x86_64/at_keyboard.h: New file.
11169
11170 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 * loader/mips/linux.c: Include missing grub/i18n.h.
11173
11174 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11175
11176 * normal/menu.c (notify_execution_failure): Clarify error message.
11177
11178 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11179
11180 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
11181 return value (and revert all return statements). Update users.
11182
11183 2010-01-20 Dan Merillat <debian@dan.merillat.org>
11184
11185 * kern/device.c (grub_device_iterate): Allocate new part_ent
11186 structure based on sizeof (*p) rather than sizeof (p->next), to
11187 account for structure padding.
11188
11189 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
11190 disk is NULL, which might happen for LVM physical volumes with no
11191 LVM signature.
11192
11193 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11194
11195 * loader/mips/linux.c (grub_cmd_initrd)
11196 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
11197
11198 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11199
11200 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
11201 (grub_video_video_init, grub_video_bitmap_init)
11202 (grub_font_manager_init, grub_term_gfxterm_init)
11203 (grub_at_keyboard_init): New extern declarations.
11204 (grub_machine_init): Initialize gfxterm and at_keyboard.
11205
11206 * kern/main.c (grub_main): Revert grub_printf delay kludge.
11207
11208 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
11209 `gfxterm.mod' into core image.
11210
11211 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11212 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11213 (kernel_img_FORMAT): Copy to ...
11214
11215 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11216 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11217 (kernel_img_FORMAT): ... here, and ...
11218
11219 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11220 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11221 (kernel_img_FORMAT): ... here.
11222
11223 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
11224 and input (at_keyboard) terminals in kernel.
11225 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
11226
11227 (pkglib_MODULES): Remove `pci.mod'.
11228 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
11229 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
11230 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11231 (at_keyboard_mod_LDFLAGS): Remove variables.
11232
11233 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
11234
11235 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
11236
11237 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
11238
11239 * include/grub/mips/libgcc.h: Only export symbols for functions
11240 that libgcc provides.
11241
11242 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
11243
11244 MIPS support.
11245
11246 * bus/bonito.c: New file.
11247 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
11248 GRUB_PCI_NUM_DEVICES.
11249 * term/i386/pc/serial.c: Move to ...
11250 * term/serial.c: ... here. All users updated.
11251 * util/i386/pc/grub-mkimage.c: Move to ...
11252 * util/grub-mkrawimage.c: ... here. All users updated.
11253 * term/i386/pc/at_keyboard.c: Move to ...
11254 * term/at_keyboard.c: ... here. All users updated.
11255 * conf/mips-qemu-mips.rmk: New file.
11256 * conf/mips-yeeloong.rmk: Likewise.
11257 * conf/mips.rmk: Likewise.
11258 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
11259 mipsel-qemu-mips.
11260 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
11261 to port addresses.
11262 (grub_ata_pciinit): Support CS5536.
11263 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
11264 * font/font_cmd.c (loadfont_command): Open file before passing it to
11265 grub_font_load.
11266 (pseudo_file_read): New function.
11267 (pseudo_file_close): Likewise.
11268 (pseudo_fs): New structure.
11269 (load_font_module): New function.
11270 (GRUB_MOD_INIT(font_manager)): Load embedded font.
11271 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
11272 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
11273 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
11274 * include/grub/i386/at_keyboard.h: Split into ...
11275 * include/grub/at_keyboard.h: ... this ...
11276 * include/grub/i386/at_keyboard.h: ... and this.
11277 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
11278 New prototype.
11279 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
11280 updated.
11281 (grub_elf64_size): Likewise.
11282 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
11283 filename.
11284 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
11285 * include/grub/i386/coreboot/serial.h: Rewritten.
11286 * include/grub/i386/ieee1275/serial.h: Include
11287 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
11288 * include/grub/i386/pc/serial.h: Moved from here ...
11289 * include/grub/serial.h: ... to here. All users updated.
11290 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
11291 (GRUB_PCI_NUM_BUS): Likewise.
11292 (GRUB_PCI_NUM_DEVICES): Likewise.
11293 (grub_pci_device_map_range): Add missing volatile keyword.
11294 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
11295 * include/grub/mips/at_keyboard.h: New file.
11296 * include/grub/mips/cache.h: Likewise.
11297 * include/grub/mips/io.h: Likewise.
11298 * include/grub/mips/kernel.h: Likewise.
11299 * include/grub/mips/libgcc.h: Likewise.
11300 * include/grub/mips/pci.h: Likewise.
11301 * include/grub/mips/qemu-mips/boot.h: Likewise.
11302 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11303 * include/grub/mips/qemu-mips/loader.h: Likewise.
11304 * include/grub/mips/qemu-mips/memory.h: Likewise.
11305 * include/grub/mips/qemu-mips/serial.h: Likewise.
11306 * include/grub/mips/qemu-mips/time.h: Likewise.
11307 * include/grub/mips/relocator.h: Likewise.
11308 * include/grub/mips/time.h: Likewise.
11309 * include/grub/mips/types.h: Likewise.
11310 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
11311 * include/grub/mips/yeeloong/boot.h: Likewise.
11312 * include/grub/mips/yeeloong/kernel.h: Likewise.
11313 * include/grub/mips/yeeloong/loader.h: Likewise.
11314 * include/grub/mips/yeeloong/memory.h: Likewise.
11315 * include/grub/mips/yeeloong/pci.h: Likewise.
11316 * include/grub/mips/yeeloong/serial.h: Likewise.
11317 * include/grub/mips/yeeloong/time.h: Likewise.
11318 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
11319 * kern/elf.c (grub_elf32_size): New parameter. All users
11320 updated.
11321 (grub_elf64_size): Likewise.
11322 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
11323 Load modules before saying "Welcome to GRUB!".
11324 Call grub_refresh after saying "Welcome to GRUB!".
11325 * kern/mips/cache.S: New file.
11326 * kern/mips/cache_flush.S: Likewise.
11327 * kern/mips/dl.c: Likewise.
11328 * kern/mips/init.c: Likewise.
11329 * kern/mips/qemu-mips/init.c: Likewise.
11330 * kern/mips/startup.S: Likewise.
11331 * kern/mips/yeeloong/init.c: Likewise.
11332 * kern/term.c (grub_putcode): Handle NULL terminal.
11333 (grub_getcharwidth): Likewise.
11334 (grub_getkey): Likewise.
11335 (grub_checkkey): Likewise.
11336 (grub_getkeystatus): Likewise.
11337 (grub_getxy): Likewise.
11338 (grub_getwh): Likewise.
11339 (grub_gotoxy): Likewise.
11340 (grub_cls): Likewise.
11341 (grub_setcolorstate): Likewise.
11342 (grub_setcolor): Likewise.
11343 (grub_getcolor): Likewise.
11344 (grub_refresh): Likewise.
11345 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
11346 (write_jump): Add hatch nop.
11347 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
11348 * lib/mips/setjmp.S: New file.
11349 * loader/mips/linux.c: Likewise.
11350 * term/i386/pc/at_keyboard.c: Move from here ...
11351 * term/at_keyboard.c: ... to here.
11352 * term/i386/pc/serial.c: Moved from here ...
11353 * term/serial.c: ... to here. All users updated.
11354 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
11355 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
11356 (serial_translate_key_sequence): Avoid deadlock.
11357 (grub_serial_getkey): Handle backspace.
11358 (grub_serial_putchar): Fix newline handling.
11359 * util/i386/pc/grub-mkimage.c: Move from here ...
11360 * util/grub-mkrawimage.c: ... to here. All users updated.
11361 (generate_image): New parameters 'font_path' and 'format'.
11362 Support embedding font.
11363 Use grub_host_to_target* instead of grub_cpu_to_le*.
11364 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
11365 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
11366 (options): New option "--font".
11367 (usage): Likewise.
11368 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
11369 (main): Handle "--font".
11370 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
11371 (grub_virtual_screen_setup): Set bg_color_display.
11372 (redraw_screen_rect): Use bg_color_display instead of incorrect
11373 bg_color.
11374 (grub_gfxterm_cls): Likewise.
11375 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
11376 Support embedding config file.
11377 (add_segments): Likewise.
11378 (options): New option "--config".
11379 (main): Handle "--config".
11380 * video/sm712.c: New file.
11381
11382 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11383
11384 Fix parallel builds.
11385
11386 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
11387 font.c depend on ascii.h).
11388
11389 2010-01-12 Carles Pina i Estany <carles@pina.cat>
11390
11391 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
11392
11393 2010-01-11 Carles Pina i Estany <carles@pina.cat>
11394
11395 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
11396 By default: disabled.
11397 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
11398 parameter.
11399
11400 2010-01-10 Carles Pina i Estany <carles@pina.cat>
11401
11402 * font/font.c: Update copyright years.
11403 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
11404
11405 2010-01-10 Carles Pina i Estany <carles@pina.cat>
11406
11407 * font/font.c: Include `ascii.h'.
11408 (ASCII_BITMAP_SIZE): New macro.
11409 (ascii_font_glyph): Define.
11410 (ascii_glyph_lookup): New function.
11411 (grub_font_get_string_width): Change comment. If glyph not found, use
11412 ascii_glyph_lookup.
11413 (grub_font_get_glyph_with_fallback): If glyph not available returns
11414 ascii_glyph_lookup.
11415 * util/grub-mkfont.c (file_formats): New enum.
11416 (options): Add `ascii-bitmaps' new option.
11417 (usage): Add `asii-bitmaps' new option.
11418 (write_font_ascii_bitmap): New function.
11419 (write_font): Rename to ...
11420 (write_font_p2): ... this. Remove print_glyphs call.
11421 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
11422 used. Call print_glyphs.
11423 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
11424
11425 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11426
11427 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
11428 (grub_bin2h_SOURCES): New variable.
11429 * util/bin2h.c: New file.
11430
11431 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 * include/multiboot.h: Resynced with spec.
11434 * include/multiboot2.h: Likewise.
11435 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
11436 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
11437
11438 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11439
11440 * include/grub/term.h (grub_term_register_input,
11441 grub_term_register_output): Check return of terminal init()
11442 routines, and abort if errors are raised.
11443
11444 * commands/terminal.c: Update copyright year.
11445
11446 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11447
11448 * commands/terminal.c (grub_cmd_terminal_input)
11449 (grub_cmd_terminal_output): Check return of terminal init()
11450 routines, and abort if errors are raised.
11451
11452 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * include/grub/i386/bsd.h: Fix include pathes.
11455
11456 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 Add missing *BSD copyright headers.
11459
11460 * include/grub/aout.h: Add BSD licence.
11461 * include/grub/i386/bsd.h: Parts under different licences moved to ...
11462 * include/grub/i386/freebsd_linker.h: ... here,
11463 * include/grub/i386/freebsd_reboot.h: ... here,
11464 * include/grub/i386/netbsd_bootinfo.h: ... here,
11465 * include/grub/i386/netbsd_reboot.h: ... here,
11466 * include/grub/i386/openbsd_bootarg.h: ... here,
11467 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
11468 licence to each file.
11469
11470 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11471
11472 * acinclude.m4: Remove `nop' assembly instruction; it's not
11473 implemented by all architectures.
11474
11475 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11476
11477 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
11478 ELILO. This is no longer necessary.
11479
11480 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
11481
11482 Added new tool, grub-scrit-check to verify grub.cfg syntax.
11483
11484 * util/grub-script-check.c: grub-script-check tool.
11485 * conf/common.rmk: Make rules for grub-script-check.
11486
11487 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11488
11489 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
11490 spotting it back in 2008. Shame on me for forgetting he did.
11491
11492 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
11493
11494 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11495
11496 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
11497 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
11498 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
11499 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
11500 (GRUB_VIDEO_TYPE_EFI): Rename to ...
11501 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
11502
11503 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
11504
11505 * include/grub/test.h: Add license header.
11506 * tests/example_functional_test.c: Likewise.
11507 * tests/example_unit_test.c: Likewise.
11508 * tests/lib/functional_test.c: Likewise.
11509 * tests/lib/test.c: Likewise.
11510 * tests/lib/unit_test.c: Likewise.
11511
11512 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 Use flag-based instead of hook-based video mode selection and "auto"
11515 keyword.
11516
11517 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
11518 (grub_video_set_mode): Changed prototype. All users updated.
11519 (grub_video_check_mode_flag): New inline function.
11520 * video/video.c (parse_modespec): New function.
11521 (grub_video_set_mode): Parse flags and keywords.
11522
11523 2010-01-17 Carles Pina i Estany <carles@pina.cat>
11524
11525 * util/misc.c (grub_util_info): Fix the order of the parameters in a
11526 fprintf call.
11527
11528 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
11529
11530 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
11531
11532 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11533
11534 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
11535 string.
11536 * util/grub-emu.c (usage): Likewise.
11537 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
11538 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11539 * util/i386/pc/grub-mkimage.c (usage): Likewise.
11540 * util/i386/pc/grub-setup.c (usage): Likewise.
11541
11542 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11543
11544 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
11545 the message.
11546 (grub_util_info): Likewise.
11547 (grub_util_error): Likewise.
11548 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
11549 and/or new lines in `grub_util_warna', `grub_util_info',
11550 `grub_util_error' calls.
11551 * util/getroot.c: Likewise.
11552 * util/grub-editenv.c: Likewise.
11553 * util/grub-emu.c: Likewise.
11554 * util/grub-fstest.c: Likewise.
11555 * util/grub-mkdevicemap.c: Likewise.
11556 * util/grub-mkfont.c: Likewise.
11557 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11558 * util/grub-mkrelpath.c: Likewise.
11559 * util/grub-pe2elf.c: Likewise.
11560 * util/grub-probe.c: Likewise.
11561 * util/hostdisk.c: Likewise.
11562 * util/i386/efi/grub-mkimage.c: Likewise.
11563 * util/i386/pc/grub-mkimage.c: Likewise.
11564 * util/i386/pc/grub-setup.c: Likewise.
11565 * util/ieee1275/ofpath.c: Likewise.
11566 * util/mkisofs/eltorito.c: Likewise.
11567 * util/mkisofs/rock.c: Likewise.
11568 * util/mkisofs/write.c: Likewise.
11569 * util/raid.c: Likewise.
11570 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11571 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11572
11573 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 Enable multiboot on non-pc.
11576
11577 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
11578 multiboot.mod and multiboot2.mod to ...
11579 * conf/i386.rmk (pkglib_MODULES): ... here.
11580 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
11581 Moved to ...
11582 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
11583 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
11584 Moved to ...
11585 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
11586 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
11587 Moved to ...
11588 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
11589 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
11590 Moved to ...
11591 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
11592 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
11593 relocator.mod.
11594 (ata_mod_SOURCES): Removed.
11595 (ata_mod_CFLAGS): Likewise.
11596 (ata_mod_LDFLAGS): Likewise.
11597 (relocator_mod_SOURCES): Removed.
11598 (relocator_mod_CFLAGS): Likewise.
11599 (relocator_mod_ASFLAGS): Likewise.
11600 (relocator_mod_LDFLAGS): Likewise.
11601 Include i386.mk.
11602 * include/grub/x86_64/multiboot.h: New file.
11603 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
11604 Terminate EFI.
11605
11606 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11607
11608 Video multiboot support.
11609
11610 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
11611 New prototype.
11612 * include/multiboot.h: Resynced with multiboot specification.
11613 * include/multiboot2.h: Likewise.
11614 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
11615 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
11616 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
11617 (HAS_VGA_TEXT): Likewise.
11618 (accepts_video): New variable.
11619 (grub_multiboot_set_accepts_video): New function.
11620 (grub_multiboot_get_mbi_size): Account for video structures.
11621 (set_video_mode): New function.
11622 (retrieve_video_parameters): Likewise.
11623 (grub_multiboot_make_mbi): Fill video fields.
11624
11625 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 Video driver ids.
11628
11629 * include/grub/video.h (grub_video_driver_id): New type.
11630 (grub_video_adapter): New member 'id'. All users updated.
11631 (grub_video_get_driver_id): New proto.
11632 * video/video.c (grub_video_get_driver_id): New function.
11633
11634 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11635
11636 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
11637 `var=val'.
11638
11639 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11640
11641 * normal/cmdline.c (print_completion): Gettextizze.
11642
11643 2001-01-14 Carles Pina i Estany <carles@pina.cat>
11644
11645 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
11646
11647 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11648
11649 * gettext/gettext.c (grub_gettext_translate): Push and pop
11650 grub_errno.
11651 (grub_gettext_delete_list): Change comment style.
11652 * kern/err.c (grub_error): Gettextizze.
11653 (grub_fatal): Gettextizze.
11654
11655 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11656
11657 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
11658 (grub_linux16_real_boot): ... this.
11659 * kern/i386/loader.S: Likewise.
11660 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
11661 (grub_linux16_boot): New function. Switches to text mode and calls
11662 grub_linux16_real_boot().
11663
11664 * loader/i386/bsd.c: Include `<grub/video.h>'.
11665 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
11666 text mode before calling grub_unix_real_boot().
11667
11668 * loader/i386/multiboot.c: Include `<grub/video.h>'.
11669 (grub_multiboot_boot): Switch to text mode before calling
11670 grub_relocator32_boot().
11671
11672 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
11673 (grub_chainloader_boot): Switch to text mode before calling
11674 grub_chainloader_real_boot().
11675
11676 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11677 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11678
11679 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
11680 non-empty value.
11681
11682 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11683 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11684
11685 * util/grub.d/00_header.in: Define a "savedefault" function for use
11686 in menu entries.
11687 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
11688
11689 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11690 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11691
11692 * util/grub-mkconfig_lib.in (save_default_entry): Only set
11693 saved_entry if boot_once is unset.
11694 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
11695 previous saved entry (i.e. grub-reboot).
11696
11697 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11698
11699 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
11700
11701 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11702
11703 * util/grub.d/00_header.in: Use `set var=val' rather than plain
11704 `var=val'.
11705 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
11706
11707 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11708
11709 * util/grub-reboot.in: Fix --version output.
11710 * util/grub-set-default.in: Likewise.
11711
11712 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11713
11714 * util/grub.d/00_header.in: Silently ignore zero-sized environment
11715 blocks.
11716
11717 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11718
11719 * util/grub.d/00_header.in: Quote the value assigned to `default',
11720 in case it contains spaces.
11721
11722 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11723
11724 * util/grub.d/30_os-prober.in: Fix merge error that moved a
11725 `save_default_entry' call from the macosx case to the linux case.
11726
11727 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11728 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
11729
11730 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
11731 in `chosen' environment variable.
11732 * normal/menu_text.c (get_entry_number): Check if the variable
11733 matches the title of a menu entry.
11734 (run_menu): Pass menu to get_entry_number.
11735
11736 * util/grub-reboot.in: New file.
11737 * util/grub-set-default.in: New file.
11738 * conf/common.rmk (grub-reboot): New utility.
11739 (grub-set-default): New utility.
11740
11741 * util/grub-mkconfig_lib.in (save_default_entry): New function.
11742 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
11743 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
11744 move it to `saved_entry' for the next boot. Load environment on
11745 initialisation.
11746 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
11747 * util/grub.d/10_hurd.in: Likewise.
11748 * util/grub.d/10_linux.in (linux_entry): Likewise.
11749 * util/grub.d/10_windows.in: Likewise.
11750 * util/grub.d/30_os-prober.in: Likewise.
11751
11752 * util/grub-install.in: Create environment block.
11753 * util/i386/efi/grub-install.in: Likewise.
11754 * util/ieee1275/grub-install.in: Likewise.
11755 * util/sparc64/ieee1275/grub-install.in: Likewise.
11756
11757 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
11758
11759 Unit testing framework for GRUB.
11760
11761 * Makefile.in: Test framework build rules for 'make check'.
11762 * conf/tests.rmk: Build rules for individual tests and framework.
11763
11764 * include/grub/test.h: Header file for whitebox tests.
11765 * tests/lib/functional_test.c: Framework support for whitebox
11766 functional tests.
11767 * tests/lib/test.c: Common whitebox testing code for unit and
11768 functional tests.
11769 * tests/lib/unit_test.c: Framework support for whitebox unit
11770 tests.
11771
11772 * tests/util/grub-shell-tester.in: Support utility for grub-script
11773 tests.
11774 * tests/util/grub-shell.in: Utility to execute grub-script
11775 commands in a Qemu instance.
11776
11777 * tests/example_functional_test.c: Example whitebox functional
11778 test.
11779 * tests/example_grub_script_test.in: Example grub-script test.
11780 * tests/example_scripted_test.in: Example scripted test.
11781 * tests/example_unit_test.c: Example whitebox unit test.
11782
11783 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11784
11785 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
11786 Add loader/i386/multiboot_mbi.c.
11787 (multiboot2_mod_SOURCES): Likewise.
11788 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
11789 (multiboot2_mod_SOURCES): Likewise.
11790 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
11791 (grub_multiboot_make_mbi): Likewise.
11792 (grub_multiboot_free_mbi): Likewise.
11793 (grub_multiboot_init_mbi): Likewise.
11794 (grub_multiboot_add_module): Likewise.
11795 (grub_multiboot_set_bootdev): Likewise.
11796 * loader/i386/multiboot.c (mbi): Removed.
11797 (mbi_dest): Likewise.
11798 (alloc_mbi): New variable.
11799 (grub_multiboot_payload_size): Removed. All users updated.
11800 (grub_multiboot_pure_size): New variable.
11801 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
11802 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
11803 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
11804 (grub_fill_multiboot_mmap): Likewise.
11805 (grub_multiboot_get_bootdev): Likewise.
11806 (grub_multiboot): Use multiboot_mbi functions.
11807 * loader/i386/multiboot_mbi.c: New file.
11808
11809 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11810
11811 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
11812 it would result in module crash.
11813
11814 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11815
11816 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
11817 (grub_ofconsole_getwh): Split to ...
11818 (grub_ofconsole_getwh): ... this.
11819 (grub_ofconsole_dimensions): ...and this.
11820 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
11821
11822 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
11823
11824 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
11825
11826 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 * loader/i386/pc/multiboot2.c: Removed stalled file.
11829
11830 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
11833 Reported by: Grégoire Sutre
11834
11835 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
11836
11837 * util/misc.c (canonicalize_file_name): New function.
11838 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
11839 instead of realpath().
11840
11841 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
11842
11843 * util/grub-install.in (usage): Clarify meaning of --root-directory,
11844 and make it clearer that it's optional. Based on confusion
11845 witnessed on IRC.
11846
11847 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
11850 in premature implicit newline.
11851
11852 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
11855 which resulted in garbled command line at the end of screen.
11856
11857 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11858
11859 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
11860 initialization with similar approach as with other Linux loaders.
11861
11862 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11863
11864 Fix i386-ieee1275 build.
11865
11866 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
11867 and grub_term_height() for video_{width,height} initialization.
11868
11869 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11870
11871 Fix grub-emu build.
11872
11873 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
11874
11875 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11876 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11877
11878 Support for multiple terminals.
11879
11880 * Makefile.in (pkglib_DATA): terminal.lst.
11881 (terminal.lst): New target.
11882 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
11883 (GRUB_MOD_INIT(handler)): Likewise.
11884 (GRUB_MOD_FINI(handler)): Likewise.
11885 * commands/help.c (grub_cmd_help): Handle multiple terminals.
11886 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
11887 * commands/sleep.c (do_print): Use grub_term_restore_pos.
11888 (grub_cmd_sleep): Use grub_term_save_pos.
11889 * commands/terminal.c: New file.
11890 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
11891 commands/terminal.c and lib/charset.c.
11892 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
11893 (pkglib_MODULES): Add terminal.mod.
11894 (terminal_mod_SOURCES): New variable.
11895 (terminal_mod_CFLAGS): Likewise.
11896 (terminal_mod_LDFLAGS): Likewise.
11897 * genhandlerlist.sh: Don't handle terminals.
11898 * genmk.rb: Generate terminal-*.lst.
11899 * genterminallist.sh: New file.
11900 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
11901 (grub_is_valid_utf8): Likewise.
11902 (grub_utf8_to_ucs4_alloc): Likewise.
11903 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
11904 (grub_menu_register_viewer): Changed argument.
11905 (grub_menu_try_text): New proto.
11906 (grub_gfxmenu_try_hook): New declaration.
11907 * include/grub/normal.h (grub_normal_exit_level): New declaration.
11908 (grub_menu_init_page): Additional argument term.
11909 (grub_normal_init_page): Likewise.
11910 (grub_cmdline_get): Arguments simplified.
11911 (grub_utf8_to_ucs4_alloc): Removed.
11912 (grub_print_ucs4): Additional argument term.
11913 (grub_getstringwidth): Likewise.
11914 (grub_print_message_indented): Likewise.
11915 (grub_menu_text_register_instances): New proto.
11916 (grub_show_menu): Likewise.
11917 (read_terminal_list): Likewise.
11918 (grub_set_more): Likewise.
11919 * include/grub/parser.h: Include handler.h.
11920 * include/grub/reader.h: Rewritten.
11921 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
11922 (GRUB_TERM_WIDTH): Changed to function.
11923 (GRUB_TERM_HEIGHT): Likewise.
11924 (GRUB_TERM_BORDER_WIDTH): Likewise.
11925 (GRUB_TERM_BORDER_HEIGHT): Likewise.
11926 (GRUB_TERM_NUM_ENTRIES): Likewise.
11927 (GRUB_TERM_ENTRY_WIDTH): Likewise.
11928 (GRUB_TERM_CURSOR_X): Likewise.
11929 (grub_term_input_class): Likewise.
11930 (grub_term_output_class): Likewise.
11931 (grub_term_outputs_disabled): New declaration.
11932 (grub_term_inputs_disabled): Likewise.
11933 (grub_term_outputs): Likewise.
11934 (grub_term_inputs): Likewise.
11935 (grub_term_register_input): Rewritten.
11936 (grub_term_register_output): Likewise.
11937 (grub_term_unregister_input): Likewise.
11938 (grub_term_unregister_output): Likewise.
11939 (FOR_ACTIVE_TERM_INPUTS): New macro.
11940 (FOR_DISABLED_TERM_INPUTS): Likewise.
11941 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11942 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11943 * include/grub/terminfo.h: Add oterm argument to all protypes.
11944 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
11945 Use grub_rescue_run.
11946 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
11947 All users updated.
11948 * kern/reader.c: Removed. All users updated.
11949 * kern/rescue_reader.c (grub_rescue_init): Removed.
11950 (grub_rescue_reader): Likewise.
11951 (grub_register_rescue_reader): Likewise.
11952 (grub_rescue_run): New function based on kern/reader.c.
11953 * kern/term.c: Adapted for multiterm.
11954 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
11955 (grub_is_valid_utf8): Likewise.
11956 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
11957 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
11958 right terminal.
11959 * loader/i386/linux.c (grub_linux_boot): Likewise.
11960 * normal/auth.c (grub_username_get): New function.
11961 (grub_auth_check_authentication): Use grub_username_get.
11962 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
11963 * normal/color.c: Adapt for multiterm.
11964 * normal/main.c (read_config_file): Don't use grub_reader_loop.
11965 (grub_normal_init_page): Additional argument term.
11966 (read_lists): Call read_terminal_lists.
11967 (grub_enter_normal_mode): Call grub_cmdline_run.
11968 Handle grub_normal_exit_level.
11969 (grub_cmd_normal): Make reentrant.
11970 (grub_cmd_normal_exit): New function.
11971 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
11972 * normal/menu.c: Adapt for multiterm.
11973 * normal/menu_entry.c: Likewise.
11974 * normal/menu_text.c: Likewise.
11975 * normal/menu_viewer.c: Removed. All users updated.
11976 * normal/term.c: New file.
11977 * util/console.c: Change order of includes to workaround a bug in
11978 ncurses headers.
11979 * term/terminfo.c: New argument oterm on all exported functions.
11980 All users updated.
11981 * util/grub-editenv.c (grub_term_input_class): Removed.
11982 (grub_term_output_class): Likewise.
11983
11984 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11985
11986 Make loader output a bit more user-friendly.
11987
11988 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
11989 is being loaded. Likewise for the Hurd.
11990
11991 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
11992 that kernel of FreeBSD ${version} is being loaded.
11993
11994 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
11995 grub_dprintf().
11996 (grub_cmd_initrd): Likewise.
11997 * util/grub.d/10_linux.in (linux_entry): Print message indicating
11998 that Linux ${version} is being loaded. Likewise for initrd.
11999
12000 2010-01-09 Carles Pina i Estany <carles@pina.cat>
12001
12002 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
12003
12004 2010-01-08 Carles Pina i Estany <carles@pina.cat>
12005
12006 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
12007 (GRUB_MOD_INIT): Gettextizze.
12008 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
12009 (GRUB_MOD_INIT): Gettextizze.
12010 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
12011 (grub_cmd_linux): Capitalise Linux.
12012 (GRUB_MOD_INIT): Gettextizze.
12013 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
12014 (grub_cmd_linux): Capitalise Linux.
12015 (GRUB_MOD_INIT): Gettextizze.
12016 * loader/i386/linux.c: Include `<grub/i18n.h>'.
12017 (grub_cmd_linux): Capitalise Linux.
12018 (GRUB_MOD_INIT): Gettextizze.
12019 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
12020 (GRUB_MOD_INIT): Gettextizze.
12021 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
12022 (grub_cmd_linux): Capitalise Linux.
12023 (GRUB_MOD_INIT): Gettextizze.
12024 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
12025 (grub_cpu_xnu_init): Gettextizze.
12026 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
12027 (GRUB_MOD_INIT): Gettextizze.
12028 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
12029 (GRUB_MOD_INIT): Gettextizze.
12030 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
12031 (grub_linux_load64): Capitalise Linux.
12032 (GRUB_MOD_INIT): Gettextizze.
12033 * loader/xnu.c: Include `<grub/i18n.h>'.
12034 (GRUB_MOD_INIT): Gettextizze.
12035 * po/POTFILES: Add `loader/efi/appleloader.c',
12036 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
12037 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
12038 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
12039 `loader/i386/xnu.c', `loader/multiboot_loader.c',
12040 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
12041 and `loader/xnu.c'.
12042
12043 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
12044
12045 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
12046
12047 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
12048
12049 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
12050 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
12051 * util/mkisofs/mkisofs.c (main): Readjust --version output.
12052
12053 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12054
12055 Reset Multiboot 2 support. New loader implements the draft in
12056 /branches/multiboot2 and shares as much code as possible with the
12057 production Multiboot 1 implementation.
12058
12059 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
12060 * loader/multiboot2.c: Likewise.
12061 * loader/i386/multiboot_helper.S: Likewise.
12062 * include/multiboot2.h: Replace with latest version from the draft
12063 in /branches/multiboot2.
12064
12065 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
12066 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
12067 and `loader/multiboot2.c'.
12068 (pkglib_MODULES): Add `multiboot2.mod'.
12069 (multiboot2_mod_SOURCES): New variable.
12070 (multiboot2_mod_LDFLAGS): Likewise.
12071 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
12072
12073 * conf/i386-pc.rmk: Likewise.
12074
12075 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12076 (multiboot_mod_SOURCES): Remove variable.
12077 (multiboot_mod_LDFLAGS): Likewise.
12078 (multiboot_mod_CFLAGS): Likewise.
12079
12080 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
12081 `<multiboot2.h>' instead of `<multiboot.h>'.
12082 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
12083 (MULTIBOOT_HEADER_MAGIC): New macros.
12084
12085 * loader/multiboot_loader.c (module_version_status): Remove variable.
12086 (find_multi_boot2_header): Remove function.
12087 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
12088 logic. Always check for the Multiboot version we're compiling for.
12089 (grub_cmd_module_loader): Likewise.
12090 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
12091 command instead of `multiboot'.
12092
12093 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12094
12095 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
12096 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
12097 all users.
12098
12099 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12100 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 Fix breakage introduced with previous commit.
12103
12104 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
12105 commands.
12106 * normal/handler.c (read_handler_list): Revert part of previous commit
12107 affecting this file.
12108 * normal/main.c (read_lists): Move read_handler_list() call back to ...
12109 (grub_normal_execute): ... here.
12110
12111 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12112
12113 Merge prefix-redefinition-fix branch.
12114
12115 * normal/autofs.c (read_fs_list): Make function capable of being
12116 run multiple times, gracefuly replacing the previous data
12117 structures.
12118 * normal/dyncmd.c (read_command_list): Likewise.
12119 * normal/handler.c (read_handler_list): Likewise.
12120 * normal/main.c (read_lists): New function. Calls all the
12121 list reading functions.
12122 (grub_normal_execute): Use read_lists() instead of calling all
12123 list reading functions explicitly. Register read_lists() as a
12124 variable hook attached to ${prefix}.
12125
12126 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12127
12128 Merge crypto branch.
12129
12130 * Makefile.in (pkglib_DATA): Add crypto.lst.
12131 (crypto.lst): New target.
12132 * commands/hashsum.c: New file.
12133 * commands/password.c (check_password): Use grub_crypto_memcmp.
12134 * commands/password_pbkdf2.c: New file.
12135 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
12136 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
12137 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
12138 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
12139 -I$(srcdir)/lib/libgcrypt_wrap.
12140 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
12141 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
12142 password_pbkdf2.mod.
12143 (crypto_mod_SOURCES): New variable.
12144 (crypto_mod_CFLAGS): Likewise.
12145 (crypto_mod_LDFLAGS): Likewise.
12146 (hashsum_mod_SOURCES): New variable.
12147 (hashsum_mod_CFLAGS): Likewise.
12148 (hashsum_mod_LDFLAGS): Likewise.
12149 (pbkdf2_mod_SOURCES): New variable.
12150 (pbkdf2_mod_CFLAGS): Likewise.
12151 (pbkdf2_mod_LDFLAGS): Likewise.
12152 (password_pbkdf2_mod_SOURCES): New variable.
12153 (password_pbkdf2_mod_CFLAGS): Likewise.
12154 (password_pbkdf2_mod_LDFLAGS): Likewise.
12155 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
12156 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
12157 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
12158 Include conf/gcry.rmk.
12159 * include/grub/auth.h: Rewritten.
12160 * include/grub/crypto.h: New file.
12161 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
12162 * include/grub/normal.h (read_crypto_list): New prototype.
12163 * lib/crypto.c: New file.
12164 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12165 * lib/pbkdf2.c: Likewise.
12166 * normal/auth.c (grub_auth_strcmp): Removed.
12167 (grub_iswordseparator): Likewise.
12168 (grub_auth_strword): Likewise.
12169 (is_authenticated): Use grub_strword.
12170 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
12171 and grub_strword. Pass entered password to authentication callback.
12172 * normal/crypto.c: New file.
12173 * normal/main.c: Call read_crypto_list.
12174 * util/grub-mkpasswd-pbkdf2.c: New file.
12175 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
12176
12177 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
12178
12179 Fix descent and ascent calculation.
12180
12181 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
12182 (options): New option "asce".
12183 (usage): Likewise.
12184 (add_char): Ignore invalid glyphs for descent calculation.
12185 Calculate ascent from actual content.
12186 (print_glyphs): Use 'asce'.
12187 (write_font): Likewise. Allow ascent override.
12188 (main): Handle "asce" option.
12189
12190 2010-01-06 Carles Pina i Estany <carles@pina.cat>
12191
12192 * kern/err.c: Include `<grub/i18n.h>'.
12193 (grub_print_error): Add full stop. Gettextizze.
12194 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
12195 (grub_bsd_load_elf): Capitalise ELF.
12196 (grub_cmd_freebsd_loadenv): Add `s' in error string.
12197 (grub_cmd_freebsd_module): Likewise.
12198 (grub_cmd_freebsd_module_elf): Likewise.
12199 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
12200
12201 2010-01-06 Carles Pina i Estany <carles@pina.cat>
12202
12203 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
12204 * commands/search_file.c (HELP_MESSAGE): New macro.
12205 * commands/search_label.c (HELP_MESSAGE): Likewise.
12206 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
12207 * po/POTFILES: Add `commands/search_file.c',
12208 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
12209 `commands/search.c'.
12210
12211 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12212
12213 * config.rpath: Update from Gnulib.
12214
12215 2010-01-05 Yves Blusseau <blusseau@zetam.org>
12216
12217 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
12218
12219 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
12220
12221 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
12222
12223 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
12224
12225 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
12226 arguments to fread so that we get a return value in bytes, rather
12227 than something that will normally be rounded down to 0.
12228 Adjust error handling to avoid producing garbage when size_t is not
12229 the same size as long long.
12230
12231 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
12232
12233 * util/mkisofs/write.c (padblock_write): Check return value of
12234 fread.
12235
12236 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12237
12238 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
12239 floppy images now.
12240
12241 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
12242
12243 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12244
12245 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
12246 instead of manual alignment.
12247 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
12248 verbose). Avoid attempts to read past end of the device
12249 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
12250 but GRUB_DISK_CACHE_SIZE may exceed that).
12251
12252 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12253
12254 * commands/crc.c (grub_cmd_crc): Abort on read errors.
12255 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
12256 it to upper layer.
12257
12258 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
12261 New constant.
12262 (grub_efi_piwg_device_path): New structure
12263 (grub_efi_piwg_device_path_t): New type.
12264 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
12265 (devpath_1): Transform to a structure. All users updated.
12266 (devpath_2): Likewise.
12267 (devpath_3): Likewise.
12268 (devpath_4): Likewise.
12269 (devpath_5): Likewise.
12270
12271 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12272
12273 * loader/efi/appleloader.c: Restored. Update all users.
12274
12275 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12276
12277 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
12278
12279 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
12280 (struct boot_blocklist): Move from here ...
12281 * include/grub/i386/pc/boot.h [ASM_FILE]
12282 (struct grub_boot_blocklist): ... to here. Update all users.
12283 (setup): Only initialize `start' member of `first_block'
12284 structure. Add assert() calls to verify the other members.
12285
12286 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
12287 (generate_image): Fix broken blocklist length initialization.
12288 Add assert() call to verify blocklist `segment' field.
12289
12290 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12291
12292 * loader/efi/appleloader.c: Remove. Update all users.
12293
12294 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12295
12296 * boot/i386/pc/boot.S: Update copyright year.
12297 * boot/i386/pc/cdboot.S: Likewise.
12298 * boot/i386/pc/diskboot.S: Likewise.
12299 * boot/i386/pc/lnxboot.S: Likewise.
12300 * boot/i386/pc/pxeboot.S: Likewise.
12301 * bus/pci.c: Likewise.
12302 * commands/cmp.c: Likewise.
12303 * commands/help.c: Likewise.
12304 * commands/hexdump.c: Likewise.
12305 * commands/i386/pc/halt.c: Likewise.
12306 * commands/i386/pc/play.c: Likewise.
12307 * commands/i386/pc/vbeinfo.c: Likewise.
12308 * commands/ls.c: Likewise.
12309 * commands/test.c: Likewise.
12310 * disk/dmraid_nvidia.c: Likewise.
12311 * disk/i386/pc/biosdisk.c: Likewise.
12312 * disk/ieee1275/nand.c: Likewise.
12313 * disk/ieee1275/ofdisk.c: Likewise.
12314 * disk/lvm.c: Likewise.
12315 * disk/raid.c: Likewise.
12316 * disk/raid6_recover.c: Likewise.
12317 * disk/scsi.c: Likewise.
12318 * fs/affs.c: Likewise.
12319 * fs/cpio.c: Likewise.
12320 * fs/ext2.c: Likewise.
12321 * fs/hfs.c: Likewise.
12322 * fs/iso9660.c: Likewise.
12323 * fs/ntfs.c: Likewise.
12324 * fs/sfs.c: Likewise.
12325 * fs/udf.c: Likewise.
12326 * fs/ufs.c: Likewise.
12327 * fs/xfs.c: Likewise.
12328 * gencmdlist.sh: Likewise.
12329 * genmk.rb: Likewise.
12330 * include/grub/disk.h: Likewise.
12331 * include/grub/efi/api.h: Likewise.
12332 * include/grub/efi/efi.h: Likewise.
12333 * include/grub/efi/pe32.h: Likewise.
12334 * include/grub/elf.h: Likewise.
12335 * include/grub/fs.h: Likewise.
12336 * include/grub/i386/at_keyboard.h: Likewise.
12337 * include/grub/i386/pc/memory.h: Likewise.
12338 * include/grub/i386/pc/vbe.h: Likewise.
12339 * include/grub/i386/pci.h: Likewise.
12340 * include/grub/i386/tsc.h: Likewise.
12341 * include/grub/ieee1275/ieee1275.h: Likewise.
12342 * include/grub/ntfs.h: Likewise.
12343 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
12344 * include/grub/sparc64/libgcc.h: Likewise.
12345 * include/grub/symbol.h: Likewise.
12346 * include/grub/types.h: Likewise.
12347 * include/multiboot2.h: Likewise.
12348 * io/gzio.c: Likewise.
12349 * kern/device.c: Likewise.
12350 * kern/disk.c: Likewise.
12351 * kern/efi/efi.c: Likewise.
12352 * kern/efi/mm.c: Likewise.
12353 * kern/elf.c: Likewise.
12354 * kern/file.c: Likewise.
12355 * kern/i386/dl.c: Likewise.
12356 * kern/i386/pc/init.c: Likewise.
12357 * kern/i386/pc/startup.S: Likewise.
12358 * kern/ieee1275/ieee1275.c: Likewise.
12359 * kern/ieee1275/init.c: Likewise.
12360 * kern/main.c: Likewise.
12361 * kern/mm.c: Likewise.
12362 * kern/powerpc/dl.c: Likewise.
12363 * kern/sparc64/dl.c: Likewise.
12364 * kern/x86_64/dl.c: Likewise.
12365 * lib/hexdump.c: Likewise.
12366 * loader/efi/appleloader.c: Likewise.
12367 * loader/i386/ieee1275/linux.c: Likewise.
12368 * loader/i386/pc/chainloader.c: Likewise.
12369 * loader/i386/pc/linux.c: Likewise.
12370 * loader/i386/pc/multiboot2.c: Likewise.
12371 * loader/ieee1275/multiboot2.c: Likewise.
12372 * loader/multiboot2.c: Likewise.
12373 * loader/multiboot_loader.c: Likewise.
12374 * loader/powerpc/ieee1275/linux.c: Likewise.
12375 * normal/completion.c: Likewise.
12376 * normal/menu_entry.c: Likewise.
12377 * partmap/apple.c: Likewise.
12378 * util/grub.d/10_hurd.in: Likewise.
12379 * util/hostfs.c: Likewise.
12380 * video/readers/png.c: Likewise.
12381
12382 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
12383
12384 * include/grub/misc.h (GNUC_PREREQ): New macro.
12385 (ATTRIBUTE_ERROR): New macro.
12386 * include/grub/list.h (grub_bad_type_cast_real): Use
12387 ATTRIBUTE_ERROR.
12388
12389 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12390
12391 * normal/menu_text.c (print_message): Change messages.
12392
12393 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12394
12395 * normal/menu_entry.c (store_completion): Gettextizze.
12396
12397 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12398
12399 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
12400
12401 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12402
12403 * po/POTFILES: Sort correctly.
12404
12405 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12406
12407 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
12408 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
12409 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
12410 full stop.
12411 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
12412 summary. Gettextizze the strings.
12413 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
12414 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
12415 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
12416 full stop.
12417 (GRUB_MOD_INIT): Remove command name from summary.
12418 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
12419 summary.
12420 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
12421 * term/i386/pc/serial.c (options): Add full stops.
12422 (GRUB_MOD_INIT): Remove command name from the summary.
12423
12424 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12425
12426 * commands/acpi.c: Gettextizze help strings and/or options. Include
12427 `grub/i18n.h' if needed.
12428 * commands/blocklist.c: Likewise.
12429 * commands/boot.c: Likewise.
12430 * commands/cat.c: Likewise.
12431 * commands/cmp.c: Likewise.
12432 * commands/configfile.c: Likewise.
12433 * commands/crc.c: Likewise.
12434 * commands/date.c: Likewise.
12435 * commands/echo.c: Likewise.
12436 * commands/efi/fixvideo.c: Likewise.
12437 * commands/efi/loadbios.c: Likewise.
12438 * commands/gptsync.c: Likewise.
12439 * commands/halt.c: Likewise.
12440 * commands/handler.c: Likewise.
12441 * commands/hdparm.c: Likewise.
12442 * commands/hexdump.c: Likewise.
12443 * commands/i386/cpuid.c: Likewise.
12444 * commands/i386/pc/drivemap.c: Likewise.
12445 * commands/i386/pc/halt.c: Likewise.
12446 * commands/i386/pc/pxecmd.c: Likewise.
12447 * commands/i386/pc/vbeinfo.c: Likewise.
12448 * commands/i386/pc/vbetest.c: Likewise.
12449 * commands/ieee1275/suspend.c: Likewise.
12450 * commands/keystatus.c: Likewise.
12451 * commands/loadenv.c: Likewise.
12452 * commands/ls.c: Likewise.
12453 * commands/lsmmap.c: Likewise.
12454 * commands/lspci.c: Likewise.
12455 * commands/memrw.c: Likewise.
12456 * commands/minicmd.c: Likewise.
12457 * commands/parttool.c: Likewise.
12458 * commands/password.c: Likewise.
12459 * commands/probe.c: Likewise.
12460 * commands/read.c: Likewise.
12461 * commands/reboot.c: Likewise.
12462 * commands/search.c: Likewise.
12463 * commands/sleep.c: Likewise.
12464 * commands/test.c: Likewise.
12465 * commands/true.c: Likewise.
12466 * commands/usbtest.c: Likewise.
12467 * commands/videotest.c: Likewise.
12468 * commands/xnu_uuid.c: Likewise.
12469 * disk/loopback.c: Likewise.
12470 * hello/hello.c: Likewise.
12471 * loader/i386/bsd.c: Likewise.
12472 * term/i386/pc/serial.c: Likewise.
12473 * po/POTFILES: Add new files.
12474
12475 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
12476
12477 * term/i386/pc/at_keyboard.c
12478 (keyboard_controller_wait_untill_ready): Rename to ...
12479 (keyboard_controller_wait_until_ready): ... this. Update all users.
12480
12481 2010-01-01 Carles Pina i Estany <carles@pina.cat>
12482
12483 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
12484 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
12485 string using string width.
12486 * normal/menu_text.c (grub_print_message_indented): Use
12487 grub_print_spaces and not print_spaces.
12488 (print_timeout): Likewise.
12489 (print_spaces): Move to...
12490 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
12491
12492 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
12493
12494 Import from Gnulib.
12495
12496 * gnulib/getdelim.c: New file.
12497 * gnulib/getline.c: Likewise.
12498
12499 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
12500
12501 * include/grub/list.h (grub_assert_fail): Removed.
12502 (grub_bad_type_cast_real): New function.
12503 (grub_bad_type_cast): New macro.
12504 (GRUB_AS_LIST): Use grub_bad_type_cast.
12505 (GRUB_AS_LIST_P): Likewise.
12506 (GRUB_AS_NAMED_LIST): Likewise.
12507 (GRUB_AS_NAMED_LIST_P): Likewise.
12508 (GRUB_AS_PRIO_LIST): Likewise.
12509 (GRUB_AS_PRIO_LIST_P): Likewise.
12510 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
12511
12512 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
12513
12514 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
12515 Fix syntax error.
12516
12517 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
12518
12519 * configure.ac: Check for TARGET_CFLAGS initialization before we
12520 initialize it ourselves (sigh).
12521 Move a few modifications to TARGET_CFLAGS to be unconditional
12522 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
12523 eh_frame)
12524
12525 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
12526 * term/i386/pc/at_keyboard.c
12527 (keyboard_controller_wait_untill_ready): Likewise.
12528 (keyboard_controller_led): Rename `led_status' paramter to avoid
12529 name conflict.
12530
12531 2009-12-28 Carles Pina i Estany <carles@pina.cat>
12532
12533 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
12534 quotes.
12535
12536 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
12539
12540 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * normal/menu_text.c (grub_print_message_indented): Prevent
12543 past-the-end-of-array dereference.
12544
12545 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
12548 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
12549
12550 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12551
12552 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
12553 * normal/main.c (grub_normal_read_line): Remove a space from the
12554 default prompt.
12555
12556 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12557
12558 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
12559 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12560 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12561 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12562 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12563 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12564 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12565
12566 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12567
12568 * video/readers/jpeg.c (cmd): Declare.
12569 (grub_cmd_jpegtest): Use `grub_command_t' type.
12570 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12571 Assign to `cmd'.
12572 (GRUB_MOD_FINI): Use `cmd' to unregister.
12573 * video/readers/png.c (cmd): Declare.
12574 (grub_cmd_pngtest): Use `grub_command_t' type.
12575 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12576 Assign to `cmd'.
12577 (GRUB_MOD_FINI): Use `cmd' to unregister.
12578 * video/readers/tga.c (cmd): Declare.
12579 (grub_cmd_tgatest): Use `grub_command_t' type.
12580 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12581 Assign to `cmd'.
12582 (GRUB_MOD_FINI): Use `cmd' to unregister.
12583
12584 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12585
12586 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
12587 stops.
12588 * kern/corecmd.c (grub_register_core_commands): Likewise.
12589 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
12590 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12591 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
12592 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12593 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12594 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
12595 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12596 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
12597 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12598 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12599 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12600 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12601 * normal/handler.c (insert_handler): Likewise.
12602 * normal/main.c (GRUB_MOD_INIT): Likewise.
12603 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12604
12605 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12606
12607 * commands/help.c (grub_cmd_help): Print the command name before the
12608 summary.
12609 (GRUB_MOD_INIT): Remove command name from the summary.
12610 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
12611 string as summary.
12612 * lib/arg.c (find_long): Print the command name before the summary.
12613 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
12614 summary.
12615 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
12616 * commands/cat.c (GRUB_MOD_INIT): Likewise.
12617 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
12618 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
12619 * commands/crc.c (GRUB_MOD_INIT): Likewise.
12620 * commands/date.c (GRUB_MOD_INIT): Likewise.
12621 * commands/echo.c (GRUB_MOD_INIT): Likewise.
12622 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
12623 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12624 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12625 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
12626 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
12627 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
12628 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
12629 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12630 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
12631 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
12632 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
12633 * commands/ls.c (GRUB_MOD_INIT): Likewise.
12634 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12635 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12636 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12637 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
12638 * commands/password.c (GRUB_MOD_INIT): Likewise.
12639 * commands/probe.c (GRUB_MOD_INIT): Likewise.
12640 * commands/read.c (GRUB_MOD_INIT): Likewise.
12641 * commands/search.c (GRUB_MOD_INIT): Likewise.
12642 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
12643 * commands/test.c (GRUB_MOD_INIT): Likewise.
12644 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
12645 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12646 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12647 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
12648 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12649 * lib/arg.c (GRUB_MOD_INIT): Likewise.
12650 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
12651 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12652 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12653 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12654 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12655 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
12656 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
12657 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
12658
12659 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 Use search command for preliminar UUID search.
12662
12663 * commands/search.c: Split into ...
12664 * commands/search_wrap.c: ...this
12665 * commands/search.c: ...and this.
12666 * commands/search_file.c: New file.
12667 * commands/search_label.c: New file.
12668 * commands/search_uuid.c: New file.
12669 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
12670 Add commands/search_wrap.c, commands/search_file.c,
12671 commands/search_label.c and commands/search_uuid.c.
12672 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
12673 (search_mod_SOURCES): Set to commands/search_wrap.c.
12674 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
12675 search_label.mod.
12676 (search_fs_file_mod_SOURCES): New variable.
12677 (search_fs_file_mod_CFLAGS): Likewise.
12678 (search_fs_file_mod_LDFLAGS): Likewise.
12679 (search_label_mod_SOURCES): Likewise.
12680 (search_label_mod_CFLAGS): Likewise.
12681 (search_label_mod_LDFLAGS): Likewise.
12682 (search_fs_uuid_mod_SOURCES): New variable.
12683 (search_fs_uuid_mod_CFLAGS): Likewise.
12684 (search_fs_uuid_mod_LDFLAGS): Likewise.
12685 (fs_file_mod_SOURCES): Removed.
12686 (fs_file_mod_CFLAGS): Likewise.
12687 (fs_file_mod_LDFLAGS): Likewise.
12688 (fs_uuid_mod_SOURCES): Removed.
12689 (fs_uuid_mod_CFLAGS): Likewise.
12690 (fs_uuid_mod_LDFLAGS): Likewise.
12691 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
12692 Set to util/grub-install.in.
12693 * disk/fs_file.c: Removed.
12694 * disk/fs_uuid.c: Likewise.
12695 * include/grub/search.h: New file.
12696 * util/grub-install.in: Handle sparc64.
12697 Create and use load.cfg.
12698 * util/sparc64/ieee1275/grub-install.in: Removed.
12699
12700 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
12703 Ignore return status if CF is cleared.
12704 (grub_biosdisk_get_diskinfo_standard): Likewise.
12705
12706 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12707
12708 * term/i386/pc/at_keyboard.c
12709 (keyboard_controller_wait_untill_ready): New function.
12710 (grub_keyboard_controller_write, grub_keyboard_controller_read)
12711 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
12712 for keyboard polling, rather than duplicate the same loop. This
12713 saves a few bytes in code size.
12714
12715 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 Support for (pxe[:server[:gateway]]) syntax and
12718 use environment variable for PXE.
12719
12720 * commands/i386/pc/pxecmd.c (options): Removed.
12721 (print_ip): Removed.
12722 (grub_cmd_pxe): Removed
12723 (grub_cmd_pxe_unload): New function.
12724 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
12725 (grub_pxe_your_ip): Made static.
12726 (grub_pxe_default_server_ip): Likewise.
12727 (grub_pxe_default_gateway_ip): Likewise.
12728 (grub_pxe_blksize): Likewise.
12729 (parse_ip): New function.
12730 (grub_pxe_open): Support server and gateway specification.
12731 (grub_pxe_close): Free disk->data.
12732 (grub_pxefs_open): Use disk->data.
12733 (grub_pxefs_read): Likewise.
12734 (grub_env_write_readonly): New function.
12735 (set_mac_env): Likewise.
12736 (set_env_limn_ro): Likewise.
12737 (parse_dhcp_vendor): Likewise.
12738 (grub_pxe_detect): Set the environment variables.
12739 (set_ip_env): New function.
12740 (write_ip_env): Likewise.
12741 (grub_env_write_pxe_default_server): Likewise.
12742 (grub_env_write_pxe_default_gateway): Likewise.
12743 (grub_env_write_pxe_blocksize): Likewise.
12744 (GRUB_MOD_INIT(pxe)): Set environment variables.
12745 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
12746 (grub_pxe_mac_addr_t): ... this. All users updated.
12747 (grub_pxe_your_ip): Removed.
12748 (grub_pxe_server_ip): Likewise.
12749 (grub_pxe_gateway_ip): Likewise.
12750 (grub_pxe_blksize): Likewise.
12751
12752 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12753
12754 * commands/help.c: Include `<grub/i18n.h>'.
12755 (grub_cmd_help): Gettextizze.
12756 (GRUB_MOD_INIT): Likewise.
12757 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
12758 (GRUB_MOD_INIT): Gettextizze.
12759 * commands/search.c: Include `<grub/i18n.h>'.
12760 (options): Gettextizze.
12761 (GRUB_MOD_INIT): Gettextizze.
12762 * lib/arg.c: Include `<grub/i18n.h>'.
12763 (help_options): Gettextizze.
12764 (find_long): Likewise.
12765 (grub_arg_show_help): Likewise.
12766 * normal/dyncmd.c: Include `<grub/i18n.h>'.
12767 (read_command_list): Gettextizze.
12768 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
12769 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
12770
12771 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12772
12773 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
12774 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
12775 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
12776 (led_status): New variable.
12777 (keyboard_controller_led): New function.
12778 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
12779 update led status for caps lock, num lock and scroll lock.
12780
12781 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
12782
12783 * util/hostdisk.c (open_device): Fix a comment.
12784
12785 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12786
12787 * util/grub-install.in (host_os): New variable.
12788 * util/i386/efi/grub-install.in (host_os): Likewise.
12789
12790 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12791
12792 * util/mkisofs/write.c (padblock_write): Abort when given an
12793 excedingly large embed image, instead of silently truncating it.
12794
12795 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12796
12797 * include/multiboot.h: Indentation fixes.
12798
12799 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12800
12801 * include/multiboot.h (struct multiboot_aout_symbol_table)
12802 (struct multiboot_elf_section_header_table): New structure
12803 declarations (stolen from GRUB Legacy).
12804 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
12805 table information.
12806
12807 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
12808 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
12809 type aliases.
12810
12811 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12812
12813 * include/multiboot.h: Make comments src2texi-friendly.
12814
12815 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12816
12817 For consistency with [multiboot]/docs/boot.S.
12818
12819 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
12820 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
12821 (MULTIBOOT_MAGIC2): Rename from this ...
12822 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
12823
12824 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12825
12826 * include/multiboot.h: Remove `<grub/types.h>'.
12827 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
12828 types. Update all users.
12829
12830 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12831
12832 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
12833 `couldn't' and `can not' by `cannot'.
12834 * commands/i386/pc/drivemap.c: Likewise.
12835 * disk/ata.c: Likewise.
12836 * disk/ieee1275/nand.c: Likewise.
12837 * fs/affs.c: Likewise.
12838 * fs/fat.c: Likewise.
12839 * fs/hfs.c: Likewise.
12840 * fs/hfsplus.c: Likewise.
12841 * fs/iso9660.c: Likewise.
12842 * fs/jfs.c: Likewise.
12843 * fs/minix.c: Likewise.
12844 * fs/reiserfs.c: Likewise.
12845 * fs/sfs.c: Likewise.
12846 * fs/udf.c: Likewise.
12847 * fs/ufs.c: Likewise.
12848 * fs/xfs.c: Likewise.
12849 * loader/powerpc/ieee1275/linux.c: Likewise.
12850 * loader/sparc64/ieee1275/linux.c: Likewise.
12851 * util/grub-probe.c: Likewise.
12852 * util/misc.c: Likewise.
12853
12854 2009-12-24 Carles Pina i Estany <carles@pina.cat>
12855
12856 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
12857 grub_errno calls.
12858 * commands/acpi.c: Likewise.
12859 * commands/blocklist.c: Likewise.
12860 * commands/efi/loadbios.c: Likewise.
12861 * commands/i386/pc/drivemap.c: Likewise.
12862 * commands/loadenv.c: Likewise.
12863 * commands/memrw.c: Likewise.
12864 * commands/password.c: Likewise.
12865 * commands/videotest.c: Likewise.
12866 * disk/ata.c: Likewise.
12867 * disk/ata_pthru.c: Likewise.
12868 * disk/dmraid_nvidia.c: Likewise.
12869 * disk/ieee1275/nand.c: Likewise.
12870 * disk/ieee1275/ofdisk.c: Likewise.
12871 * disk/loopback.c: Likewise.
12872 * disk/lvm.c: Likewise.
12873 * disk/mdraid_linux.c: Likewise.
12874 * disk/raid.c: Likewise.
12875 * disk/raid6_recover.c: Likewise.
12876 * disk/scsi.c: Likewise.
12877 * efiemu/main.c: Likewise.
12878 * efiemu/mm.c: Likewise.
12879 * efiemu/pnvram.c: Likewise.
12880 * efiemu/symbols.c: Likewise.
12881 * font/font.c: Likewise.
12882 * fs/cpio.c: Likewise.
12883 * fs/hfsplus.c: Likewise.
12884 * fs/iso9660.c: Likewise.
12885 * fs/jfs.c: Likewise.
12886 * fs/minix.c: Likewise.
12887 * fs/ntfs.c: Likewise.
12888 * fs/ntfscomp.c: Likewise.
12889 * fs/reiserfs.c: Likewise.
12890 * fs/ufs.c: Likewise.
12891 * fs/xfs.c: Likewise.
12892 * gettext/gettext.c: Likewise.
12893 * include/grub/auth.h: Likewise.
12894 * kern/elf.c: Likewise.
12895 * kern/file.c: Likewise.
12896 * kern/ieee1275/init.c: Likewise.
12897 * kern/ieee1275/mmap.c: Likewise.
12898 * kern/ieee1275/openfw.c: Likewise.
12899 * kern/powerpc/dl.c: Likewise.
12900 * kern/sparc64/dl.c: Likewise.
12901 * lib/arg.c: Likewise.
12902 * loader/i386/bsd.c: Likewise.
12903 * loader/i386/bsdXX.c: Likewise.
12904 * loader/i386/efi/linux.c: Likewise.
12905 * loader/i386/efi/xnu.c: Likewise.
12906 * loader/i386/ieee1275/linux.c: Likewise.
12907 * loader/i386/linux.c: Likewise.
12908 * loader/i386/multiboot.c: Likewise.
12909 * loader/i386/pc/linux.c: Likewise.
12910 * loader/i386/pc/multiboot2.c: Likewise.
12911 * loader/i386/xnu.c: Likewise.
12912 * loader/ieee1275/multiboot2.c: Likewise.
12913 * loader/macho.c: Likewise.
12914 * loader/machoXX.c: Likewise.
12915 * loader/multiboot2.c: Likewise.
12916 * loader/multiboot_loader.c: Likewise.
12917 * loader/powerpc/ieee1275/linux.c: Likewise.
12918 * loader/sparc64/ieee1275/linux.c: Likewise.
12919 * loader/xnu.c: Likewise.
12920 * loader/xnu_resume.c: Likewise.
12921 * mmap/i386/pc/mmap.c: Likewise.
12922 * normal/menu_viewer.c: Likewise.
12923 * partmap/acorn.c: Likewise.
12924 * partmap/amiga.c: Likewise.
12925 * partmap/apple.c: Likewise.
12926 * script/lexer.c: Likewise.
12927 * term/gfxterm.c: Likewise.
12928 * term/i386/pc/serial.c: Likewise.
12929 * term/i386/pc/vga.c: Likewise.
12930 * term/ieee1275/ofconsole.c: Likewise.
12931 * term/terminfo.c: Likewise.
12932 * video/bitmap.c: Likewise.
12933 * video/efi_gop.c: Likewise.
12934 * video/efi_uga.c: Likewise.
12935 * video/fb/video_fb.c: Likewise.
12936 * video/i386/pc/vbe.c: Likewise.
12937 * video/readers/tga.c: Likewise.
12938 * video/video.c: Likewise.
12939
12940 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
12941
12942 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
12943 * commands/lspci.c: Likewise.
12944 * commands/probe.c: Likewise.
12945 * commands/xnu_uuid.c: Likewise.
12946 * conf/i386-coreboot.rmk: Likewise.
12947 * conf/i386-efi.rmk: Likewise.
12948 * conf/i386-ieee1275.rmk: Likewise.
12949 * conf/i386-pc.rmk: Likewise.
12950 * conf/powerpc-ieee1275.rmk: Likewise.
12951 * conf/sparc64-ieee1275.rmk: Likewise.
12952 * conf/x86_64-efi.rmk: Likewise.
12953 * fs/i386/pc/pxe.c: Likewise.
12954 * gettext/gettext.c: Likewise.
12955 * include/grub/efi/graphics_output.h: Likewise.
12956 * include/grub/i386/pc/memory.h: Likewise.
12957 * kern/env.c: Likewise.
12958 * kern/i386/qemu/startup.S: Likewise.
12959 * lib/i386/pc/biosnum.c: Likewise.
12960 * lib/i386/relocator.c: Likewise.
12961 * lib/i386/relocator_asm.S: Likewise.
12962 * lib/relocator.c: Likewise.
12963 * loader/i386/bsd.c: Likewise.
12964 * loader/i386/multiboot.c: Likewise.
12965 * loader/i386/pc/chainloader.c: Likewise.
12966 * loader/i386/xnu.c: Likewise.
12967 * loader/xnu.c: Likewise.
12968 * normal/main.c: Likewise.
12969 * normal/menu_text.c: Likewise.
12970 * util/getroot.c: Likewise.
12971 * util/grub-mkconfig_lib.in: Likewise.
12972 * util/grub.d/00_header.in: Likewise.
12973 * util/i386/pc/grub-mkimage.c: Likewise.
12974 * util/mkisofs/eltorito.c: Likewise.
12975 * util/mkisofs/exclude.h: Likewise.
12976 * util/mkisofs/hash.c: Likewise.
12977 * util/mkisofs/iso9660.h: Likewise.
12978 * util/mkisofs/joliet.c: Likewise.
12979 * util/mkisofs/mkisofs.c: Likewise.
12980 * util/mkisofs/mkisofs.h: Likewise.
12981 * util/mkisofs/multi.c: Likewise.
12982 * util/mkisofs/name.c: Likewise.
12983 * util/mkisofs/rock.c: Likewise.
12984 * util/mkisofs/tree.c: Likewise.
12985 * util/mkisofs/write.c: Likewise.
12986 * video/efi_gop.c: Likewise.
12987
12988 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
12991 size counting.
12992
12993 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12994
12995 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
12996 * genmk.rb (class SCRIPT): Modify the target file instead of source.
12997
12998 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12999
13000 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
13001 (GRUB_MOD_INIT(memrw)): Update help line.
13002
13003 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
13006 Use grub_extcmd_t. All users updated.
13007 (options): New variable.
13008 (grub_cmd_read): Restructure for readability. Support "-v" option.
13009 (grub_cmd_write): Restructure for readability.
13010
13011 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13012
13013 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
13014
13015 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13016
13017 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
13018 with the actual contents of the correspondending make variable.
13019 * util/grub-mkrescue.in (pkglib_DATA): New variable.
13020 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
13021 specifying `*.lst' and `efiemu??.o'
13022
13023 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13024
13025 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
13026 after function name.
13027 Noticed by Rene Engelhard <rene@debian.org>.
13028
13029 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
13032 (options): New variable.
13033 (iospace): Likewise.
13034 (grub_lspci_iter): List IO spaces if "-i" was given.
13035 (grub_cmd_lspci): Parse options.
13036 (GRUB_MOD_INIT(lspci)): Use extcmd.
13037 (GRUB_MOD_FINI(lspci)): Likewise.
13038
13039 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13040
13041 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
13042 `function' keyword.
13043 Patch by Tony Mancill <tmancill@debian.org>.
13044
13045 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13046
13047 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
13048 (grub_uhci_portstatus): Likewise.
13049 (grub_uhci_portstatus): Add necessary delay.
13050 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
13051
13052 2009-12-21 Carles Pina i Estany <carles@pina.cat>
13053
13054 * commands/acpi.c (options): Fix capitalizations and/or full stops.
13055 (GRUB_MOD_INIT): Likewise.
13056 * commands/boot.c (GRUB_MOD_INIT): Likewise.
13057 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
13058 * commands/echo.c (options): Fix capitalizations and/or full stops.
13059 * commands/efi/loadbios.c (enable_rom_area): Likewise.
13060 (enable_rom_area): Likewise.
13061 (GRUB_MOD_INIT): Likewise.
13062 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
13063 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
13064 * commands/handler.c (GRUB_MOD_INIT): Likewise.
13065 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
13066 * commands/hexdump.c (options): Likewise.
13067 * commands/i386/cpuid.c (options): Likewise.
13068 (GRUB_MOD_INIT): Likewise.
13069 * commands/i386/pc/drivemap.c (options): Likewise.
13070 (GRUB_MOD_INIT): Likewise.
13071 * commands/i386/pc/halt (options): Likewise.
13072 (GRUB_MOD_INIT): Likewise.
13073 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
13074 * commands/i386/pc/pxecmd.c (options): Likewise.
13075 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
13076 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
13077 * commands/keystatus.c (options): Likewise.
13078 (GRUB_MOD_INIT): Likewise.
13079 * commands/loadenv.c (options): Likewise.
13080 * commands/ls.c (options): Likewise.
13081 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
13082 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
13083 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
13084 * commands/parttool.c (helpmsg): Likewise.
13085 * commands/probe.c (options): Likewise.
13086 * commands/read.c (GRUB_MOD_INIT): Likewise.
13087 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
13088 * commands/search.c (options): Likewise.
13089 * commands/sleep.c (options): Likewise.
13090 * commands/test.c (GRUB_MOD_INIT): Likewise.
13091 * commands/true.c (GRUB_MOD_INIT): Likewise.
13092 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
13093 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
13094 * lib/arg.c (help_options): Likewise.
13095 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
13096 `$(XGETTEXT)'.
13097 * po/POTFILES: Add `commands/loadenv.c'.
13098
13099 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
13100
13101 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
13102 instead of specifying them explicit.
13103
13104 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13105
13106 * NEWS: Add grub-probe support for GNU/Hurd.
13107
13108 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13109
13110 * NEWS: gettext was added after 1.97.
13111
13112 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13113
13114 * util/mkisofs/msdos_partition.h: New file (based on
13115 include/grub/msdos_partition.h).
13116 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
13117 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
13118 (ld_options, main): Recognize --protective-msdos-label.
13119 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
13120 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
13121 (padblock_write): If `use_protective_msdos_label' is set, patch a
13122 protective DOS-style label in the output image.
13123
13124 * util/grub-mkrescue.in: Use --protective-msdos-label.
13125
13126 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13127
13128 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
13129 boot.
13130
13131 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13132
13133 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
13134 variables.
13135 (ld_options, main): Recognize `--embedded-boot'.
13136 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
13137 declarations.
13138 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
13139 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
13140 (padblock_write): Likewise. Rewrite to support embedded boot image.
13141
13142 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
13143 for BIOS-based disk boot instead of only ElTorito.
13144
13145 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13146
13147 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
13148 build (not needed for bootstrap).
13149
13150 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13151
13152 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
13153 from i386-pc build (not needed for bootstrap).
13154 Rewrite a pair of strings.
13155
13156 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13157
13158 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
13159
13160 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
13161
13162 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
13163
13164 2009-12-21 Andreas Born <futur.andy@googlemail.com>
13165
13166 * kern/env.c (grub_env_context_open): Mark exported variable for
13167 reexport.
13168
13169 2009-12-21 Andreas Born <futur.andy@googlemail.com>
13170
13171 * kern/env.c (grub_env_export): Create nonexistent variables before
13172 exporting.
13173
13174 2009-12-20 Carles Pina i Estany <carles@pina.cat>
13175
13176 * include/grub/auth.h: Include `<grub/i18n.h>'.
13177 (GRUB_GET_PASSWORD): Gettextizze string.
13178 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
13179 menu_text.c.
13180 (grub_utf8_to_ucs4_alloc): Fix indentation.
13181 (grub_print_ucs4): Likewise.
13182 (grub_getstringwidth): Likewise.
13183 (print_message_indented): New declaration.
13184 * normal/auth.c: Include `<grub/i18n.h>'.
13185 (grub_auth_check_authentication): Gettexttize string.
13186 * normal/cmdline.c: Include `<grub/i18n.h>'.
13187 (grub_cmdline_get): Gettextizze.
13188 * normal/color.c: Include `<grub/i18n.h>'.
13189 (grub_parse_color_name_pair): Gettexttize strings.
13190 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
13191 string (use `print_message_indented').
13192 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
13193 `include/grub/normal.h'.
13194 (print_message_indented): Renamed to ...
13195 (grub_print_message_indented): ... this. Remove `static' qualifer (now
13196 used in normal/main.c).
13197 (print_message): Use `grub_print_message_indented' instead of
13198 `print_message_indented'.
13199 (print_timeout): Likewise.
13200 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
13201 (grub_normal_print_device_info): Gettexttize strings.
13202 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
13203
13204 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13205
13206 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
13207 of arguments. Return number of tokens and not arguments. All users
13208 updated.
13209
13210 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13211
13212 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
13213 non-MSDOS paritions.
13214
13215 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 * include/grub/types.h (UNUSED): Removed since it conflicts with
13218 NetBSD headers. All users changed to direct __attribute__ ((unused)).
13219 Reported by Grégoire Sutre.
13220
13221 2009-12-19 Carles Pina i Estany <carles@pina.cat>
13222
13223 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
13224 (grub_print_ucs4_alloc): Likewise.
13225 (grub_getstringwidth): Likewise.
13226 * normal/main.c (grub_normal_init_page): Gettextize version string.
13227 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
13228 (getstringwidth): Renamed to ...
13229 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
13230 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
13231 (grub_print_ucs4): Remove `static' qualifer (now used in
13232 normal/main.c).
13233 * po/POTFILES: Add normal/main.c.
13234
13235 2009-12-19 Carles Pina i Estany <carles@pina.cat>
13236
13237 * normal/menu_text.c (STANDARD_MARGIN): New macro.
13238 (print_message_indented): Add `margin_left' and `margin_right'
13239 parameters.
13240 (print_message): Update `print_message_indented' calls. Adds '\n' to the
13241 strings.
13242 (print_timeout): Use `print_message_indented' to print the message.
13243 Deletes `second_stage' parameter.
13244 (run_menu): Update `print_timeout' calls.
13245
13246 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13247
13248 Fix console palette on OpenFirmware.
13249
13250 * term/ieee1275/ofconsole.c (MAX): Removed.
13251 (colors): Redone based on VGA palette.
13252 (grub_ofconsole_setcolor): Discard brightness bit since only 8
13253 colors are supported.
13254 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
13255
13256 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 Fix potential EfiEmu double prepare.
13259
13260 * efiemu/main.c (prepared): New variable
13261 (grub_efiemu_unload): Set prepare to '0'.
13262 (grub_efiemu_prepare): Return if already prepared. Set prepared.
13263
13264 set_virtual_address_map support.
13265
13266 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
13267 prototype.
13268 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
13269 prototype.
13270 (grub_efiemu_crc32): Likewise.
13271 (grub_efiemu_crc64): Likewise.
13272 (grub_efiemu_set_virtual_address_map): Likewise.
13273 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
13274 New definition.
13275 (grub_autoefi_set_virtual_address_map): Likewise.
13276 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
13277 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
13278 Restructure flow to accomodate it.
13279 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
13280 (grub_efiemu_crc): Recompute CRC32.
13281 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
13282 (efiemu_ptv_relocated): ... this. Made global. All users updated.
13283 * efiemu/symbols.c (relocated_handle): New variable.
13284 (grub_efiemu_free_syms): Free relocated_handle.
13285 (grub_efiemu_alloc_syms): Allocate relocated_handle.
13286 (grub_efiemu_write_sym_markers): New function.
13287 (grub_efiemu_set_virtual_address_map): Likewise.
13288
13289 Newer XNU parameters.
13290
13291 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
13292 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
13293 (grub_xnu_fill_devicetree): New prototype.
13294 (grub_xnu_heap_real_start): New variable.
13295 * loader/xnu.c (get_name_ptr): New function.
13296 (grub_xnu_load_driver): Fill namelen and name.
13297
13298 64-bit xnu support.
13299
13300 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
13301 and 'loader/macho64.c'.
13302 * conf/i386-pc.rmk: Likewise.
13303 * conf/x86_64-efi.rmk: Likewise.
13304 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
13305 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
13306 * include/grub/macho.h (grub_macho_segment64): New structure.
13307 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
13308 (grub_macho_size32): ... to this.
13309 (grub_macho32_get_entry_point): Renamed from ...
13310 (grub_macho_get_entry_point32): ... to this.
13311 (grub_macho_contains_macho64): New prototype.
13312 (grub_macho_size64): Likewise.
13313 (grub_macho_get_entry_point64): Likewise.
13314 (grub_macho32_load): Renamed from ...
13315 (grub_macho_load32): ... to this.
13316 (grub_macho32_filesize): Renamed from ...
13317 (grub_macho_filesize32): ... to this.
13318 (grub_macho32_readfile): Renamed from ...
13319 (grub_macho_readfile32): ... to this.
13320 (grub_macho_filesize64): New prototype.
13321 (grub_macho_readfile64): Likewise.
13322 (grub_macho_parse32): Likewise.
13323 (grub_macho_parse64): Likewise.
13324 * loader/macho.c: Split into ...
13325 * loader/machoXX.c: ... and this. Replace 32 with XX.
13326 * loader/macho32.c: New file.
13327 * loader/macho64.c: Likewise.
13328 * loader/xnu.c (grub_xnu_is_64bit): New variable.
13329 (grub_cmd_xnu_kernel): Make 32-bit only.
13330 (grub_cmd_xnu_kernel64): New function.
13331 (grub_xnu_load_driver): Support Mach-O 64.
13332 (grub_cmd_xnu_mkext): Likewise.
13333 * util/grub.d/30_os-prober.in (osx_entry): New function.
13334 Generate entries for 64-bit boot too.
13335
13336 Eliminate ad-hoc tree format in XNU and EfiEmu.
13337
13338 * efiemu/main.c (grub_efiemu_prepare): Update comment.
13339 * efiemu/pnvram.c: Rewritten to use environment variables.
13340 All users updated.
13341
13342 Inline utf16_to_utf8.
13343
13344 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
13345 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
13346 All users updated.
13347 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
13348
13349 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
13350 * commands/usbtest.c (grub_usb_get_string): ... move here.
13351 (usb_print_str): Fix error handling.
13352 * include/grub/usb.h (grub_usb_get_string): Remove.
13353
13354 UTF-8 to UTF-16 transformation.
13355
13356 * conf/common.rmk (pkglib_MODULES): Add charset.mod
13357 (charset_mod_SOURCES): New variable.
13358 (charset_mod_CFLAGS): Likewise.
13359 (charset_mod_LDFLAGS): Likewise.
13360 * include/grub/utf.h: New file.
13361 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
13362
13363 Support for device properties.
13364
13365 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
13366 (grub_xnu_devprop_device_header): Likewise.
13367 (grub_xnu_devprop_device_descriptor): Likewise.
13368 (grub_xnu_devprop_add_device): New prototype.
13369 (grub_xnu_devprop_remove_device): Likewise.
13370 (grub_xnu_devprop_remove_property): Likewise.
13371 (grub_xnu_devprop_add_property_utf8): Likewise.
13372 (grub_xnu_devprop_add_property_utf16): Likewise.
13373 (grub_cpu_xnu_init): Likewise.
13374 (grub_cpu_xnu_fini): Likewise.
13375 (grub_cpu_xnu_unload): Likewise.
13376 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
13377 (property_descriptor): Likewise.
13378 (devices): New variable.
13379 (grub_xnu_devprop_remove_property): New function.
13380 (grub_xnu_devprop_add_device): Likewise.
13381 (grub_xnu_devprop_remove_device): Likewise.
13382 (grub_xnu_devprop_add_property): Likewise.
13383 (grub_xnu_devprop_add_property_utf8): Likewise.
13384 (grub_xnu_devprop_add_property_utf16): Likewise.
13385 (hextoval): Likewise.
13386 (grub_cpu_xnu_fill_devprop): Likewise.
13387 (grub_cmd_devprop_load): Likewise.
13388 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
13389 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
13390 (cmd_devprop_load): New variable.
13391 (grub_cpu_xnu_init): New function.
13392 (grub_cpu_xnu_fini): Likewise.
13393 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
13394 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
13395 (grub_cmd_xnu_devtree): Likewise.
13396 (hextoval): New function.
13397 (unescape): Likewise.
13398 (grub_xnu_fill_devicetree): Likewise.
13399
13400 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
13401 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
13402
13403 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13404
13405 Workaround for broken ATI VBE.
13406
13407 * video/i386/pc/vbe.c (last_set_mode): New variable.
13408 (grub_vbe_set_video_mode): Set 'last_set_mode'.
13409 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
13410 (grub_video_vbe_setup): Don't check for reserved flag.
13411
13412 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
13413
13414 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
13415 the `find' command.
13416
13417 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 UUID support for HFS.
13420
13421 * fs/hfs.c (grub_hfs_uuid): New function.
13422 (grub_hfs_fs): New value .uuid.
13423 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
13424
13425 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
13426
13427 Fix a segfault with parsing unknown long options.
13428
13429 * util/grub-mkrelpath.c (options): Zero terminate it.
13430
13431 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13432
13433 * include/grub/misc.h (grub_puts): New declaration.
13434 (grub_puts_): Likewise.
13435 * kern/misc.c (grub_puts): New definition.
13436 (grub_puts_): Likewise.
13437
13438 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13439
13440 * util/grub-probe.c (probe): Improve error message.
13441
13442 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13443
13444 * loader/i386/multiboot_elfxx.c
13445 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
13446 initialization.
13447
13448 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13449
13450 Relocator framework
13451
13452 * loader/i386/xnu_helper.S: Removed. All users updated.
13453 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
13454 (relocator_mod_SOURCES): New variable.
13455 (relocator_mod_CFLAGS): Likewise.
13456 (relocator_mod_LDFLAGS): Likewise.
13457 (relocator_mod_ASFLAGS): Likewise.
13458 * conf/x86_64.rmk: Likewise.
13459 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
13460 (grub_multiboot_payload_entry_offset): Likewise.
13461 (grub_multiboot_forward_relocator): Likewise.
13462 (grub_multiboot_forward_relocator_end): Likewise.
13463 (grub_multiboot_backward_relocator): Likewise.
13464 (grub_multiboot_backward_relocator_end): Likewise.
13465 (grub_multiboot_payload_eip): New variable.
13466 (grub_multiboot_payload_orig): Likewise.
13467 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
13468 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
13469 * include/grub/i386/memory.h
13470 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
13471 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
13472 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
13473 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
13474 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
13475 * include/grub/i386/relocator.h: New file.
13476 * include/grub/x86_64/relocator.h: Likewise.
13477 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
13478 (XNU_RELOCATOR): New macro.
13479 (grub_xnu_launcher_start): Remove.
13480 (grub_xnu_launcher_end): Likewise.
13481 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
13482 (grub_xnu_heap_real_start): Remove.
13483 (grub_xnu_heap_start): Change to void *. All users updated.
13484 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
13485 * lib/i386/relocator.c: New file.
13486 * lib/i386/relocator_asm.S: Likewise.
13487 * lib/i386/relocator_backward.S: Likewise.
13488 * lib/mips/relocator.c: Likewise.
13489 * lib/mips/relocator_asm.S: Likewise.
13490 * lib/relocator.c: Likewise.
13491 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
13492 (entry): Removed.
13493 (playground): Likewise.
13494 (grub_multiboot_payload_orig): New variable.
13495 (grub_multiboot_payload_dest): Likewise.
13496 (grub_multiboot_payload_size): Likewise.
13497 (grub_multiboot_payload_eip): Likewise.
13498 (grub_multiboot_payload_esp): Likewise.
13499 (grub_multiboot_boot): Use grub_relocator32_boot.
13500 (grub_multiboot_unload): Free relocators.
13501 (grub_multiboot): Setup stack. Use relocators.
13502 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
13503 (grub_multiboot_load_elfXX): Use relocators.
13504 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
13505 (grub_multiboot_payload_size): Likewise.
13506 (grub_multiboot_payload_dest): Likewise.
13507 (grub_multiboot_payload_entry_offset): Likewise.
13508 (grub_multiboot_forward_relocator): Likewise.
13509 (grub_multiboot_backward_relocator): Likewise.
13510 (grub_multiboot_real_boot): Likewise.
13511 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
13512 (grub_xnu_entry_point): Likewise.
13513 (grub_xnu_arg1): Likewise.
13514 (grub_xnu_stack): Likewise.
13515 (grub_xnu_launch): Removed.
13516 (grub_xnu_boot_resume): New function.
13517 (grub_xnu_boot): Use relocators.
13518 * loader/i386/xnu_helper.S: Removed.
13519 * loader/xnu.c (grub_xnu_heap_start): New variable.
13520 (grub_xnu_heap_size): Likewise.
13521 (grub_xnu_heap_malloc): Use relocators.
13522 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
13523
13524 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
13527 anything.
13528
13529 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13530
13531 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
13532 GRUB_ERR_NONE before calling grub_env_set.
13533
13534 2009-12-12 Robert Millan <rmh@aybabtu.com>
13535
13536 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
13537 * genmk.rb (video): New variable.
13538 (CLEANFILES, VIDEOFILES): Add #{video}.
13539 (#{video}): New target rule.
13540 * genvideolist.sh: New file.
13541 * Makefile.in (pkglib_DATA): Add video.lst.
13542 (video.lst): New target rule.
13543 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
13544 `video.lst'.
13545 * util/grub.d/30_os-prober.in: Replace `vbe' with
13546 ${GRUB_VIDEO_BACKEND}.
13547
13548 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
13549
13550 * THANKS: Add David Miller.
13551
13552 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
13553
13554 libpciaccess support.
13555
13556 * Makefile.in (LIBPCIACCESS): New variable.
13557 (enable_grub_emu_pci): Likewise.
13558 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
13559 util/pci.c and commands/lspci.c.
13560 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
13561 * configure.ac (grub-emu-pci): New option.
13562 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
13563 (grub_pci_device_unmap_range): Likewise.
13564 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
13565 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
13566 (grub_pci_address_t) [!GRUB_UTIL]: New type.
13567 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
13568 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
13569 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
13570 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
13571 * include/grub/pciutils.h: New file.
13572 * util/pci.c: Likewise.
13573
13574 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
13575
13576 * util/misc.c: Don't include <errno.h> twice.
13577
13578 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
13579
13580 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
13581 name in an error message.
13582 (grub_biosdisk_rw): Likewise.
13583
13584 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 Eliminate NTFS 4Gib barrier.
13587
13588 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
13589 (read_run_data): Likewise.
13590 (grub_ntfs_read_run_list): Likewise.
13591 (grub_ntfs_read_block): Likewise.
13592 (grub_ntfs_iterate_dir): Likewise.
13593 (read_mft): Likewise.
13594 (read_data): Likewise.
13595 Use COM_LOG_LEN.
13596 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
13597 to avoid 64-bit division
13598 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
13599 (grub_ntfs_rlst): Use grub_disk_addr_t.
13600
13601 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 Eliminate grub-fstest 4Gib barrier.
13604
13605 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
13606 (read_file): Fix error reporting.
13607
13608 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 Eliminate hexdump 4Gib barrier.
13611
13612 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
13613 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
13614
13615 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
13618 Fixes amarsh bug.
13619
13620 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
13621
13622 Remove miscellaneous files in distclean target.
13623
13624 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
13625
13626 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
13627
13628 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
13629 if they're already set. This resolves the conflict between my
13630 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
13631 fixing the --grub-probe option again.
13632 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
13633 change on 2009-10-06, so that we now once again source
13634 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13635
13636 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
13637
13638 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
13639 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
13640 `util/devicemap.c'.
13641
13642 2009-12-08 Carles Pina i Estany <carles@pina.cat>
13643
13644 * include/grub/misc.h (grub_printf_): New declaration.
13645 * kern/misc.c (grub_printf_): New definition.
13646 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
13647 instead of `grub_printf' and `_'.
13648 * normal/menu_entry.c (store_completion): Likewise.
13649 (run): Likewise.
13650 (grub_menu_entry_run): Likewise.
13651 * normal/menu_text.c (grub_wait_after_message): Likewise.
13652 (notify_booting): Likewise.
13653 (notify_fallback): Likewise.
13654 (notify_execution_failure): Likewise.
13655
13656 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
13657
13658 * configure.ac: Check for vasprintf.
13659 * util/misc.c (asprintf): Move allocation from here ...
13660 (vasprintf): ... to here. New function.
13661 (xasprintf): New function.
13662 * include/grub/util/misc.h (vasprintf, xasprintf): Add
13663 prototypes.
13664 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13665 * util/grub-mkfont.c (write_font): Likewise.
13666 * util/grub-probe.c (probe): Likewise.
13667 * util/hostdisk.c (make_device_name): Likewise.
13668
13669 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
13670
13671 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
13672 anything even prefixed with 'cdrom' as a cdrom.
13673
13674 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
13675
13676 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
13677 mount points.
13678
13679 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13680
13681 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
13682 grub_gettext_msg_list.
13683 (grub_gettext_gettranslation_from_position): Return const char *
13684 and not char *.
13685 (grub_gettext_translate): Add the translated strings into a list,
13686 returns from the list if existing there.
13687 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
13688 (grub_gettext_delete_list): Delete the list.
13689 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
13690 lang environment variable is changed.
13691 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
13692
13693 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 Rename kernel.mod to kernel.img.
13696
13697 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
13698 (kernel_mod_EXPORTS): Rename to ...
13699 (kernel_img_EXPORTS): ... this.
13700 (kernel_mod_SOURCES): Rename to ...
13701 (kernel_img_SOURCES): ... this.
13702 (kernel_mod_HEADERS): Rename to ...
13703 (kernel_img_HEADERS): ... this. All users updated.
13704 (kernel_mod_CFLAGS): Rename to ...
13705 (kernel_img_CFLAGS): ... this.
13706 (kernel_mod_ASFLAGS): Rename to ...
13707 (kernel_img_ASFLAGS): ... this.
13708 (kernel_mod_LDFLAGS): Rename to ...
13709 (kernel_img_LDFLAGS): ... this.
13710 * conf/x86_64-efi.rmk: Likewise.
13711 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
13712 (read_kernel_image): ... this. All users updated.
13713 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
13714
13715 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13716
13717 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
13718 (print_spaces): New function.
13719 (grub_print_ucs4): New function.
13720 (getstringwidth): New function.
13721 (print_message_indented): New function.
13722 (print_message): Gettexttize strings using print_message_indented.
13723 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
13724 width.
13725 (get_entry_number): Gettextize and uses dynamic terminal width.
13726 (notify_booting, notify_fallback, notify_execution_failure):
13727 Gettextize.
13728 * normal/menu_entry.c (store_completion): Cleanup the gettextized
13729 string.
13730 (run): Likewise.
13731 (grub_menu_entry_run): Likewise.
13732 * PO/POTFILES: Add normal/menu_entry.c.
13733
13734 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13735
13736 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
13737
13738 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13739
13740 * util/grub-install.in: Install gettext .mo files.
13741 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
13742
13743 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13744
13745 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
13746 grub_dprintf.
13747
13748 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
13749
13750 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
13751 non-firmware-dependant one in realmode.S takes precedence.
13752
13753 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
13754
13755 * commands/halt.c: Replace misc arch-specific headers with
13756 `<grub/misc.h>'.
13757 * commands/reboot.c: Likewise.
13758 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
13759 `<grub/misc.h>'.
13760 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
13761 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
13762 (kernel_img_SOURCES): ... to here.
13763
13764 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
13765 * include/grub/i386/pc/init.h: Likewise.
13766 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13767 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13768
13769 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
13770
13771 * include/grub/i386/halt.h: Remove.
13772 * include/grub/i386/reboot.h: Likewise.
13773
13774 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
13775
13776 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
13777
13778 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
13779 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
13780 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
13781 "progname.h"
13782 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13783 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13784 (usage): Add missing comma in printf.
13785
13786 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
13787
13788 Use the same reboot approach on i386 coreboot and qemu as we do on
13789 BIOS.
13790
13791 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
13792 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
13793 * kern/i386/reboot.c: Remove.
13794 * include/grub/i386/reboot.h (grub_reboot): Export function.
13795 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
13796 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
13797 0xf000:0xfff0 instead of 0xffff:0x0000.
13798 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
13799 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
13800
13801 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
13802
13803 Fix $srcdir != $objdir build.
13804
13805 * Makefile.in (po/%.po): Rewrite as ...
13806 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
13807
13808 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
13809
13810 Fix GNU/Hurd grub-install crash.
13811 * util/grub-probe.c (probe): Try to access `path' only when it is not
13812 NULL.
13813
13814 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13815
13816 Correct module naming.
13817
13818 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13819 (GRUB_MOD_INIT(efi_uga)): ... to this
13820 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13821 (GRUB_MOD_FINI(efi_uga)): ... to this
13822 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13823 (GRUB_MOD_INIT(efi_gop)): ... to this
13824 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13825 (GRUB_MOD_FINI(efi_gop)): ... to this
13826
13827 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
13828
13829 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
13830 translatable.
13831 (usage): Translate `arg' strings using gettext().
13832 Thanks to Jordi Mallach for the suggestion.
13833
13834 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 GOP support. Based on patch from Bean
13837 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13838
13839 * video/efi_gop.c: New file.
13840 * include/grub/efi/graphics_output.h: Likewise.
13841 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
13842 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13843 variables.
13844 * conf/x86_64-efi.rmk: Likewise.
13845
13846 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13847
13848 Rename efi_fb to efi_uga.
13849
13850 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13851 'efi_uga.mod'.
13852 (efi_fb_mod_SOURCES): Rename this ...
13853 (efi_uga_mod_SOURCES): ... to this.
13854 (efi_fb_mod_CFLAGS): Rename this ...
13855 (efi_uga_mod_CFLAGS): ... to this.
13856 (efi_fb_mod_LDFLAGS): Rename this ...
13857 (efi_uga_mod_LDFLAGS): ... to this.
13858 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13859 'efi_uga.mod'.
13860 (efi_fb_mod_SOURCES): Rename this ...
13861 (efi_uga_mod_SOURCES): ... to this.
13862 (efi_fb_mod_CFLAGS): Rename this ...
13863 (efi_uga_mod_CFLAGS): ... to this.
13864 (efi_fb_mod_LDFLAGS): Rename this ...
13865 (efi_uga_mod_LDFLAGS): ... to this.
13866 * video/efi_fb.c: Move this ...
13867 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
13868
13869 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13870
13871 * po/README: New file. Explain our PO file workflow.
13872
13873 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13874
13875 * po/ChangeLog: Remove. Move relevant entries back to ...
13876 * ChangeLog: ... here.
13877 * po/ca.po: Remove (now handled by TLP).
13878 * po/id.po: Likewise.
13879 * po/zh_CN.po: Likewise.
13880 * Makefile.in (LINGUAS): Initialize in a way that supports
13881 empty set.
13882
13883 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13884
13885 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
13886 reliing on po/LINGUAS.
13887 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
13888 (po/%.po): ... this.
13889
13890 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13891
13892 * util/i386/efi/grub-mkimage.c: Include "progname.h".
13893 (main): Use `program_name' instead of nonexistent `progname'.
13894
13895 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13896
13897 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13898 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
13899
13900 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13901
13902 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
13903 commit.
13904 * conf/i386-efi.rmk: Likewise.
13905 * conf/i386-ieee1275.rmk: Likewise.
13906 * conf/powerpc-ieee1275.rmk: Likewise.
13907 * conf/sparc64-ieee1275.rmk: Likewise.
13908 * conf/x86_64-efi.rmk: Likewise.
13909
13910 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13911
13912 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
13913
13914 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13915
13916 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
13917
13918 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13919
13920 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
13921 (grub_mkdevicemap_SOURCES): New variable.
13922 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
13923 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
13924 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
13925 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
13926 (grub_mkdevicemap_SOURCES): Remove.
13927 * conf/i386-efi.rmk: Likewise.
13928 * conf/i386-ieee1275.rmk: Likewise.
13929 * conf/i386-pc.rmk: Likewise.
13930 * conf/powerpc-ieee1275.rmk: Likewise.
13931 * conf/sparc64-ieee1275.rmk: Likewise.
13932 * conf/x86_64-efi.rmk: Likewise.
13933 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
13934 (usage): Fix strings to use `program_name'.
13935 (main): Initialize gettext.
13936 * util/grub-editenv.c: Likewise.
13937 * util/grub-emu.c: Likewise.
13938 * util/grub-fstest.c: Likewise.
13939 * util/grub-mkdevicemap.c: Likewise.
13940 * util/grub-mkfont.c: Likewise.
13941 * util/grub-mkrelpath.c: Likewise.
13942 * util/grub-pe2elf.c: Likewise.
13943 * util/grub-probe.c: Likewise.
13944 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13945 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13946 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13947
13948 * util/misc.c: Include `"progname.h"'.
13949 (progname): Remove variable.
13950 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
13951
13952 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
13953
13954 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
13955 printf and print a newline after the menuentry header line.
13956 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13957
13958 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
13959
13960 autoconf >= 2.60 support $(localedir).
13961
13962 * INSTALL: Note that autoconf 2.60 is required.
13963 * configure.ac (AC_PREREQ): Bump to 2.60.
13964 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
13965 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13966
13967 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
13968
13969 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
13970 aclocal is run.
13971
13972 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13973
13974 * normal/main.c (grub_normal_read_line): Fix off-by-one
13975 buffer overflow.
13976
13977 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13978
13979 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
13980 "parser.grub" in grub_command_execute() call.
13981
13982 2009-11-24 Carles Pina i Estany <carles@pina.cat>
13983
13984 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
13985 * conf/i386-efi.rmk: Likewise.
13986 * conf/i386-ieee1275.rmk: Likewise.
13987 * conf/i386-pc.rmk: Likewise.
13988 * conf/powerpc-ieee1275.rmk: Likewise.
13989 * conf/sparc64-ieee1275.rmk: Likewise.
13990 * conf/x86_64-efi.rmk: Likewise.
13991 * gettext/gettex.c: Include <grub/i18n.h>.
13992 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
13993 here ...
13994 * include/grub/i18n.h: ... to here
13995 * include/grub/i18n.h: ... to here.
13996 * kern/misc.c: Include <grub/i18n.h>
13997 (grub_gettext_dummy): Move above user.
13998
13999 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14000
14001 * util/Makefile.in (install-local): Convert a `for' into a normal
14002 shell expansion.
14003
14004 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
14005
14006 * autogen.sh: Add automake call.
14007 * config.guess: Remove.
14008 * config.sub: Likewise.
14009 * install-sh: Likewise.
14010
14011 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14012
14013 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
14014
14015 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14016
14017 * util/Makefile.in (install-local): Convert a make `$(foreach)'
14018 function to a normal shell `for'.
14019
14020 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14021
14022 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14023
14024 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14025
14026 * util/grub-mkrelpath.c: New file.
14027 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
14028 (grub_mkrelpath_SOURCES): New variable.
14029 * include/grub/util/misc.h: New function prototype.
14030 * util/misc.c (make_system_path_relative_to_its_root): New function.
14031
14032 * util/grub-mkconfig_lib.in (bindir): New variable.
14033 (grub_mkrelpath): Likewise.
14034 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
14035
14036 * util/probe.c (probe): Make the file path relative to its root.
14037 Change a info message to use the GRUB path. Enable again the
14038 check if we can read the file with GRUB facilities.
14039
14040 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
14041 to its root.
14042
14043 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14044
14045 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
14046 platform.
14047
14048 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14049
14050 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
14051 strncmp().
14052
14053 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14054
14055 * util/getroot.c (grub_util_is_dmraid): New function.
14056 (grub_util_get_dev_abstraction): Treat dmraid and multipath
14057 devices as normal ones, not as LVM.
14058
14059 2009-11-23 Carles Pina i Estany <carles@pina.cat>
14060
14061 * conf/common.rmk: Add grub-gettext_lib target and updates
14062 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
14063 LDFLAGS.
14064 * gettext/gettext.c: New file. (Reads mo files).
14065 * include/grub/file.h (grub_file_pread): New prototype.
14066 * include/grub/i18n.h (_): New prototype.
14067 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
14068 prototypes.
14069 * kern/misc.c (grub_gettext_dummy): New function.
14070 * normal/menu_text.c: Include <grub/i18n.h>.
14071 * normal/menu_text.c (print_timeout): Gettexttize string.
14072 * normal/menu_text.c (print_message): Gettexttize string.
14073 * po/POTFILES: Add `normal/menu_text.c'.
14074 * po/ca.po: Add new translations.
14075 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
14076 gettext module and defines locale_dir and lang in grub.cfg.
14077 * NEWS: Add gettext support.
14078
14079 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14080
14081 * util/hostdisk.c: Include `<grub/i18n.h>'.
14082 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
14083 (make_device_name): Rewrite using asprintf.
14084 (convert_system_partition_to_system_disk): Replace 0 with NULL.
14085 (find_system_device): If a device is not found, generate one just
14086 by reusing the OS path name.
14087 (read_device_map): Make it permissible for device.map not to exist.
14088
14089 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14090
14091 * script/sh/execute.c: Move from here ...
14092 * script/execute.c: ... to here. Update all users.
14093 * script/sh/function.c: Move from here ...
14094 * script/function.c: ... to here. Update all users.
14095 * script/sh/lexer.c: Move from here ...
14096 * script/lexer.c: ... to here. Update all users.
14097 * script/sh/main.c: Move from here ...
14098 * script/main.c: ... to here. Update all users.
14099 * script/sh/parser.y: Move from here ...
14100 * script/parser.y: ... to here. Update all users.
14101 * script/sh/script.c: Move from here ...
14102 * script/script.c: ... to here. Update all users.
14103
14104 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14105
14106 * configure.ac: Detect all `emu' platforms. Define
14107 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
14108 --enable-grub-emu logic. Disable include/grub/machine
14109 symlink on `emu' platforms.
14110
14111 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
14112 * gensymlist.sh.in: Likewise.
14113
14114 * include/grub/i386/coreboot/machine.h: Remove file.
14115 * include/grub/i386/efi/machine.h: Likewise.
14116 * include/grub/i386/ieee1275/machine.h: Likewise.
14117 * include/grub/i386/pc/machine.h: Likewise.
14118 * include/grub/i386/qemu/machine.h: Likewise.
14119 * include/grub/powerpc/ieee1275/machine.h: Likewise.
14120 * include/grub/sparc64/ieee1275/machine.h: Likewise.
14121 * include/grub/x86_64/efi/machine.h: Likewise.
14122
14123 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
14124 * commands/halt.c: Likewise.
14125 * commands/reboot.c: Likewise.
14126 * include/grub/autoefi.h: Likewise.
14127 * include/grub/i386/at_keyboard.h: Likewise.
14128 * include/grub/i386/kernel.h: Likewise.
14129 * include/grub/i386/loader.h: Likewise.
14130 * include/grub/i386/pc/memory.h: Likewise.
14131 * kern/dl.c: Likewise.
14132 * kern/i386/coreboot/init.c: Likewise.
14133 * loader/i386/bsd.c: Likewise.
14134 * loader/i386/linux.c: Likewise.
14135 * loader/multiboot_loader.c: Likewise.
14136 * term/i386/pc/serial.c: Likewise.
14137 * term/usb_keyboard.c: Likewise.
14138
14139 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
14140 `<grub/machine/machine.h>'
14141 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
14142 * util/misc.c: Remove `<grub/machine/machine.h>' and
14143 `<grub/machine/time.h>'.
14144
14145 * Makefile.in (enable_grub_emu): Remove variable.
14146 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
14147
14148 * conf/any-emu.rmk: New file.
14149 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
14150 (grub_emu_init.c): Move from here ...
14151 * conf/any-emu.rmk: ... to here.
14152
14153 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
14154 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
14155 * conf/any-emu.rmk: ... to here.
14156
14157 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14158
14159 * include/grub/parser.h (grub_parser_register): Document need
14160 of `name' parameter.
14161 * normal/main.c (grub_normal_read_line): Simplify prompt string.
14162 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
14163 "sh" to "grub".
14164
14165 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14166
14167 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
14168 `$(XGETTEXT)'.
14169 * include/grub/i18n.h (N_): New macro.
14170 * util/mkisofs/mkisofs.h: Likewise.
14171 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
14172 around N_().
14173 (usage): Use gettext() to translate help strings when printing them.
14174
14175 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14176
14177 Based on patch from Bean
14178 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
14179
14180 * video/efi_fb.c: New file.
14181 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
14182 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
14183 variables.
14184 * conf/x86_64-efi.rmk: Likewise.
14185
14186 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
14187
14188 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
14189 * util/i386/pc/grub-setup.c: Likewise.
14190
14191 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14192
14193 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
14194 <hurd/fs.h>
14195 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
14196 file_get_storage_info to implement grub_guess_root_device.
14197
14198 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14199
14200 * Makefile.in (target): Use make's builtin $(shell) function
14201 instead of calling directly $(SHELL) to create the locale directories,
14202 inside the $(foreach) function.
14203
14204 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14205
14206 * util/grub-mkrescue.in: Print an error and usage if output option
14207 has not been given.
14208
14209 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14210
14211 Patch from Loïc Minier <loic.minier@ubuntu.com>.
14212 * util/grub.d/30_os-prober.in: Cope with Linux entries where
14213 root and /boot are on different devices.
14214
14215 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14216
14217 Fix build for srcdir != objdir.
14218
14219 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
14220 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
14221 $(srcdir).
14222 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
14223 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
14224 reference for input.
14225
14226 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14227
14228 * util/grub-mkrescue.in: Use source directory direcly (without copiing
14229 or hardlinking it). Remove -J option, Joliet is not compatible with
14230 multiple source directories.
14231
14232 2009-11-21 Carles Pina i Estany <carles@pina.cat>
14233 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14234
14235 * util/grub-mkrescue.in: Recognize `--override-directory' option.
14236 (process_input_dir): New function. Process an arbitrary input
14237 directory.
14238 Misc adjustments to support both "override mode" and system-wide mode.
14239
14240 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
14241
14242 * configure.ac (UNIFONT_BDF): Rename to ...
14243 (FONT_SOURCE): ... this. Update all users.
14244
14245 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
14246
14247 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
14248 to the list of unifont files to look for.
14249
14250 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14251
14252 Patch from Joe Auricchio <jauricchio@gmail.com>
14253 * commands/minicmd.c (grub_mini_cmd_clear): New function.
14254 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
14255 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
14256
14257 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
14258
14259 * Makefile.in (install-local): Add a missing backslash.
14260
14261 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
14262
14263 * include/grub/x86_64/io.h: New file.
14264
14265 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14266
14267 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
14268 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
14269 Include `"progname.h"'.
14270 (main): Initialize gettext.
14271 * util/i386/pc/grub-setup.c: Gettexttize.
14272 * util/i386/pc/grub-mkimage.c: Likewise.
14273
14274 * Makefile.in (po/*.po): Redefine as ...
14275 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
14276
14277 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
14278
14279 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14280
14281 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
14282 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
14283 (program_name): Remove.
14284 (main): Initialize gettext support.
14285 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
14286 Include `<libintl.h>'.
14287 (_): New macro.
14288
14289 * util/mkisofs/eltorito.c: Gettexttize.
14290 * util/mkisofs/joliet.c: Likewise.
14291 * util/mkisofs/mkisofs.c: Likewise.
14292 * util/mkisofs/multi.c: Likewise.
14293 * util/mkisofs/rock.c: Likewise.
14294 * util/mkisofs/tree.c: Likewise.
14295 * util/mkisofs/write.c: Likewise.
14296
14297 * po/POTFILES: Update with new files.
14298
14299 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14300
14301 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
14302 * util/mkisofs/iso9660.h: Likewise.
14303 * util/mkisofs/joliet.c: Likewise.
14304 * util/mkisofs/mkisofs.c: Likewise.
14305 * util/mkisofs/mkisofs.h: Likewise.
14306 * util/mkisofs/rock.c: Likewise.
14307 * util/mkisofs/tree.c: Likewise.
14308 * util/mkisofs/write.c: Likewise.
14309
14310 * util/mkisofs/eltorito.c (rcsid): Remove.
14311 * util/mkisofs/hash.c: Likewise.
14312 * util/mkisofs/joliet.c: Likewise.
14313 * util/mkisofs/name.c: Likewise.
14314 * util/mkisofs/rock.c: Likewise.
14315 * util/mkisofs/tree.c: Likewise.
14316 * util/mkisofs/write.c: Likewise.
14317
14318 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14319
14320 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
14321 instead of static allocation.
14322 * util/mkisofs/match.h: Likewise.
14323
14324 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14325
14326 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
14327 and `util/grub.d/10_linux.in'.
14328 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
14329 translatable Shell files.
14330
14331 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14332
14333 * Makefile.in ($(srcdir)/aclocal.m4): New target.
14334
14335 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14336
14337 * INSTALL: Document Automake is needed for bootstrap.
14338 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
14339 * util/grub.d/10_kfreebsd.in (bindir): New variable.
14340 Add gettext initialization.
14341 (kfreebsd_entry): Make menuentry output translatable.
14342
14343 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14344
14345 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
14346 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
14347 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
14348 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
14349 (LINGUAS): Auto-generate using `po/LINGUAS'.
14350 * po/LINGUAS: New file.
14351
14352 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14353
14354 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
14355 other things).
14356 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
14357 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
14358 bindtextdomain() calls for gettext initialization.
14359
14360 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14361
14362 * gnulib/progname.c: New file (imported from Gnulib).
14363 * gnulib/progname.h: Likewise.
14364 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14365 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
14366 (usage): Replace `progname' with `program_name'.
14367 (main): Use set_program_name() for program name initialization.
14368
14369 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14370
14371 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
14372 from here ...
14373 * Makefile.in (CPPFLAGS): ... to here.
14374
14375 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14376
14377 * aclocal.m4: Move from here ...
14378 * acinclude.m4: ... to here.
14379 * autogen.sh: Add call to `aclocal'.
14380 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
14381
14382 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14383
14384 * Makefile.in (CLEANFILES): Add `po/*.mo'.
14385 (LINGUAS): New variable.
14386 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
14387 (install-local): Install MO files.
14388 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
14389 * include/grub/i18n.h: New file.
14390 * po/POTFILES: New file.
14391 * po/ca.po: New file.
14392 * util/grub.d/10_linux.in (bindir): New variable.
14393 Add gettext initialization.
14394 (linux_entry): Make menuentry output translatable.
14395 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
14396 (usage): Make --help output translatable.
14397 (main): Initialize gettext.
14398
14399 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14400
14401 * import_gcry.py: New file (written by Vladimir with minor
14402 adjustments).
14403 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
14404 ciphers.
14405 * INSTALL: Document that Python is required for bootstrap.
14406
14407 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14408
14409 Import ciphers from libgcrypt 1.4.4.
14410
14411 * lib/libgcrypt/cipher/ChangeLog
14412 * lib/libgcrypt/cipher/ac.c
14413 * lib/libgcrypt/cipher/arcfour.c
14414 * lib/libgcrypt/cipher/bithelp.h
14415 * lib/libgcrypt/cipher/blowfish.c
14416 * lib/libgcrypt/cipher/camellia-glue.c
14417 * lib/libgcrypt/cipher/camellia.c
14418 * lib/libgcrypt/cipher/camellia.h
14419 * lib/libgcrypt/cipher/cast5.c
14420 * lib/libgcrypt/cipher/cipher.c
14421 * lib/libgcrypt/cipher/crc.c
14422 * lib/libgcrypt/cipher/des.c
14423 * lib/libgcrypt/cipher/dsa.c
14424 * lib/libgcrypt/cipher/ecc.c
14425 * lib/libgcrypt/cipher/elgamal.c
14426 * lib/libgcrypt/cipher/hash-common.c
14427 * lib/libgcrypt/cipher/hash-common.h
14428 * lib/libgcrypt/cipher/hmac-tests.c
14429 * lib/libgcrypt/cipher/md.c
14430 * lib/libgcrypt/cipher/md4.c
14431 * lib/libgcrypt/cipher/md5.c
14432 * lib/libgcrypt/cipher/primegen.c
14433 * lib/libgcrypt/cipher/pubkey.c
14434 * lib/libgcrypt/cipher/rfc2268.c
14435 * lib/libgcrypt/cipher/rijndael-tables.h
14436 * lib/libgcrypt/cipher/rijndael.c
14437 * lib/libgcrypt/cipher/rmd.h
14438 * lib/libgcrypt/cipher/rmd160.c
14439 * lib/libgcrypt/cipher/rsa.c
14440 * lib/libgcrypt/cipher/seed.c
14441 * lib/libgcrypt/cipher/serpent.c
14442 * lib/libgcrypt/cipher/sha1.c
14443 * lib/libgcrypt/cipher/sha256.c
14444 * lib/libgcrypt/cipher/sha512.c
14445 * lib/libgcrypt/cipher/tiger.c
14446 * lib/libgcrypt/cipher/twofish.c
14447 * lib/libgcrypt/cipher/whirlpool.c
14448
14449 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14450
14451 Fix build for systems without error().
14452
14453 * gnulib/error.c: New file (imported from Gnulib).
14454 * gnulib/error.h: Likewise.
14455 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
14456 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
14457 (this variable is now used by error()).
14458
14459 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14460
14461 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
14462 instead of relying that char is signed.
14463
14464 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
14467 blocksize different from specified.
14468 (grub_pxefs_read): Likewise.
14469
14470 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14471
14472 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
14473
14474 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
14475 (grub_ata_readwrite): Likewise. Update 2 format strings.
14476 (grub_atapi_read): Likewise.
14477
14478 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
14479 * conf/i386.rmk (pkglib_MODULES): ... to here ...
14480 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
14481 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
14482 (ata_mod_LDFLAGS): Move from here ...
14483 * conf/i386.rmk: ... to here ...
14484 * conf/x86_64-efi.rmk: ... and here.
14485 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
14486 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
14487
14488 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14489
14490 Relicense multiboot.h, with RMS' blessing.
14491
14492 * include/multiboot.h: Change to X11 license.
14493
14494 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
14495
14496 Support --version in grub-mkisofs.
14497
14498 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
14499 (OPTION_VERSION): New macro.
14500 (ld_options): Recognize --version.
14501 (usage): Move `program_name' from here ...
14502 (program_name): ... to here. Add `static' qualifier.
14503 (main): Recognize `OPTION_VERSION'.
14504
14505 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
14506
14507 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
14508 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
14509
14510 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14511
14512 Fix help2man generation for mkisofs.
14513
14514 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
14515 (usage): Send output to stdout (rather than stderr).
14516
14517 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14518
14519 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
14520 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14521 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
14522 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14523 (bin_SCRIPTS): Add `grub-mkfloppy'.
14524 (grub_mkfloppy_SOURCES): New variable.
14525
14526 * util/grub-mkrescue.in: New file.
14527 * util/i386/pc/grub-mkfloppy.in: New file.
14528
14529 * util/i386/coreboot/grub-mkrescue.in: Remove.
14530 * util/i386/pc/grub-mkrescue.in: Remove.
14531
14532 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14533
14534 * include/grub/multiboot.h (struct grub_multiboot_header): Move
14535 from here ...
14536 * include/multiboot.h (struct multiboot_header): ... to here. Update
14537 all users.
14538 * include/grub/multiboot.h (struct grub_multiboot_info): Move
14539 from here ...
14540 * include/multiboot.h (struct multiboot_info): ... to here. Update
14541 all users.
14542 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
14543 from here ...
14544 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
14545 Update all users.
14546 * include/grub/multiboot.h (struct grub_mod_list): Move
14547 from here ...
14548 * include/multiboot.h (struct multiboot_mod_list): ... to here.
14549 Update all users.
14550
14551 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14552
14553 * include/multiboot2.h (multiboot_word): Rename from this ...
14554 (multiboot2_word): ... to this. Update all users.
14555 (multiboot_header): Rename from this ...
14556 (multiboot2_header): ... to this. Update all users.
14557 (multiboot_tag_header): Rename from this ...
14558 (multiboot2_tag_header): ... to this. Update all users.
14559 (multiboot_tag_start): Rename from this ...
14560 (multiboot2_tag_start): ... to this. Update all users.
14561 (multiboot_tag_name): Rename from this ...
14562 (multiboot2_tag_name): ... to this. Update all users.
14563 (multiboot_tag_module): Rename from this ...
14564 (multiboot2_tag_module): ... to this. Update all users.
14565 (multiboot_tag_memory): Rename from this ...
14566 (multiboot2_tag_memory): ... to this. Update all users.
14567 (multiboot_tag_unused): Rename from this ...
14568 (multiboot2_tag_unused): ... to this. Update all users.
14569 (multiboot_tag_end): Rename from this ...
14570 (multiboot2_tag_end): ... to this. Update all users.
14571
14572 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14573
14574 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
14575 this platform we should support Multiboot1 first.
14576
14577 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14578 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
14579 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
14580
14581 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14582
14583 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
14584 of write calls (converting them to fwrite() if they aren't already).
14585 (get_torito_desc): Likewise.
14586 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
14587
14588 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14589
14590 * util/i386/pc/grub-install.in: Move from here ...
14591 * util/grub-install.in: ... to here. Update all users.
14592
14593 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
14594
14595 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
14596
14597 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14598
14599 Support for El Torito without floppy emulation.
14600
14601 * util/mkisofs/eltorito.c: Include `<errno.h>'.
14602 (init_boot_catalog): Improve error handling.
14603 (get_torito_desc): Don't use floppy emulation unless requested by
14604 user. Patch boot information table when requested via
14605 `-boot-info-table'.
14606 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
14607 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
14608 (use_boot_info_table): New variables.
14609 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
14610 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
14611 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
14612 `--eltorito-emul-floppy'.
14613 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
14614 and `OPTION_ELTORITO_EMUL_FLOPPY'.
14615 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
14616 (use_boot_info_table, get_731): New prototypes.
14617 * util/mkisofs/write.c (get_731): New function.
14618
14619 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
14620
14621 Fix the generation of the man page.
14622
14623 * util/pc/i386/grub-install.in: Source
14624 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14625
14626 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14627
14628 Large file support for grub-mkisofs.
14629
14630 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
14631 * util/mkisofs/mkisofs.c (next_extent, last_extent)
14632 (session_start): Upgrade type to `uint64_t'. Update all users.
14633 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
14634 (struct directory_entry): Upgrade type of `starting_block' and
14635 `size' to `uint64_t'. Update all users.
14636 (struct deferred): Remove unused structure.
14637 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
14638 Update all users.
14639 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
14640 file is larger than `UINT32_MAX'.
14641 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
14642 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
14643 return value.
14644 (struct deferred_write): Upgrade type of `extent' and `size' to
14645 `uint64_t'. Update all users.
14646 (last_extent_written): Upgrade type to `uint64_t'. Update all
14647 users.
14648 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
14649 Update all users. Upgrade type of `remain' to `int64_t' and
14650 `use' to `size_t'. Use error() to handle fread() errors.
14651 (write_files): Rely on write_one_file() rather than calling
14652 xfwrite() directly.
14653
14654 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
14655
14656 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
14657
14658 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14659
14660 * util/mkisofs/fnmatch.c: Remove.
14661 * util/mkisofs/getopt1.c: Likewise.
14662 * util/mkisofs/getopt.c: Likewise.
14663 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
14664 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
14665 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
14666 `gnulib/getopt1.c' and `gnulib/getopt.c'.
14667 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
14668
14669 * configure.ac: Detect `mingw32msvc' host_os.
14670 Check for lstat(), getuid() and getgid().
14671
14672 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
14673 instances of `u_char' with `uint8_t'.
14674
14675 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
14676 [!HAVE_GETUID] (getuid): New function (stub).
14677 [!HAVE_GETGID] (getgid): Likewise.
14678 [!HAVE_LSTAT] (lstat): Likewise.
14679 [!S_IROTH] (S_IROTH): New macro (dummy).
14680 [!S_IRGRP] (S_IRGRP): Likewise.
14681
14682 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14683
14684 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
14685 conditional expression).
14686
14687 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14688
14689 Import from Gnulib.
14690
14691 * gnulib/fnmatch.c: New file.
14692 * gnulib/fnmatch.h: Likewise.
14693 * gnulib/fnmatch_loop.c: Likewise.
14694 * gnulib/getopt.c: Likewise.
14695 * gnulib/getopt.h: Likewise.
14696 * gnulib/getopt1.c: Likewise.
14697 * gnulib/getopt_int.h: Likewise.
14698 * gnulib/gettext.h: Likewise.
14699
14700 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14701
14702 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
14703 * normal/handler.c (read_handler_list): Likewise.
14704
14705 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14706
14707 Misc cleanup.
14708
14709 * kern/command.c (grub_register_command_prio): Use
14710 grub_zalloc() instead of explicitly zeroing data.
14711 * kern/list.c: Include `<grub/mm.h>'.
14712 (grub_named_list_find): Replace `0' with `NULL'.
14713 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
14714 (fs_module_list): Change type to `grub_named_list_t'. Update all
14715 users.
14716 * normal/dyncmd.c (read_command_list): Add space between function
14717 call and parenthesis.
14718 * normal/handler.c (read_handler_list): Likewise.
14719
14720 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14721
14722 * normal/auth.c (punishment_delay): Moved from here ...
14723 (grub_auth_strcmp): ... to here (inside function).
14724
14725 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14726
14727 * include/grub/list.h (struct grub_named_list): Remove `const'
14728 qualifier from `name'.
14729 (struct grub_prio_list): Likewise.
14730
14731 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14732
14733 * normal/auth.c: Include `<grub/time.h>'.
14734 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
14735
14736 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14737
14738 * normal/auth.c (punishment_delay): New variable.
14739 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
14740 (grub_auth_check_authentication): Punish failed login attempts with
14741 an incremental (2^N) delay.
14742
14743 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14744
14745 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
14746 path with $(srcdir).
14747
14748 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14749
14750 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
14751
14752 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14753
14754 * util/i386/coreboot/grub-mkrescue.in: New file.
14755 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
14756 variables.
14757
14758 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
14759 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
14760 * configure.ac: Add header and function checks to satisfy grub-mkisofs
14761 requirements.
14762 * util/mkisofs/defaults.h: New file.
14763 * util/mkisofs/eltorito.c: Likewise.
14764 * util/mkisofs/exclude.h: Likewise.
14765 * util/mkisofs/fnmatch.c: Likewise.
14766 * util/mkisofs/getopt.c: Likewise.
14767 * util/mkisofs/getopt1.c: Likewise.
14768 * util/mkisofs/hash.c: Likewise.
14769 * util/mkisofs/include/fctldefs.h: Likewise.
14770 * util/mkisofs/include/mconfig.h: Likewise.
14771 * util/mkisofs/include/prototyp.h: Likewise.
14772 * util/mkisofs/include/statdefs.h: Likewise.
14773 * util/mkisofs/iso9660.h: Likewise.
14774 * util/mkisofs/joliet.c: Likewise.
14775 * util/mkisofs/match.c: Likewise.
14776 * util/mkisofs/match.h: Likewise.
14777 * util/mkisofs/mkisofs.c: Likewise.
14778 * util/mkisofs/mkisofs.h: Likewise.
14779 * util/mkisofs/multi.c: Likewise.
14780 * util/mkisofs/name.c: Likewise.
14781 * util/mkisofs/rock.c: Likewise.
14782 * util/mkisofs/tree.c: Likewise.
14783 * util/mkisofs/write.c: Likewise.
14784
14785 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14786
14787 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
14788 being insecure.
14789
14790 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14791
14792 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
14793 `grub-mkimage' (and use $0 when possible).
14794
14795 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14796
14797 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
14798 error message for excessively large memory map.
14799
14800 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14801
14802 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
14803 executable bit.
14804
14805 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14806
14807 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
14808 message for coreboot users.
14809
14810 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
14811
14812 Fix build with GNU gold.
14813
14814 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
14815 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
14816 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
14817 link addresses.
14818 * aclocal.m4: Likewise.
14819
14820 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
14821
14822 * configure.ac (AC_PREREQ): Bump to 2.59d.
14823 * INSTALL: Make it more clear when Autoconf and Ruby are
14824 needed and when to run `./autogen.sh'.
14825
14826 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
14827
14828 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
14829 OSes.
14830
14831 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14832
14833 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
14834
14835 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14836
14837 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
14838 giving it to GNU Mach.
14839
14840 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14841
14842 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
14843 GNU partition number to get internal GRUB partition number.
14844
14845 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14846
14847 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
14848 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
14849
14850 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
14851
14852 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
14853 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
14854 case.
14855
14856 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
14857
14858 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
14859
14860 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14861
14862 Fix build problem.
14863
14864 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
14865 `-isystem=$(srcdir)/include'.
14866
14867 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14868
14869 * util/i386/pc/grub-install.in: Remove hint that device.map should be
14870 checked (grub-install doesn't currently rely on it).
14871
14872 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
14873
14874 Revert SVN r2660.
14875
14876 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
14877 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14878 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
14879 * conf/i386-ieee1275.rmk: Likewise.
14880 * conf/i386-pc.rmk: Likewise.
14881 * conf/powerpc-ieee1275.rmk: Likewise.
14882 * conf/sparc64-ieee1275.rmk: Likewise.
14883 * conf/x86_64-efi.rmk: Likewise.
14884
14885 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14886
14887 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
14888
14889 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14890
14891 * include/grub/misc.h: Stop checking for APPLE_CC.
14892
14893 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14894
14895 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
14896 doesn't cause an infinite call loop.
14897
14898 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
14899
14900 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
14901 strings.
14902
14903 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14904
14905 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
14906 variable.
14907 * Makefile.in: Likewise.
14908
14909 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14910
14911 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
14912
14913 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14914
14915 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
14916
14917 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14918
14919 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
14920
14921 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14922
14923 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
14924 from here ...
14925 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
14926
14927 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14928
14929 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
14930 in $(MAKEINFO) invocation. This makes it clear in output that
14931 errors are being ignored.
14932
14933 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14934
14935 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
14936 from here ...
14937 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14938 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
14939 * conf/i386-ieee1275.rmk: Likewise.
14940 * conf/i386-pc.rmk: Likewise.
14941 * conf/powerpc-ieee1275.rmk: Likewise.
14942 * conf/sparc64-ieee1275.rmk: Likewise.
14943 * conf/x86_64-efi.rmk: Likewise.
14944
14945 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
14946
14947 * util/grub-editenv.c (main): If only a command is given, use
14948 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
14949 (usage): FILENAME is now optional and has a default.
14950
14951 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
14952
14953 Improve grub-mkconfig performance when there are several menu
14954 entries on a single filesystem.
14955
14956 * util/grub.d/10_linux.in (linux_entry): Cache the output of
14957 prepare_grub_to_access_device.
14958 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14959 * util/grub.d/30_os-prober.in: Likewise.
14960
14961 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14962
14963 * util/grub.d/10_freebsd.in: Remove.
14964 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
14965 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
14966
14967 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14968
14969 * docs/grub.cfg: Fix example usage of *BSD loaders.
14970
14971 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14972
14973 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
14974 grub_util_error() call.
14975
14976 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14977
14978 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
14979 `reserved_first_sector' member.
14980 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
14981 `reserved_first_sector' to 1.
14982 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
14983 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
14984 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
14985 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
14986 filesystems which begin at first sector.
14987 (options): New option --skip-fs-probe.
14988 (main): Handle --skip-fs-probe and pass it to setup().
14989
14990 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14991
14992 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
14993 (memset): Fix function prototype.
14994
14995 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14996 2009-10-25 Vasily Averin <vvs@parallels.com>
14997
14998 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
14999 `dirent.direntlen == 0'.
15000
15001 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15002
15003 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
15004 `cpio'.
15005 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
15006
15007 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15008
15009 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
15010 `__trampoline_setup' and `__ucmpdi2'.
15011 * include/grub/powerpc/libgcc.h: Only export symbols for functions
15012 that libgcc provides.
15013
15014 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15015
15016 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
15017 * include/grub/sparc64/libgcc.h (memset): Likewise.
15018 * include/grub/misc.h (memset, memcmp): New function prototypes.
15019
15020 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15021
15022 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
15023 `cpio'.
15024 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
15025
15026 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15027
15028 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
15029 * docs/grub.cfg: Compensate for recent change in multiboot
15030 loader (since 2009-08-14 it won't pass filename to payload).
15031 * util/grub.d/10_hurd.in: Likewise.
15032
15033 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
15034
15035 * config.guess: Update to latest version from config git
15036 repository.
15037 * config.sub: Likewise.
15038
15039 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
15040
15041 Fix build on sparc64.
15042
15043 * configure.ac: Perform checks for libgcc symbols before
15044 adding `-nostdlib' to LDFLAGS.
15045
15046 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 Let user specify OpenBSD root device.
15049
15050 * loader/i386/bsd.c (openbsd_root): New variable.
15051 (openbsd_opts): New option 'root'.
15052 (OPENBSD_ROOT_ARG): New macro.
15053 (grub_openbsd_boot): Use 'openbsd_root'.
15054 (grub_cmd_openbsd): Fill 'openbsd_root'.
15055
15056 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15057
15058 * NEWS: Misc adjustments.
15059
15060 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15061
15062 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
15063
15064 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15065
15066 * configure.ac: Bump version to 1.97.
15067
15068 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
15069
15070 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
15071 -mno-3dnow on x86 architectures. Some toolchains enable these
15072 features by default, but they rely on registers that aren't enabled
15073 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
15074
15075 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
15076
15077 Make entry text a bit more readable.
15078
15079 * util/grub.d/10_linux.in: Add `with' before `Linux'.
15080
15081 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15082
15083 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
15084
15085 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15086
15087 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
15088 operations.
15089
15090 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15091
15092 * configure.ac: Add missing dollar.
15093
15094 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15095
15096 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
15097
15098 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
15099 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
15100 exports.
15101 * include/grub/sparc64/libgcc.h: Likewise. Use
15102 preprocessor conditionals.
15103
15104 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15105
15106 * conf/common.rmk (grub-dumpbios): Remove rule.
15107 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
15108 * util/grub-dumpbios.in: Remove file.
15109
15110 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15111
15112 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
15113 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
15114
15115 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
15116 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
15117 users.
15118
15119 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
15120 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
15121 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
15122 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
15123 users.
15124
15125 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
15126
15127 * term/tparm.c: Switch to GPLv3.
15128
15129 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15130
15131 * include/grub/i386/cpuid.h: Add header protection.
15132
15133 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15134
15135 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
15136
15137 * include/grub/i386/cpuid.h: New file.
15138 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
15139 (has_longmode): Rename to ...
15140 (grub_cpuid_has_longmode): ... this. Update all users. Remove
15141 `static' attribute.
15142 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
15143 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
15144 on a CPU that doesn't implement AMD64 instruction set.
15145
15146 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15147
15148 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
15149 that version.texi is rebuilt on version number changes.
15150
15151 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15152
15153 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
15154 Fixes bug #27602.
15155
15156 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15157
15158 * util/i386/pc/grub-install.in: Source
15159 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
15160 that the --grub-probe option will work.
15161 * util/sparc64/ieee1275/grub-install.in: Likewise.
15162
15163 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
15164
15165 * configure.ac: Bump version to 1.97~beta4.
15166
15167 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
15168
15169 Resync grub-mkdevicemap in x86_64-efi.
15170
15171 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
15172 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
15173 `util/devicemap.c'.
15174
15175 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
15176
15177 * util/grub-editenv.c (create_envblk_file): Write new block with a
15178 .new suffix and then rename it into place, to ensure atomic
15179 creation.
15180
15181 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
15182
15183 Do not automatically install headers.
15184
15185 * Makefile.in (include_DATA): Remove. Update all users.
15186
15187 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
15188
15189 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
15190 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
15191
15192 * util/osdetect.lua: Remove.
15193 * script/lua/lauxlib.c: Likewise.
15194 * script/lua/ldebug.c: Likewise.
15195 * script/lua/grub_main.c: Likewise.
15196 * script/lua/lauxlib.h: Likewise.
15197 * script/lua/ldebug.h: Likewise.
15198 * script/lua/ltablib.c: Likewise.
15199 * script/lua/liolib.c: Likewise.
15200 * script/lua/lstrlib.c: Likewise.
15201 * script/lua/lualib.h: Likewise.
15202 * script/lua/ldo.c: Likewise.
15203 * script/lua/ldump.c: Likewise.
15204 * script/lua/ldo.h: Likewise.
15205 * script/lua/loslib.c: Likewise.
15206 * script/lua/lundump.c: Likewise.
15207 * script/lua/grub_lib.c: Likewise.
15208 * script/lua/ldblib.c: Likewise.
15209 * script/lua/lundump.h: Likewise.
15210 * script/lua/lmem.c: Likewise.
15211 * script/lua/grub_lib.h: Likewise.
15212 * script/lua/lmathlib.c: Likewise.
15213 * script/lua/lstate.c: Likewise.
15214 * script/lua/ltm.c: Likewise.
15215 * script/lua/lvm.c: Likewise.
15216 * script/lua/lmem.h: Likewise.
15217 * script/lua/lstate.h: Likewise.
15218 * script/lua/ltm.h: Likewise.
15219 * script/lua/ltable.c: Likewise.
15220 * script/lua/lvm.h: Likewise.
15221 * script/lua/llex.c: Likewise.
15222 * script/lua/lgc.c: Likewise.
15223 * script/lua/grub_lua.h: Likewise.
15224 * script/lua/loadlib.c: Likewise.
15225 * script/lua/lfunc.c: Likewise.
15226 * script/lua/lopcodes.c: Likewise.
15227 * script/lua/lparser.c: Likewise.
15228 * script/lua/ltable.h: Likewise.
15229 * script/lua/llex.h: Likewise.
15230 * script/lua/lgc.h: Likewise.
15231 * script/lua/lfunc.h: Likewise.
15232 * script/lua/lbaselib.c: Likewise.
15233 * script/lua/lopcodes.h: Likewise.
15234 * script/lua/lparser.h: Likewise.
15235 * script/lua/lzio.c: Likewise.
15236 * script/lua/linit.c: Likewise.
15237 * script/lua/lobject.c: Likewise.
15238 * script/lua/llimits.h: Likewise.
15239 * script/lua/lstring.c: Likewise.
15240 * script/lua/lzio.h: Likewise.
15241 * script/lua/lapi.c: Likewise.
15242 * script/lua/lcode.c: Likewise.
15243 * script/lua/lua.h: Likewise.
15244 * script/lua/lobject.h: Likewise.
15245 * script/lua/lstring.h: Likewise.
15246 * script/lua/lapi.h: Likewise.
15247 * script/lua/lcode.h: Likewise.
15248 * script/lua/luaconf.h: Likewise.
15249
15250 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
15251
15252 * docs/grub.texi (Command-line and menu entry commands): Document
15253 date and echo commands.
15254
15255 2009-09-24 Pavel Roskin <proski@gnu.org>
15256
15257 * include/grub/kernel.h (struct grub_module_header): Remove
15258 `grub_module_header_types'. Make `type' unsigned. Make `size'
15259 32-bit on all platforms.
15260 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
15261 8-bit field. Use grub_host_to_target32() for `size'.
15262 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
15263 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
15264 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
15265
15266 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15267
15268 Fix "lost keypress" bug in at_keyboard.
15269
15270 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
15271 Checks for readyness of input buffer (without flushing it).
15272 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
15273 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
15274
15275 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15276
15277 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
15278 size check within GRUB_MACHINE_PCBIOS section.
15279
15280 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15281
15282 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
15283 return value.
15284 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
15285 KEYBOARD_ISREADY check.
15286 (grub_at_keyboard_checkkey): Rename to ...
15287 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
15288 Remove gratuitous cast.
15289
15290 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
15291
15292 * configure.ac: Call AC_PROG_MKDIR_P.
15293 * Makefile.in (docs/stamp-vti): Create docs directory. Create
15294 version.texi in $(builddir) rather than $(srcdir).
15295 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
15296 to makeinfo's @include search path.
15297
15298 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
15299
15300 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
15301
15302 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
15303
15304 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
15305 for `*.dpkg-new'.
15306
15307 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
15308
15309 Build info documentation. Some code borrowed from Automake.
15310
15311 * configure.ac: Check for makeinfo.
15312 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
15313 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
15314 docs/version.texi.
15315 (MOSTLYCLEANFILES): Add vti.tmp.
15316 (docs/version.texi, docs/stamp-vti): Update automatically.
15317 (docs/grub.info): Build info documentation. Use --force and ignore
15318 errors for now.
15319 (all-local): Add $(INFOS).
15320 (install-local): Install info files.
15321 (uninstall): Uninstall info files.
15322 * docs/version.texi: Remove from revision control. This file is
15323 automatically generated on build now.
15324 * gendistlist.sh: Add `*.info'.
15325
15326 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
15327
15328 * kern/term.c: Fix indentation.
15329
15330 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
15331
15332 * util/hostdisk.c: Fix a comment.
15333
15334 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
15335
15336 Fix regression introduced in r2539.
15337
15338 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
15339 to 0xA1.
15340
15341 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
15342
15343 * util/grub.d/30_os-prober.in: Don't throw away stderr from
15344 os-prober. Under normal operation, it does not print anything to
15345 stderr; if it does, we need to debug it, and throwing away stderr
15346 makes that excessively difficult.
15347
15348 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
15349
15350 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
15351
15352 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15353
15354 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
15355 AC_LANG_PROGRAM from autoconf.
15356 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
15357 prototypes (fixes warning).
15358
15359 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
15360 `--disable-werror' was used.
15361
15362 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15363
15364 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
15365 uninitialized `lastaddr'.
15366
15367 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15368
15369 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
15370
15371 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
15372
15373 * commands/test.c (get_fileinfo): Return immediately if
15374 grub_fs_probe fails.
15375
15376 2009-09-14 José Martínez <xosemp@gmail.com>
15377
15378 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
15379
15380 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
15381
15382 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
15383 output.
15384
15385 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
15386
15387 * configure.ac: Remove --enable-grub-pe2elf. Only build
15388 grub-pe2elf when needed by the build system itself.
15389 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
15390
15391 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15392
15393 * configure.ac: Bump version to 1.97~beta3.
15394 * docs/version.texi: Likewise.
15395
15396 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15397
15398 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
15399 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
15400 from here ...
15401 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
15402 (grub_linux_setup_video): ... to here (with some adjustments).
15403
15404 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15405
15406 Fix memory corruption issue (spotted by Colin Watson).
15407
15408 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
15409 causing returned size to be stored in an incorrect memory location.
15410 Fix use of uninitialized value when storing the returned size.
15411
15412 2009-09-12 Yves Blusseau <blusseau@zetam.org>
15413
15414 Change clean rules to properly remove files
15415
15416 * genmk.rb: add new clean rules
15417 * Makefile.in (clean): add the new targets
15418 (mostlyclean): likewise
15419
15420 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
15421
15422 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
15423 to grub_uint64_t.
15424 * fs/ntfs.c (init_file): Understand 64-bit sizes for
15425 non-resident files.
15426
15427 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
15428
15429 * configure.ac: Don't look for help2man when cross-compiling. Fixes
15430 part of bug #27349.
15431
15432 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
15433
15434 * util/grub-mkconfig.in: Make the created config mode 400 and
15435 print a warning if it fails.
15436
15437 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
15438
15439 * util/grub.d/40_custom.in: Ask user to type custom entries below
15440 comment, rather than below 'exec tail' line.
15441
15442 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
15443
15444 * util/grub.d/40_custom.in: Make sure that the explanatory text is
15445 visible in grub.cfg.
15446
15447 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
15448
15449 * util/grub.d/40_custom.in: Make it a little clearer how to use this
15450 file.
15451
15452 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
15453
15454 * docs/grub.cfg: Add an example menu entry for memtest86+.
15455
15456 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
15457
15458 * config.guess: Update to latest version from config git.
15459 * config.sub: Likewise.
15460
15461 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
15462
15463 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
15464 unknown-command case. Fixes bug #27320.
15465
15466 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
15467
15468 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
15469 `help' if the command exists.
15470
15471 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
15472
15473 * INSTALL: Require GCC 4.1.3 or later.
15474
15475 2009-09-06 Yves Blusseau <blusseau@zetam.org>
15476
15477 * Makefile.in (RMKFILES): add i386-qemu.rmk
15478 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
15479 $(srcdir)/stamp-h.in
15480
15481 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
15482
15483 * util/grub-probe.c (probe): Comment out buggy codepath, which
15484 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
15485 should be re-enabled after 1.97.
15486
15487 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
15488
15489 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
15490 find searches for.
15491
15492 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15493
15494 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
15495 unnecessary calls to grub_error.
15496
15497 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
15498
15499 * NEWS: Mention `keystatus' and Unicode fonts.
15500
15501 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
15502
15503 * configure.ac: Bump version to 1.97~beta2.
15504 * docs/version.texi: Likewise.
15505
15506 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15507
15508 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
15509 containing unwind information in some cases where it previously did
15510 not. Use -fno-dwarf2-cfi-asm if available to restore the old
15511 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
15512 discussion.
15513
15514 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
15515
15516 Embedding loadenv module into grub-emu
15517
15518 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
15519 commands/loadenv.c
15520 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
15521 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
15522 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
15523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
15524 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
15525 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
15526
15527 2009-09-03 Magnus Granberg <zorry@ume.nu>
15528
15529 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
15530 include -fPIE in the default specs.
15531 * configure.ac: Check if pie_possible is yes and add -fno-PIE
15532 to TARGET_CFLAGS.
15533
15534 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
15535
15536 * INSTALL: Note that GNU Bison 2.3 or later is required.
15537
15538 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15539
15540 * kern/i386/pc/startup.S: Fix typo.
15541
15542 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
15545 according to GCS.
15546
15547 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15548
15549 * docs/grub.texi (Naming convention): Describe one-based partition
15550 numbering.
15551 (Device syntax): Likewise.
15552 (File name syntax): Likewise.
15553 (Block list syntax): Likewise.
15554 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
15555 menu.lst.
15556 (File name syntax): Likewise.
15557 (Command-line and menu entry commands): Document acpi, blocklist,
15558 crc, export, insmod, keystatus, ls, set, and unset commands.
15559
15560 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15561
15562 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
15563 to avoid implying that only one of --shift, --ctrl, or --alt may be
15564 used.
15565
15566 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15567
15568 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
15569 rather than comparing against S_IFREG, which will almost never work.
15570
15571 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
15574 (write_blocklists): Likewise.
15575
15576 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
15577
15578 * script/lua/grub_lua.h (fputs): Supply a format string as the first
15579 argument to grub_printf.
15580
15581 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
15582
15583 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
15584 non GNU test.
15585
15586 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15587
15588 * kern/file.c (grub_file_read): Spelling fix
15589
15590 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15591
15592 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
15593 loading of headers in some cases.
15594
15595 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
15596
15597 * configure.ac: Bump version to 1.97~beta1.
15598 * docs/version.texi: Likewise.
15599
15600 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15601
15602 * include/grub/i386/xnu.h: Add license header.
15603 include grub/err.h explicitly.
15604
15605 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15606
15607 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
15608 to `ufs' in the vfs.root.mountfrom kernel parameter.
15609
15610 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15611
15612 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
15613
15614 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
15615 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
15616
15617 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
15618 `ARRAY_SIZE' macro.
15619
15620 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15621
15622 * kern/file.c (grub_file_read): Check offset.
15623 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
15624 * fs/jfs.c (grub_jfs_read_file): Likewise.
15625 * fs/ntfs.c (grub_ntfs_read): Likewise.
15626 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
15627 * fs/minix.c (grub_minix_read_file): Correct offset check.
15628 * fs/ufs.c (grub_ufs_read_file): Likewise.
15629
15630 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15631
15632 * term/i386/pc/console.c (bios_data_area): Cast
15633 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
15634
15635 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15636
15637 1-bit optimised blitters.
15638
15639 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
15640 prototype.
15641 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15642 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15643 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15644 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15645 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15646 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15647 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
15648 function.
15649 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15650 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15651 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15652 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15653 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15654 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15655 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
15656 when possible.
15657 * video/video.c (grub_video_get_blit_format): Return
15658 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
15659
15660 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15661
15662 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
15663 the first argument to grub_printf.
15664
15665 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15666 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
15667
15668 Add `getkeystatus' terminal method. Add a new `keystatus' command
15669 to query it.
15670
15671 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
15672 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
15673 modifier key bitmasks.
15674 (struct grub_term_input): Add `getkeystatus' member.
15675 (grub_getkeystatus): Add prototype.
15676 * kern/term.c (grub_getkeystatus): New function.
15677
15678 * include/grub/i386/pc/memory.h
15679 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
15680 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
15681 Data Area layout.
15682 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
15683 (grub_console_term_input): Set `getkeystatus' member.
15684 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
15685 constants.
15686 (grub_usb_keyboard_getreport): Likewise.
15687 (grub_usb_keyboard_checkkey): Likewise.
15688 (grub_usb_keyboard_getkeystatus): New function.
15689 (grub_usb_keyboard_term): Set `getkeystatus' member.
15690
15691 * commands/keystatus.c: New file.
15692 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
15693 (keystatus_mod_SOURCES): New variable.
15694 (keystatus_mod_CFLAGS): Likewise.
15695 (keystatus_mod_LDFLAGS): Likewise.
15696 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
15697 commands/keystatus.c.
15698 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15699 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15700 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15702 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15703 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15704
15705 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15706
15707 Split befs.mod and afs.mod into *_be.mod and *.mod
15708
15709 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
15710 (grub_fstest_SOURCES): Likewise.
15711 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
15712 (afs_be_mod_SOURCES): New variable.
15713 (afs_be_mod_CFLAGS): Likewise.
15714 (afs_be_mod_LDFLAGS): Likewise.
15715 (befs_be_mod_SOURCES): Likewise.
15716 (befs_be_mod_CFLAGS): Likewise.
15717 (befs_be_mod_LDFLAGS): Likewise.
15718 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
15719 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15720 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15721 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15722 (grub_emu_SOURCES): Likewise.
15723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15724 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15725 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15726 * fs/afs_be.c: New file.
15727 * fs/befs_be.c: New file.
15728 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
15729 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
15730 (U16): Replaced with ...
15731 (grub_afs_to_cpu16): ...this. All users updated.
15732 (U32): Replaced with ...
15733 (grub_afs_to_cpu32): ...this. All users updated.
15734 (U64): Replaced with ...
15735 (grub_afs_to_cpu64): ...this. All users updated.
15736 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
15737 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
15738 (grub_afs_validate_sblock): Check only one endianness.
15739 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15740 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15741 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15742 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15743 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15744 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15745 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15746 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15747
15748 2009-08-26 Bean <bean123ch@gmail.com>
15749
15750 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
15751 64-bit number.
15752 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15753 (grub_xfs_inode_block): Change return type to grub_uint64_t.
15754 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
15755
15756 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15757
15758 NetBSD memory map support.
15759
15760 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
15761 (grub_netbsd_btinfo_mmap_header): New structure.
15762 (grub_netbsd_btinfo_mmap_entry): Likewise.
15763 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
15764
15765 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15766
15767 Enable bsd.mod on coreboot.
15768
15769 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
15770 (bsd_mod_SOURCES): New variable.
15771 (bsd_mod_CFLAGS): Likewise.
15772 (bsd_mod_LDFLAGS): Likewise.
15773 (bsd_mod_ASFLAGS): Likewise.
15774 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
15775 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
15776
15777 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15778
15779 Cleanup NetBSD root support.
15780
15781 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
15782 grub_bsd_get_device.
15783 Fix typo.
15784
15785 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
15786
15787 * util/grub.d/00_header.in: Move check for the video backend of
15788 gfxterm from here ...
15789 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
15790 a suitable video backend.
15791
15792 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 Fix breakage in grub-setup.
15795
15796 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
15797 "msdos_partition_map".
15798
15799 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15800
15801 Fix breakage in normal/auth.c.
15802
15803 * normal/auth.c (grub_iswordseparator): New function.
15804
15805 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15806
15807 Authentication support.
15808
15809 * commands/password.c: New file.
15810 * conf/common.rmk (pkglib_MODULES): Add password.mod.
15811 (password_mod_SOURCES): New variable.
15812 (password_mod_CFLAGS): Likewise.
15813 (password_mod_LDFLAGS): Likewise.
15814 (normal_mod_SOURCES): Add normal/auth.c.
15815 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
15816 normal/auth.c.
15817 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15818 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15819 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15821 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15822 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15823 * include/grub/auth.h: New file.
15824 * include/grub/err.h (grub_err_t): New enum value
15825 GRUB_ERR_ACCESS_DENIED.
15826 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
15827 'users'.
15828 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
15829 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
15830 users updated.
15831 * normal/auth.c: New file.
15832 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
15833 (grub_cmdline_run): Don't allow to go to command line without
15834 authentication.
15835 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
15836 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
15837 menuentry without superuser rights.
15838 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
15839 user isn't a superuser.
15840
15841 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15842
15843 Save space by inlining misc.c functions.
15844
15845 * kern/misc.c (grub_iswordseparator): Made static.
15846 * kern/misc.c (grub_strcat): Moved from here ...
15847 * include/grub/misc.h (grub_strcat): ... here. Inlined.
15848 * kern/misc.c (grub_strncat): Moved from here ...
15849 * include/grub/misc.h (grub_strncat): ... here. Inlined.
15850 * kern/misc.c (grub_strcasecmp): Moved from here ...
15851 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
15852 * kern/misc.c (grub_strncasecmp): Moved from here ...
15853 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
15854 * kern/misc.c (grub_isalpha): Moved from here ...
15855 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
15856 * kern/misc.c (grub_isdigit): Moved from here ...
15857 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
15858 * kern/misc.c (grub_isgraph): Moved from here ...
15859 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
15860 * kern/misc.c (grub_tolower): Moved from here ...
15861 * include/grub/misc.h (grub_tolower): ... here. Inlined.
15862
15863 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 * script/sh/function.c (grub_script_function_find): Cut error message
15866 not to flood terminal.
15867 * script/sh/lexer.c (grub_script_yylex): Remove command line length
15868 limit.
15869 * script/sh/script.c (grub_script_arg_add): Duplicate string.
15870
15871 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
15872
15873 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
15874 `report' grub_uint8_t *.
15875 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
15876 Use a 50-millisecond timeout rather than just repeating
15877 grub_usb_keyboard_getreport 50 times.
15878 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
15879
15880 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15881
15882 Rename *_partition_map to part_*
15883
15884 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
15885 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
15886 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
15887 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
15888 All users updated.
15889 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
15890 All users updated.
15891 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
15892 * util/grub-probe.c (probe_partmap): Don't transform partition name
15893 to get module name.
15894
15895 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15896
15897 Fix OpenBSD and NetBSD support.
15898
15899 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
15900 memory address conflict.
15901 (OPENBSD_MMAP_ACPI): New definition.
15902 (OPENBSD_MMAP_NVS): Likewise.
15903 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
15904 and OPENBSD_MMAP_NVS.
15905 Add memory map terminator
15906 Explicit cast when calling grub_unix_real_boot.
15907 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
15908
15909 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15910
15911 Let user specify NetBSD root device.
15912
15913 * loader/i386/bsd.c (netbsd_root): New variable.
15914 (netbsd_opts): New option 'root'.
15915 (NETBSD_ROOT_ARG): New macro.
15916 (grub_netbsd_boot): Use 'netbsd_root'.
15917 (grub_bsd_unload): Free 'netbsd_root'.
15918 (grub_cmd_netbsd): Fill 'netbsd_root'.
15919
15920 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15921
15922 Support for 64-bit NetBSD.
15923
15924 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
15925 point when booting non-FreeBSD.
15926
15927 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 Support --no-smp and --no-acpi for NetBSD.
15930
15931 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
15932 (NETBSD_AB_NOACPI): Likewise.
15933 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
15934 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
15935
15936 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15937
15938 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
15939 errors.
15940 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
15941 errors. Call grub_error when needed.
15942
15943 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15944
15945 * commands/search.c (search_fs): Try searching without autoload first.
15946 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15947 filesystem module explicitly for faster booting.
15948
15949 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
15950
15951 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
15952
15953 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
15954
15955 * util/grub.d/30_os-prober.in: Disable os-prober if
15956 `GRUB_DISABLE_OS_PROBER' was set to true.
15957
15958 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
15959
15960 * partmap/pc.c: Rename to ...
15961 * partmap/msdos.c: ... this. Update all users.
15962 (grub_pc_partition_map): Rename to ...
15963 (grub_msdos_partition_map): ... this. Update all users.
15964
15965 * parttool/pcpart.c: Rename to ...
15966 * parttool/msdospart.c: ... this. Update all users.
15967
15968 * include/grub/pc_partition.h: Rename to ...
15969 * include/grub/msdos_partition.h: ... this. Update all users.
15970 (grub_pc_partition_bsd_entry): Rename to ...
15971 (grub_msdos_partition_bsd_entry): ... this. Update all users.
15972 (grub_pc_partition_disk_label): Rename to ...
15973 (grub_msdos_partition_disk_label): ... this. Update all users.
15974 (grub_pc_partition_entry): Rename to ...
15975 (grub_msdos_partition_entry): ... this. Update all users.
15976 (grub_pc_partition_mbr): Rename to ...
15977 (grub_msdos_partition_mbr): ... this. Update all users.
15978 (grub_pc_partition): Rename to ...
15979 (grub_msdos_partition): ... this. Update all users.
15980 (grub_pc_partition_is_empty): Rename to ...
15981 (grub_msdos_partition_is_empty): ... this. Update all users.
15982 (grub_pc_partition_is_extended): Rename to ...
15983 (grub_msdos_partition_is_extended): ... this. Update all users.
15984 (grub_pc_partition_is_bsd): Rename to ...
15985 (grub_msdos_partition_is_bsd): ... this. Update all users.
15986
15987 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
15988 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
15989 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
15990 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
15991 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
15992 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
15993 (gpt_mod_LDFLAGS): Rename to ...
15994 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
15995 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
15996 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
15997 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
15998 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
15999 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
16000 (part_gpt_mod_LDFLAGS): ... this.
16001 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
16002 `pcpart.mod' to `msdospart.mod'.
16003 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
16004 to ...
16005 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
16006 (msdospart_mod_LDFLAGS): ... this.
16007
16008 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16009
16010 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
16011 (openbsd_opts): Likewise.
16012 (netbsd_opts): Likewise.
16013 (freebsd_flags): Added 0 terminator.
16014 (openbsd_flags): Likewise.
16015 (netbsd_flags): Likewise.
16016 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
16017 (grub_cmd_freebsd): Transformed into extended command.
16018 (grub_cmd_openbsd): Likewise.
16019 (grub_cmd_netbsd): Likewise.
16020 (cmd_freebsd): Changed type to grub_extcmd_t.
16021 (cmd_openbsd): Likewise.
16022 (cmd_netbsd): Likewise.
16023 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
16024 grub_cmd_openbsd as extended commands.
16025 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
16026 cmd_netbsd and cmd_openbsd
16027
16028 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16029
16030 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
16031
16032 2009-08-21 Pavel Roskin <proski@gnu.org>
16033
16034 * Makefile.in (install-local): When checking if a file is in the
16035 build directory, use "test -e" to detect symlinks.
16036
16037 * Makefile.in (install-local): Remove all files in
16038 $(DESTDIR)$(pkglibdir) before installing new files there.
16039
16040 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
16041
16042 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
16043 grub-mkelfimage.
16044
16045 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
16046
16047 * util/grub-mkconfig.in: Don't use gfxterm by default if not
16048 explicitly specified by the user.
16049
16050 2009-08-18 Pavel Roskin <proski@gnu.org>
16051
16052 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
16053 grub_uint8_t pointer for data.
16054 * include/grub/fbutil.h (struct grub_video_fbblit_info):
16055 Likewise.
16056 * video/fb/fbutil.c: Remove unnecessary casts.
16057
16058 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
16059
16060 VBE cleanup.
16061
16062 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
16063 (grub_vbe_set_video_mode): Save active mode info
16064 only after setting the mode.
16065 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
16066 second argument.
16067
16068 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
16069
16070 Rename variables for clarity.
16071
16072 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
16073 (active_vbe_mode_info): ... this. All users updated.
16074 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
16075 All users updated.
16076 (initial_mode): Rename to ...
16077 (initial_vbe_mode): ... this. All users updated.
16078 (mode_in_use): Rename to ..
16079 (vbe_mode_in_use): ... this. All users updated.
16080 (mode_list): Rename to ..
16081 (vbe_mode_list): ... this. All users updated.
16082 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
16083 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
16084 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
16085 'mode_list_size' to 'vbe_mode_list_size'.
16086 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
16087 'best_mode_info' to 'best_vbe_mode_info' and
16088 'best_mode' to 'best_vbe_mode'
16089
16090 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
16091
16092 Remove duplicate grub_video_fb_get_video_ptr.
16093
16094 * include/grub/fbutil.h (get_data_ptr): Rename to ...
16095 (grub_video_fb_get_video_ptr): ... this.
16096 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
16097 * video/fb/fbutil.c: Add comment about addressing.
16098 (get_data_ptr): Rename to ...
16099 (grub_video_fb_get_video_ptr): ... this. All users updated.
16100 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
16101
16102 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16103
16104 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
16105 grub_dprintf() that was just added.
16106
16107 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16108
16109 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
16110 (DEFAULT_VIDEO_MODE): Remove macros.
16111 (grub_linux_boot): Remove assumption that Linux has FB support,
16112 and use "text" as default video mode.
16113
16114 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
16115
16116 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
16117 grub_dprintf.
16118 * fs/fat.c (grub_fat_read_data): Likewise.
16119
16120 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
16123 payload.
16124 (grub_module): Likewise.
16125
16126 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16127
16128 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
16129 mbi->cmdline but free playground.
16130
16131 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16132
16133 Handle group offset on UFS1.
16134
16135 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
16136 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
16137
16138 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16139
16140 Split ufs.mod into ufs1.mod and ufs2.mod.
16141
16142 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
16143 (grub_fstest_SOURCES): Likewise.
16144 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
16145 (ufs_mod_SOURCES): Remove.
16146 (ufs_mod_CFLAGS): Likewise.
16147 (ufs_mod_LDFLAGS): Likewise.
16148 (ufs1_mod_SOURCES): New variable.
16149 (ufs1_mod_CFLAGS): Likewise.
16150 (ufs1_mod_LDFLAGS): Likewise.
16151 (ufs2_mod_SOURCES): New variable.
16152 (ufs2_mod_CFLAGS): Likewise.
16153 (ufs2_mod_LDFLAGS): Likewise.
16154 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
16155 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16156 Likewise.
16157 (grub_emu_SOURCES): Likewise.
16158 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16159 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16160 (grub_setup_SOURCES): Likewise.
16161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16162 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
16163 (grub_setup_SOURCES): Likewise.
16164 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16165 Likewise.
16166 * fs/ufs2.c: New file.
16167 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
16168
16169 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 Framebuffer split.
16172
16173 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
16174 subsystem at the end.
16175 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
16176 (video_fb_mod_SOURCES): New variable.
16177 (video_fb_mod_CFLAGS): Likewise.
16178 (video_fb_mod_LDFLAGS): Likewise.
16179 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
16180 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
16181 * video/i386/pc/vbeblit.c: Moved from here ...
16182 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
16183 * video/i386/pc/vbefill.c: Moved from here ...
16184 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
16185 * video/i386/pc/vbeutil.c: Moved from here ...
16186 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
16187 * include/grub/i386/pc/vbeblit.h: Moved from here ...
16188 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
16189 * include/grub/i386/pc/vbefill.h: Moved from here ...
16190 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
16191 * include/grub/i386/pc/vbeutil.h: Moved from here ...
16192 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
16193 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
16194 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
16195 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
16196 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
16197 (grub_video_adapter): Added 'get_info_and_fini'.
16198 (grub_video_get_info_and_fini): New prototype.
16199 (grub_video_set_mode): make modestring const char *.
16200 * loader/i386/linux.c (grub_linux_setup_video): Use
16201 grub_video_get_info_and_fini.
16202 (grub_linux_boot): Move modesetting just before booting.
16203 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
16204 grub_video_get_info_and_fini.
16205 * video/i386/pc/vbe.c: Moved framebuffer part ...
16206 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
16207 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
16208 grub_video_fbstd_colors and grub_video_fb_set_palette.
16209 (grub_video_vbe_init): Clear 'framebuffer' variable and use
16210 grub_video_fb_init.
16211 (grub_video_vbe_fini): Use grub_video_fb_fini.
16212 (grub_video_vbe_setup): Use framebuffer.render_target instead of
16213 render_target and use grub_video_fb_set_active_render_target and
16214 grub_video_fb_set_palette.
16215 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
16216 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
16217 (grub_video_vbe_adapter): Use framebuffer.
16218 * video/video.c (grub_video_get_info_and_fini): New function.
16219 (grub_video_set_mode): Make modestring const char *.
16220 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
16221 values are already initialised.
16222
16223 2009-08-14 Pavel Roskin <proski@gnu.org>
16224
16225 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
16226 ABS and APPLE_CC.
16227 * boot/i386/pc/diskboot.S: Likewise.
16228 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
16229 sectors allow compilation on MacOSX.
16230 * conf/i386-pc.rmk: Enable unconditional compilation of
16231 lnxboot.img.
16232
16233 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
16234
16235 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
16236 * util/grub.d/00_header.in: Enter interruptible sleep if
16237 GRUB_HIDDEN_TIMEOUT is set.
16238
16239 2009-08-13 Yves Blusseau <blusseau@zetam.org>
16240
16241 * include/grub/symbol.h: Add the LOCAL macro.
16242 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
16243 starting with "L_".
16244
16245 2009-08-13 Pavel Roskin <proski@gnu.org>
16246
16247 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
16248 any modern compilers we support.
16249
16250 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
16251 Use local labels starting with "L_" so that Apple assembler
16252 knows they are local.
16253
16254 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
16255
16256 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
16257 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
16258 (bsd_kernel_types): ... this enum.
16259
16260 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
16261 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
16262 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
16263
16264 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
16265 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
16266 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
16267 messages.
16268
16269 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16270
16271 * util/grub-dumpdevtree: Moved from here ...
16272 * util/i386/efi/grub-dumpdevtree: ... to here.
16273 (hexify): New function. Converts a string to its hex version.
16274 Generate hex versions of "efi" and "device-properties" by calling
16275 hexify() on the ASCII strings rather than by hardcoding numbers.
16276
16277 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16278
16279 * fs/jfs.c: Update copyright year.
16280
16281 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
16282
16283 * util/grub.d/00_header.in: Fix a comment.
16284 * util/grub.d/10_linux.in: Likewise.
16285 * util/grub.d/10_windows.in: Likewise.
16286 * util/grub.d/10_hurd.in: Likewise.
16287
16288 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
16289
16290 * util/grub-mkconfig.in: Allow the user to specify the used font
16291 with GRUB_FONT.
16292
16293 2009-08-08 Pavel Roskin <proski@gnu.org>
16294
16295 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
16296 available, xfs.mod needs it now.
16297
16298 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
16299 the "g" modifier in sed when the intention is to strip something
16300 once. This fixes comparison of kernels with multiple dashes.
16301
16302 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
16303 on it. Add missing space before closing bracket. Fix
16304 misleading formatting.
16305
16306 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16307
16308 * docs/grub.texi: Major overhaul. Remove all sections that are
16309 specific to GRUB Legacy, or mostly composed of Legacy-specific
16310 information.
16311
16312 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16313
16314 * docs/version.texi: New file. Provides version information for
16315 grub.texi.
16316
16317 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16318
16319 * docs/grub.texi: Update CVS information to SVN.
16320 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
16321
16322 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16323
16324 * util/grub-mkconfig.in: Remove a wrong `fi'.
16325
16326 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16327
16328 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
16329 (grub_jfs_uuid): New function.
16330 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
16331
16332 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16333
16334 * util/grub-mkconfig_lib.in (font_path): Move the functionality
16335 of it to ...
16336 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
16337 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
16338
16339 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16340
16341 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
16342 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
16343 Update all users.
16344
16345 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
16346 not just "vmlinu[zx]".
16347 Moved from here ...
16348 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
16349 all users.
16350
16351 * util/grub.d/10_linux.in (find_latest): Moved from here ...
16352 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
16353 all users.
16354
16355 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16356
16357 * util/grub.d/10_freebsd.in: Use an absolute device path for
16358 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
16359
16360 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
16361
16362 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
16363 handling of multiple abstraction modules.
16364
16365 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
16366
16367 Fix a bug resulting in black screen when loading Linux using a
16368 packed video mode.
16369
16370 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
16371 function.
16372
16373 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
16374 (grub_vbe_bios_getset_dac_palette_width): New function.
16375 (grub_vbe_bios_get_dac_palette_width)
16376 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
16377 grub_vbe_bios_getset_dac_palette_width()).
16378
16379 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
16380 check for return status.
16381 (grub_vbe_get_video_mode_info): When getting information for a packed
16382 mode (<= 8 bpp), obtain DAC palette width using
16383 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
16384 {red,green,blue}_mark_size.
16385
16386 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
16387
16388 * commands/search.c (options): Fix help output to match actual code.
16389
16390 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
16391
16392 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
16393 of homegrown code.
16394
16395 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16396
16397 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
16398 on XFS or ReiserFS.
16399
16400 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16401
16402 Support Apple partition map with sector size different from 512 bytes.
16403
16404 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
16405 (apple_partition_map_iterate): Respect 'aheader.blocksize'
16406 and 'apart.partmap_size'.
16407
16408 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16409 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
16410
16411 Fix cpuid command.
16412
16413 * commands/i386/cpuid.c (options): New variable.
16414 (grub_cmd_cpuid): Return real error.
16415 (GRUB_MOD_INIT(cpuid)): Declare options.
16416
16417 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
16418
16419 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
16420 valid.
16421
16422 2009-07-31 Bean <bean123ch@gmail.com>
16423
16424 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
16425 log2_inode.
16426 (grub_fshelp_node): Move inode field to the end.
16427 (grub_xfs_data): Remove inode field.
16428 (grub_xfs_inode_block): Calculate inode size using sblock.
16429 (grub_xfs_inode_offset): Likewise.
16430 (grub_xfs_read_inode): Calculate inode size using sblock.
16431 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
16432 (grub_xfs_iterate_dir): Calculate inode size using sblock.
16433 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
16434 to match inode size.
16435 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
16436 not accessible when data is null.
16437 (grub_xfs_open): Likewise.
16438
16439 2009-07-31 Bean <bean123ch@gmail.com>
16440
16441 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
16442 Don't change pv->disk if it's already set.
16443
16444 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
16445 (grub_raid_register): ... here.
16446 (grub_raid_rescan): Removed.
16447
16448 * include/grub/raid.h (grub_raid_rescan): Removed.
16449
16450 * util/grub-fstest.c: Remove include file <grub/raid.h>.
16451 (fstest): Replace grub_raid_rescan with module fini function followed
16452 by init function.
16453
16454 * util/grub-probe.c: Add include file <grub/raid.h>.
16455 (probe_raid_level): New function.
16456 (probe): Detect abstraction by walking the disk device, support two
16457 level of abstraction (LVM on RAID) when detecting partition map.
16458
16459 2009-07-31 Pavel Roskin <proski@gnu.org>
16460
16461 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
16462 to grub_zalloc(), it was erroneous.
16463 Reported by Bean <bean123ch@gmail.com>
16464
16465 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
16466
16467 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
16468 embedding zone, not only the first one.
16469
16470 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
16471
16472 * term/gfxterm.c (clear_char): New function.
16473 (grub_virtual_screen_setup): Use clear_char.
16474 (scroll_up): Likewise.
16475 (grub_virtual_screen_cls): Likewise.
16476
16477 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
16478
16479 * util/deviceiter.c (get_acceleraid_disk_name): New static
16480 function.
16481 (grub_util_iterate_devices): Handle Accelraid devices.
16482 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
16483
16484 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
16485
16486 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
16487 separator for the suggested gfxpayload string (';' collides with the
16488 parser and needs escaping).
16489
16490 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16491
16492 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
16493 Clear direction flag before jumping to OS.
16494 (grub_multiboot2_real_boot): Likewise.
16495
16496 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16497
16498 * util/i386/pc/grub-install: Fix parsing of --disk-module
16499 option.
16500
16501 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16502
16503 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
16504 when embedding.
16505
16506 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
16507
16508 * util/grub-mkconfig.in (package_version): New variable.
16509 Use it do display the version.
16510
16511 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16512
16513 * kern/file.c (grub_file_open): Revert to previous check with
16514 grub_errno.
16515
16516 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16517
16518 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
16519 from help line. It's out of sync with code.
16520
16521 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16522
16523 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
16524 entries on failed boot.
16525
16526 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16527
16528 * kern/file.c (grub_file_open): Fix an error check.
16529
16530 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
16531
16532 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
16533 partition map couldn't be identified.
16534
16535 2009-07-23 Pavel Roskin <proski@gnu.org>
16536
16537 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
16538 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
16539 case of little endian words becomes just an optimization.
16540 Respect const modifier.
16541 (md5_final): Use code that doesn't depend on endianness.
16542
16543 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
16544 to avoid loss of upper bits if align is unsigned and shorter
16545 than addr.
16546
16547 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16548
16549 UUID support for UFS
16550
16551 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
16552 (grub_ufs_uuid): New function.
16553 (grub_ufs_fs): add .uuid
16554
16555 2009-07-21 Pavel Roskin <proski@gnu.org>
16556
16557 * kern/dl.c (grub_dl_check_header): Make static.
16558
16559 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
16560
16561 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
16562 add drivemap for Vista. It breaks Windows 7.
16563
16564 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16565
16566 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
16567 128 bytes
16568
16569 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 Add BFS support
16572
16573 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
16574 (grub_fstest_SOURCES): Likewise.
16575 (pkglib_MODULES): Add befs.mod.
16576 (befs_mod_SOURCES): New variable.
16577 (befs_mod_CFLAGS): Likewise.
16578 (befs_mod_LDFLAGS): Likewise.
16579 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16580 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16581 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16582 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16583 (grub_setup_SOURCES): Likewise.
16584 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16585 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16586 (grub_setup_SOURCES): Likewise.
16587 * fs/befs.c: New file.
16588 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
16589 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
16590 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
16591 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
16592 (B_KEY_INDEX_ALIGN): New declaration.
16593 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
16594 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
16595 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
16596 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
16597 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
16598 (grub_afs_mount) [MODE_BFS]: Likewise.
16599 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
16600 (grub_afs_fs): Use GRUB_AFS_FSNAME
16601 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
16602 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
16603 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
16604 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
16605
16606 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
16607
16608 * util/getroot.c (find_root_device): Add support for MacOSX.
16609 * util/hostdisk.c: Likewise.
16610
16611 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16612
16613 * font/font.c (find_glyph): Check whether a font is present to avoid
16614 segmentation fault.
16615
16616 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
16617
16618 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
16619
16620 2009-07-20 Pavel Roskin <proski@gnu.org>
16621
16622 * configure.ac: Trim excessively wordy excuses.
16623
16624 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16625
16626 Add symlink, mtime and label support to AtheFS.
16627
16628 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
16629 (grub_afs_iterate_dir): Handle symlinks.
16630 (grub_afs_open): Use grub_afs_read_symlink.
16631 (grub_afs_dir): Likewise.
16632 Pass mtime.
16633 (grub_afs_label): New function.
16634 (grub_afs_fs): Add grub_afs_label.
16635 (grub_afs_read_symlink): New function.
16636
16637 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16638
16639 Fix AtheFS support.
16640
16641 * fs/afs.c: Fix comments style.
16642 (grub_afs_blockrun): Declare as packed.
16643 (grub_afs_datastream): Likewise.
16644 (grub_afs_bnode): Likewise.
16645 (grub_afs_btree): Likewise.
16646 (grub_afs_sblock): Likewise.
16647 Declare `name' as char.
16648 (grub_afs_inode): Declare as packed.
16649 Change void *vnode to grub_uint32_t unused.
16650 (grub_afs_iterate_dir): Check that key_size is positive.
16651 (grub_afs_mount): Don't read superblock twice.
16652 (grub_afs_dir): Don't free node in case of error,
16653 grub_fshelp_find_file already handles this.
16654 (grub_afs_open): Likewise.
16655
16656 2009-07-19 Pavel Roskin <proski@gnu.org>
16657
16658 * Makefile.in: Remove LIBLZO and enable_lzo.
16659 * conf/i386-pc.rmk: Remove lzo support.
16660 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
16661 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
16662 support.
16663 * kern/i386/pc/lzo1x.S: Remove.
16664 * kern/i386/pc/startup.S: Remove lzo support.
16665 * util/i386/pc/grub-mkimage.c: Likewise.
16666
16667 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
16670 * fs/xfs.c (grub_xfs_dir): Likewise.
16671 * fs/afs.c (grub_afs_dir): Likewise.
16672 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
16673 (grub_iso9660_open): Likewise.
16674 * fs/jfs.c (grub_jfs_open): Likewise.
16675 * fs/ext2.c (grub_ext2_dir): Likewise.
16676 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
16677 * script/sh/lexer.c (grub_script_yylex): Likewise.
16678
16679 2009-07-16 Pavel Roskin <proski@gnu.org>
16680
16681 * configure.ac: Never add "-c" to CFLAGS.
16682
16683 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
16684
16685 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
16686 grub_cv_cc_efiemu should be used.
16687
16688 * configure.ac: Typo fixes.
16689
16690 * kern/mm.c (grub_zalloc): New function.
16691 (grub_debug_zalloc): Likewise.
16692 * include/grub/mm.h: Declare grub_zalloc() and
16693 grub_debug_zalloc().
16694 * util/misc.c (grub_zalloc): New function.
16695 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
16696 instead of grub_malloc(), remove unneeded initializations.
16697 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
16698 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
16699 * commands/parttool.c (grub_cmd_parttool): Likewise.
16700 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16701 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
16702 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
16703 * disk/usbms.c (grub_usbms_finddevs): Likewise.
16704 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
16705 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
16706 (grub_cmd_efiemu_pnvram): Likewise.
16707 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
16708 * fs/iso9660.c (grub_iso9660_mount): Likewise.
16709 (grub_iso9660_iterate_dir): Likewise.
16710 * fs/jfs.c (grub_jfs_opendir): Likewise.
16711 * fs/ntfs.c (list_file): Likewise.
16712 (grub_ntfs_mount): Likewise.
16713 * kern/disk.c (grub_disk_open): Likewise.
16714 * kern/dl.c (grub_dl_load_core): Likewise.
16715 * kern/elf.c (grub_elf_file): Likewise.
16716 * kern/env.c (grub_env_context_open): Likewise.
16717 (grub_env_set): Likewise.
16718 (grub_env_set_data_slot): Likewise.
16719 * kern/file.c (grub_file_open): Likewise.
16720 * kern/fs.c (grub_fs_blocklist_open): Likewise.
16721 * loader/i386/multiboot.c (grub_module): Likewise.
16722 * loader/xnu.c (grub_xnu_create_key): Likewise.
16723 (grub_xnu_create_value): Likewise.
16724 * normal/main.c (grub_normal_add_menu_entry): Likewise.
16725 (read_config_file): Likewise.
16726 * normal/menu_entry.c (make_screen): Likewise.
16727 * partmap/sun.c (sun_partition_map_iterate): Likewise.
16728 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
16729 * script/sh/script.c (grub_script_parse): Likewise.
16730 * video/bitmap.c (grub_video_bitmap_create): Likewise.
16731 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16732 * video/readers/png.c (grub_png_output_byte): Likewise.
16733 (grub_video_reader_png): Likewise.
16734
16735 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16736
16737 Enable all targets that can be built by default
16738
16739 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
16740 grub-mkfont and grub-fstest if they can be built
16741
16742 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16743
16744 Fix hang and segmentation fault in grub-emu-usb
16745
16746 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
16747 * util/usb.c (grub_libusb_devices): likewise
16748 (grub_libusb_init): rename to ...
16749 (GRUB_MOD_INIT (libusb)):...this
16750 (grub_libusb_fini): rename to ..
16751 (GRUB_MOD_FINI (libusb)):...this
16752 * disk/usbms.c (grub_usbms_transfer): fix retry logic
16753 * include/grub/disk.h (grub_raid_init): removed, it's useless
16754 (grub_raid_fini): likewise
16755 (grub_lvm_init): likewise
16756 (grub_lvm_fini): likewise
16757 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
16758 by grub_init_all
16759
16760 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16761
16762 Fix libusb
16763
16764 * Makefile.in (LIBUSB): new macro
16765 * genmk.rb (Utility/print_tail): new method
16766 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
16767 (top level): call util.print_tail at the end.
16768
16769 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16770
16771 Make FreeBSD accept zpool.cache
16772
16773 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
16774 type is /boot/zfs/zpool.cache
16775
16776 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16777
16778 Fix 64-bit efiemu
16779
16780 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
16781 correct wrong typedef
16782 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
16783
16784 2009-07-15 Pavel Roskin <proski@gnu.org>
16785
16786 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
16787 * kern/disk.c (struct grub_disk_cache): Likewise.
16788
16789 * commands/probe.c (options): Typo fix.
16790
16791 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
16792 Increase to 0x5a to accommodate FAT32. Adjust other offsets
16793 accordingly.
16794 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
16795
16796 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
16797 the end of "Error" to make the message more readable.
16798
16799 * boot/i386/pc/boot.S (kernel_segment): Remove.
16800 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
16801 for destination.
16802
16803 * boot/i386/pc/boot.S (boot_version): Remove.
16804 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16805 Remove.
16806
16807 * include/grub/i386/pc/boot.h: Sort all offsets.
16808 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
16809 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
16810 * boot/i386/pc/boot.S: Assert location of every offset listed in
16811 include/grub/i386/pc/boot.h.
16812
16813 2009-07-13 Pavel Roskin <proski@gnu.org>
16814
16815 * include/grub/i386/coreboot/machine.h: Rename
16816 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
16817 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
16818 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
16819
16820 * kern/dl.c: Force native word size to suppress warnings when
16821 compiling grub-emu.
16822
16823 * kern/device.c (grub_device_iterate): Change struct part_ent to
16824 hold the name, not a pointer to it. Use one grub_malloc() per
16825 partition, not two. Free partition_name if grub_malloc() fails.
16826 Set ents to NULL only before grub_partition_iterate() is called.
16827
16828 2009-07-11 Bean <bean123ch@gmail.com>
16829
16830 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
16831 childname.
16832
16833 2009-07-10 Bean <bean123ch@gmail.com>
16834 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
16835
16836 * kern/ieee1275/openfw.c (grub_children_iterate)
16837 (grub_devalias_iterate): Fix size evaluation for property or path
16838 strings, which was broken since r2132.
16839
16840 2009-07-07 Pavel Roskin <proski@gnu.org>
16841
16842 * commands/search.c (search_file): Merge into ...
16843 (search_fs): ... this. Accept search type as argument.
16844 (grub_cmd_search): Pass search type to search_fs().
16845
16846 * include/grub/util/console.h: New file.
16847 * util/console.c: Use it instead of grub/machine/console.h.
16848 * util/grub-emu.c: Likewise.
16849
16850 * lib/arg.c (find_long_option): Remove.
16851 (find_long): Add `len' argument, make `s' const char *.
16852 (grub_arg_parse): Parse long options in place, not in a
16853 temporary buffer.
16854
16855 2009-07-06 Pavel Roskin <proski@gnu.org>
16856
16857 * commands/search.c (search_fs): Fix potential NULL pointer
16858 dereference.
16859
16860 * commands/search.c (search_fs): Replace QUID macro with quid_fn
16861 function pointer.
16862
16863 2009-07-06 Daniel Mierswa <impulze@impulze.org>
16864
16865 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
16866 comparison.
16867
16868 2009-07-05 Pavel Roskin <proski@gnu.org>
16869
16870 * include/grub/i386/linux.h (struct linux_kernel_params):
16871 Restore padding3, it's still needed.
16872
16873 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
16874 FreeBSD.
16875 * util/osdetect.lua: Likewise.
16876
16877 2009-07-05 Bean <bean123ch@gmail.com>
16878
16879 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
16880
16881 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
16882 (grub_lua_getenv): Likewise.
16883 (grub_lua_setenv): Likewise.
16884 (save_errno): New function.
16885 (push_result): Likewise.
16886 (grub_lua_enum_device): Likewise.
16887 (grub_lua_enum_file): Likewise.
16888 (grub_lua_file_open): Likewise.
16889 (grub_lua_file_close): Likewise.
16890 (grub_lua_file_seek): Likewise.
16891 (grub_lua_file_read): Likewise.
16892 (grub_lua_file_getline): Likewise.
16893 (grub_lua_file_getsize): Likewise.
16894 (grub_lua_file_getpos): Likewise.
16895 (grub_lua_file_eof): Likewise.
16896 (grub_lua_file_exist): Likewise.
16897 (grub_lua_add_menu): Likewise.
16898
16899 * script/lua/grub_lua.h (isupper): New inline function.
16900 (islower): Likewise.
16901 (ispunct): Likewise.
16902 (isxdigit): Likewise.
16903 (strcspn): Change to normal function.
16904 (strpbkr): New function declaration.
16905 (memchr): Likewise.
16906
16907 * script/lua/grub_main.c (scan_str): New function.
16908 (strcspn): Likewise.
16909 (strpbrk): Likewise.
16910 (memchr): Likewise.
16911
16912 * script/lua/linit.c (lualibs): Enable the string library.
16913
16914 * util/osdetect.lua: New file.
16915
16916 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
16917
16918 * include/grub/i386/linux.h (struct linux_kernel_params): Add
16919 `capabilities' member.
16920
16921 2009-07-02 Pavel Roskin <proski@gnu.org>
16922
16923 * genparttoollist.sh: Add missing newline at the end.
16924
16925 2009-07-01 Pavel Roskin <proski@gnu.org>
16926
16927 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
16928
16929 * util/hostdisk.c (open_device): Remove `const' from
16930 `sysctl_size', as sysctlbyname() can change it (in this case it
16931 doesn't actually happen).
16932
16933 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
16934 using signed long int constants.
16935
16936 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
16937 constant to avoid a warning on FreeBSD.
16938
16939 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
16940 where it's needed.
16941
16942 * Makefile.in: Install include/grub/machine symlink.
16943
16944 * Makefile.in: When installing symlinks, use "cp -fR", which
16945 works on FreeBSD and MacOSX.
16946 From Yves Blusseau <cl7m42e02@sneakemail.com>
16947
16948 * kern/dl.c (grub_dl_resolve_symbol): Make static.
16949 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
16950
16951 * util/misc.c: Move grub_reboot() and grub_halt() ...
16952 * util/grub-emu.c: ... here. Make main_env static.
16953 * include/grub/util/misc.h: Remove main_env.
16954
16955 * kern/mm.c: Use correct format to print size_t.
16956
16957 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
16958 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
16959 * kern/powerpc/dl.c: Likewise.
16960 * kern/sparc64/dl.c: Likewise.
16961 * kern/x86_64/dl.c: Likewise.
16962
16963 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16964
16965 Fix grub-emu build on sparc64-ieee1275.
16966
16967 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
16968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
16969
16970 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16971
16972 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
16973 (grub_reboot, grub_halt): New functions.
16974
16975 * util/i386/pc/misc.c: Delete. Update all users.
16976 * util/sparc64/ieee1275/misc.c: Likewise.
16977 * util/powerpc/ieee1275/misc.c: Likewise.
16978
16979 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16980
16981 * conf/i386.rmk (setjmp_mod_SOURCES)
16982 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
16983 * conf/common.rmk (setjmp_mod_SOURCES)
16984 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
16985 to use $(target_cpu).
16986 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
16987 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
16988 * conf/powerpc-ieee1275.rmk: Likewise.
16989 * conf/sparc64-ieee1275.rmk: Likewise.
16990
16991 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
16992 $(target_cpu) for kern/$(target_cpu)/dl.c.
16993 * conf/i386-efi.rmk: Likewise.
16994 * conf/i386-ieee1275.rmk: Likewise.
16995 * conf/x86_64-efi.rmk: Likewise.
16996 * conf/i386-coreboot.rmk: Likewise.
16997 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
16998 $(target_cpu) for kern/$(target_cpu)/dl.c and for
16999 kern/$(target_cpu)/cache.S.
17000 * conf/sparc64-ieee1275.rmk: Likewise.
17001
17002 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17003
17004 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
17005 type to `grub_uint8_t', and adjust `padding9' accordingly.
17006
17007 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17008
17009 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
17010
17011 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
17012 assembly in final jump, using register constraints.
17013
17014 (grub_linux_boot): For text mode, initialize `have_vga' using
17015 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
17016
17017 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
17018 right before the final jump.
17019
17020 Set `video_mode' to 0x3.
17021
17022 Document initialization of `video_page', `video_mode' and
17023 `video_ega_bx'.
17024
17025 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17026
17027 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
17028 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
17029 and set GRUB_LINUX_FLAG_QUIET appropriately.
17030
17031 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17032
17033 Fix build on Debian / sparc.
17034
17035 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
17036
17037 2009-06-28 Pavel Roskin <proski@gnu.org>
17038
17039 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
17040 fix a warning.
17041
17042 * util/grub.d/10_linux.in: Match SUSE style initrd names.
17043
17044 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17045
17046 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
17047 `err'.
17048
17049 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17050
17051 Revert r2338.
17052
17053 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
17054 file can't be opened. grub_file_open() is already supposed to set
17055 grub_errno / grub_errmsg appropriately.
17056 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17057
17058 2009-06-27 Pavel Roskin <proski@gnu.org>
17059 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17060
17061 * include/grub/dl.h: Include grub/elf.h.
17062 (struct grub_dl): Add symtab field.
17063 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
17064 GRUB_MODULES_MACHINE_READONLY.
17065 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
17066 of the header for read-only modules.
17067 (grub_dl_unload): Free mod->symtab for read-only modules.
17068 * kern/i386/dl.c: Use mod->symtab.
17069 * kern/powerpc/dl.c: Likewise.
17070 * kern/sparc64/dl.c: Likewise.
17071 * kern/x86_64/dl.c: Likewise.
17072
17073 * conf/i386-qemu.rmk: New file.
17074 * kern/i386/qemu/startup.S: Likewise.
17075 * kern/i386/qemu/mmap.c: Likewise.
17076 * boot/i386/qemu/boot.S: Likewise.
17077 * include/grub/i386/qemu/time.h: Likewise.
17078 * include/grub/i386/qemu/serial.h: Likewise.
17079 * include/grub/i386/qemu/kernel.h: Likewise.
17080 * include/grub/i386/qemu/console.h: Likewise.
17081 * include/grub/i386/qemu/boot.h: Likewise.
17082 * include/grub/i386/qemu/init.h: Likewise.
17083 * include/grub/i386/qemu/machine.h: Likewise.
17084 * include/grub/i386/qemu/loader.h: Likewise.
17085 * include/grub/i386/qemu/memory.h: Likewise.
17086
17087 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
17088 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
17089 [qemu] (pkglib_IMAGES): Add `boot.img'.
17090 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
17091 [qemu] (boot_img_FORMAT): New variables.
17092 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
17093 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
17094 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
17095 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17096 [qemu] (kernel_img_FORMAT): New variables.
17097
17098 * configure.ac: Recognise `i386-qemu'.
17099
17100 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
17101 (for no compression).
17102 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
17103 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
17104 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
17105 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
17106 ifdefs).
17107
17108 2009-06-27 Pavel Roskin <proski@gnu.org>
17109
17110 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
17111 read.
17112 * efiemu/prepare32.c: Likewise.
17113 * efiemu/prepare64.c: Likewise.
17114
17115 2009-06-26 Pavel Roskin <proski@gnu.org>
17116
17117 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
17118 * include/grub/elf.h: Define symbols without "32" or "64" based
17119 on GRUB_TARGET_WORDSIZE.
17120 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
17121 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
17122 ELF definitions.
17123 * efiemu/loadcore64.c: Likewise.
17124 * loader/i386/bsd32.c: Likewise.
17125 * loader/i386/bsd64.c: Likewise.
17126 * kern/dl.c: Remove own ELF definitions.
17127 * util/i386/efi/grub-mkimage.c: Likewise.
17128
17129 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
17130
17131 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
17132 segment 0x0 unconditionally, because the reference generated by
17133 GAS is an absolute address.
17134
17135 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17136
17137 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
17138 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
17139
17140 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17141
17142 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
17143 indexes. Check for -f explicitly.
17144 (search_file): Improve error message.
17145 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
17146
17147 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17148
17149 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
17150 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
17151
17152 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17153
17154 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
17155 * conf/i386-ieee1275.rmk: Likewise.
17156 * conf/i386-coreboot.rmk: Likewise.
17157
17158 * kern/i386/pc/startup.S (grub_stop): Remove function.
17159 * kern/i386/ieee1275/startup.S: Likewise.
17160 * kern/i386/coreboot/startup.S: Likewise.
17161 * kern/i386/misc.S (grub_stop): New function.
17162
17163 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17164
17165 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
17166 * kern/i386/realmode.S (real_to_prot): ... to here.
17167
17168 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17169
17170 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
17171 with `kernel.img'.
17172 (kernel_elf_SOURCES): Rename to ...
17173 (kernel_img_SOURCES): ... this.
17174 (kernel_elf_HEADERS): Rename to ...
17175 (kernel_img_HEADERS): ... this. Update all users.
17176 (kernel_elf_ASFLAGS): Rename to ...
17177 (kernel_img_ASFLAGS): ... this.
17178 (kernel_elf_CFLAGS): Rename to ...
17179 (kernel_img_CFLAGS): ... this.
17180 (kernel_elf_LDFLAGS): Rename to ...
17181 (kernel_img_LDFLAGS): ... this.
17182 * conf/i386-coreboot.rmk: Likewise.
17183 * conf/powerpc-ieee1275.rmk: Likewise.
17184
17185 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
17186 with "kernel.img".
17187
17188 2009-06-21 Pavel Roskin <proski@gnu.org>
17189
17190 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
17191 to match nested functions.
17192 * loader/sparc64/ieee1275/linux.c: Likewise.
17193
17194 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
17195
17196 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17197
17198 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
17199 all i386 platforms.
17200
17201 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17202
17203 Fix asm file handling on ELF, and remove workarounds.
17204
17205 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
17206 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
17207 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
17208 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
17209
17210 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
17211
17212 Load BSD ELF modules
17213
17214 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
17215 and loader/i386/bsd64.c
17216 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
17217 (FREEBSD_MODTYPE_ELF_MODULE): New definition
17218 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
17219 (grub_freebsd_load_elfmodule32): New declaration
17220 (grub_freebsd_load_elfmoduleobj64): Likewise
17221 (grub_freebsd_load_elf_meta32): Likewise
17222 (grub_freebsd_load_elf_meta64): Likewise
17223 (grub_freebsd_add_meta): Likewise
17224 (grub_freebsd_add_meta_module): Likewise
17225 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
17226 (grub_freebsd_add_meta_module): Likewise and move module-specific
17227 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
17228 (grub_cmd_freebsd): Add elf-kernel specific parts
17229 based on grub_freebsd_add_meta_module
17230 (grub_cmd_freebsd_module): Add type parsing moved from
17231 grub_freebsd_add_meta_module
17232 (grub_cmd_freebsd_module_elf): New function
17233 (cmd_freebsd_module_elf): New variable
17234 (GRUB_MOD_INIT): Register freebsd_module_elf
17235 * loader/i386/bsd32.c: New file
17236 * loader/i386/bsd64.c: Likewise
17237 * loader/i386/bsdXX.c: Likewise
17238 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
17239 (grub_elf64_load): Likewise
17240 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
17241 All users updated
17242 (grub_elf64_load_hook_t): Likewise
17243
17244 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
17245
17246 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
17247 variable.
17248 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
17249 don't write a menu entry for recovery mode.
17250
17251 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17252
17253 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
17254 after it's no longer needed.
17255
17256 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17257
17258 * include/grub/i386/loader.h (grub_linux_prot_size)
17259 (grub_linux_tmp_addr, grub_linux_real_addr)
17260 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
17261 GRUB_MACHINE_PCBIOS.
17262 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
17263 common grub_util_info() call to ...
17264 (generate_image): ... here.
17265 Fix use of uninitialized memory, comparison of signed with
17266 unsigned integers and memory leak.
17267 Remove bogus module address message.
17268
17269 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17270
17271 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
17272 grub_raid_register
17273 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
17274
17275 2009-06-19 Pavel Roskin <proski@gnu.org>
17276
17277 * configure.ac: Remove stray AC_MSG_CHECKING.
17278
17279 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
17280
17281 * disk/scsi.c (grub_scsi_open): use continue instead of big if
17282
17283 2009-06-18 Pavel Roskin <proski@gnu.org>
17284
17285 * conf/common.rmk: Add fs_file.mod.
17286 * disk/fs_file.c: New file.
17287 * include/grub/disk.h (enum grub_disk_dev_id): Add
17288 GRUB_DISK_DEVICE_FILE_ID.
17289
17290 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17291
17292 Fix build with Apple's toolchain. Part 2
17293
17294 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
17295 a fake start
17296
17297 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17298
17299 Fix build with Apple's toolchain. Part 1
17300
17301 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
17302 for long calls
17303 * configure.ac: remove a leftover AC_MSG_RESULT
17304 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
17305 Apple's toolchain
17306
17307 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17308
17309 Fix warnings
17310
17311 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
17312 (decomp_block): initialize ch
17313 use grub_memcpy instead of memcpy
17314
17315 2009-06-17 Pavel Roskin <proski@gnu.org>
17316
17317 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
17318 version, use declarations needed to use vga_text as the startup
17319 console.
17320
17321 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
17322 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
17323 the kernel.
17324 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
17325 and grub_at_keyboard_fini(), it's done on module load and
17326 unload.
17327
17328 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
17329
17330 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
17331 file can't be found.
17332 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17333
17334 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17335
17336 Fix newline handling
17337
17338 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
17339 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
17340 (grub_script_yylex): don't segfault on unterminated script
17341 newline terminates command and variable
17342
17343 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17344
17345 avoid double grub_adjust_range call. Bug reported by David Simner
17346
17347 * kern/disk.c (grub_disk_write): change to raw disk access before
17348 calling disk_read
17349
17350 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
17351
17352 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
17353 spaces, for the benefit of help2man.
17354 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17355
17356 2009-06-16 Pavel Roskin <proski@gnu.org>
17357
17358 * kern/i386/halt.c: Include grub/machine/init.h.
17359 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
17360
17361 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
17362
17363 * util/grub.d/30_os-prober.in: Use ${root} in the generated
17364 drivemap menuentry.
17365
17366 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
17367
17368 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
17369 `echo' command.
17370
17371 2009-06-16 Pavel Roskin <proski@gnu.org>
17372
17373 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
17374 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
17375 save %dx, we only need %dl and we never change it.
17376 * boot/i386/pc/cdboot.S: Don't set the root drive.
17377 * boot/i386/pc/pxeboot.S: Likewise.
17378 * include/grub/i386/pc/boot.h: Remove
17379 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
17380 GRUB_BOOT_MACHINE_DRIVE_CHECK.
17381 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
17382 * kern/i386/pc/init.c (make_install_device): Remove references
17383 to grub_root_drive.
17384 * kern/i386/pc/startup.S: Likewise.
17385 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
17386
17387 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17388
17389 xnu_uuid command
17390
17391 * commands/xnu_uuid.c: new file
17392 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
17393 (xnu_uuid_mod_SOURCES): new variable
17394 (xnu_uuid_mod_CFLAGS): likewise
17395 (xnu_uuid_mod_LDFLAGS): likewise
17396 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17397 * conf/i386-ieee1275.rmk: likewise
17398 * conf/i386-pc.rmk: likewise
17399 * conf/powerpc-ieee1275.rmk: likewise
17400 * conf/sparc64-ieee1275.rmk: likewise
17401 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
17402
17403 2009-06-16 Pavel Roskin <proski@gnu.org>
17404
17405 * configure.ac: Avoid '==' in test command, it's not portable.
17406
17407 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17408
17409 Probe command
17410
17411 * commands/probe.c: new file
17412 * conf/common.rmk (pkglib_MODULES): add probe.mod
17413 (probe_mod_SOURCES): new variable
17414 (probe_mod_CFLAGS): likewise
17415 (probe_mod_LDFLAGS): likewise
17416 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17417 * conf/i386-ieee1275.rmk: likewise
17418 * conf/i386-pc.rmk: likewise
17419 * conf/powerpc-ieee1275.rmk: likewise
17420 * conf/sparc64-ieee1275.rmk: likewise
17421
17422 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
17423
17424 Fix handling of string like \"hello\" and "a
17425 b"
17426
17427 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
17428 (grub_script_yylex): fix parsing of quoting, escaping and newline
17429
17430 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
17431
17432 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
17433 handling
17434
17435 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
17436
17437 * util/grub-mkconfig.in: Fix parsing of --output option.
17438
17439 2009-06-12 Pavel Roskin <proski@gnu.org>
17440
17441 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
17442 genmk.rb don't need to be generated or installed.
17443
17444 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17445
17446 * commands/i386/pc/drivemap_int13h.S: add more comments
17447
17448 2009-06-11 Pavel Roskin <proski@gnu.org>
17449
17450 * Makefile.in (uninstall): Uninstall manuals.
17451
17452 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
17453 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
17454 and update-grub_lib in two places.
17455 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
17456
17457 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
17458 a compiler warning.
17459
17460 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
17461 `entry_lo' to fix variable shadowing.
17462
17463 2009-06-11 Christian Franke <franke@computer.org>
17464
17465 * kern/misc.c (__enable_execute_stack): Add missing return type
17466 to prevent gcc warning.
17467
17468 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17469
17470 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
17471
17472 2009-06-11 Pavel Roskin <proski@gnu.org>
17473
17474 * Makefile.in: Don't rely on any scripts being executable.
17475 Always use $(SHELL) to run shell scripts.
17476
17477 * configure.ac: Always define ___main if using -nostdlib. This
17478 fixes tests on Cygwin.
17479
17480 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
17481
17482 UDF fix
17483
17484 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
17485 is in bytes and not in blocks
17486
17487 2009-06-11 Pavel Roskin <proski@gnu.org>
17488
17489 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
17490 warning.
17491
17492 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17493
17494 * util/grub.d/30_os-prober.in: Fix a comment. Source
17495 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
17496 to set the root device. Place drivemap command in the generated
17497 chain entry.
17498
17499 2009-06-11 Pavel Roskin <proski@gnu.org>
17500
17501 * configure.ac: Remove host_m32. Issues with 64-bit utilities
17502 have long been resolved.
17503
17504 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
17505
17506 * util/grub.d/10_linux.in: Capitalise "Linux".
17507
17508 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
17509
17510 2009-06-11 Pavel Roskin <proski@gnu.org>
17511
17512 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
17513 fix a gcc warning and ensure that the function won't ever exit.
17514
17515 * kern/i386/ieee1275/init.c: Add missing prototype for
17516 grub_stop_floppy().
17517
17518 * loader/ieee1275/multiboot2.c [__i386__]: Include
17519 grub/cpu/multiboot.h.
17520
17521 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
17522 casts to short - they are not portable and cause warnings. Fix
17523 use of uninitialized values in input_buf. Use ARRAY_SIZE.
17524
17525 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
17526
17527 Drivemap fixes
17528
17529 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
17530 new function
17531 (grub_get_root_biosnumber_saved): new variable
17532 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
17533 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
17534 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
17535 %dx after the call if necessary
17536 * conf/common.rmk (pkglib_MODULES): remove boot.mod
17537 (boot_mod_SOURCES): remove
17538 (boot_mod_CFLAGS): remove
17539 (boot_mod_LDFLAGS): remove
17540 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
17541 (boot_mod_SOURCES): new variable
17542 (boot_mod_CFLAGS): likewise
17543 (boot_mod_LDFLAGS): likewise
17544 * conf/i386-efi.rmk: likewise
17545 * conf/i386-ieee1275.rmk: likewise
17546 * conf/i386-pc.rmk: likewise
17547 * conf/powerpc-ieee1275.rmk: likewise
17548 * conf/sparc64-ieee1275.rmk: likewise
17549 * conf/x86_64-efi.rmk: likewise
17550 * include/grub/i386/pc/biosnum.h: new file
17551 * lib/i386/pc/biosnum.c: likewise
17552 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
17553 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
17554 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
17555
17556 2009-06-10 Pavel Roskin <proski@gnu.org>
17557
17558 * io/gzio.c (test_header): Don't reuse one buffer for all data.
17559 Use separate variables. Read only the file size at the end, but
17560 not the checksum that we don't use.
17561
17562 * kern/file.c (grub_file_read): Use void pointer for the buffer.
17563 Adjust all callers.
17564
17565 * kern/ieee1275/openfw.c: Remove libc includes.
17566 * kern/ieee1275/cmain.c: Likewise.
17567 * include/grub/ieee1275/ieee1275.h: Likewise.
17568
17569 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
17570 compiler warnings.
17571
17572 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17573
17574 * Makefile.in: Remove all trailing whitespace.
17575 * conf/i386-pc.rmk: Likewise.
17576 * conf/powerpc-ieee1275.rmk: Likewise.
17577 * conf/sparc64-ieee1275.rmk: Likewise.
17578 * docs/grub.texi: Likewise.
17579 * docs/texinfo.tex: Likewise.
17580 * disk/fs_uuid.c: Likewise.
17581 * disk/lvm.c: Likewise.
17582 * disk/scsi.c: Likewise.
17583 * disk/ata.c: Likewise.
17584 * disk/ieee1275/ofdisk.c: Likewise.
17585 * disk/i386/pc/biosdisk.c: Likewise.
17586 * disk/host.c: Likewise.
17587 * disk/raid.c: Likewise.
17588 * disk/efi/efidisk.c: Likewise.
17589 * disk/usbms.c: Likewise.
17590 * disk/memdisk.c: Likewise.
17591 * disk/loopback.c: Likewise.
17592 * kern/powerpc/dl.c: Likewise.
17593 * kern/device.c: Likewise.
17594 * kern/dl.c: Likewise.
17595 * kern/sparc64/dl.c: Likewise.
17596 * kern/ieee1275/ieee1275.c: Likewise.
17597 * kern/term.c: Likewise.
17598 * kern/fs.c: Likewise.
17599 * kern/i386/dl.c: Likewise.
17600 * kern/i386/pc/startup.S: Likewise.
17601 * kern/i386/pc/init.c: Likewise.
17602 * kern/i386/pc/mmap.c: Likewise.
17603 * kern/i386/pc/lzo1x.S: Likewise.
17604 * kern/i386/ieee1275/init.c: Likewise.
17605 * kern/i386/realmode.S: Likewise.
17606 * kern/i386/tsc.c: Likewise.
17607 * kern/partition.c: Likewise.
17608 * kern/corecmd.c: Likewise.
17609 * kern/file.c: Likewise.
17610 * kern/efi/efi.c: Likewise.
17611 * kern/efi/init.c: Likewise.
17612 * kern/efi/mm.c: Likewise.
17613 * kern/main.c: Likewise.
17614 * kern/err.c: Likewise.
17615 * kern/env.c: Likewise.
17616 * kern/disk.c: Likewise.
17617 * kern/generic/millisleep.c: Likewise.
17618 * kern/generic/rtc_get_time_ms.c: Likewise.
17619 * kern/misc.c: Likewise.
17620 * kern/parser.c: Likewise.
17621 * genmk.rb: Likewise.
17622 * configure.ac: Likewise.
17623 * boot/i386/pc/diskboot.S: Likewise.
17624 * boot/i386/pc/pxeboot.S: Likewise.
17625 * boot/i386/pc/boot.S: Likewise.
17626 * boot/i386/pc/lnxboot.S: Likewise.
17627 * boot/i386/pc/cdboot.S: Likewise.
17628 * parttool/pcpart.c: Likewise.
17629 * video/readers/tga.c: Likewise.
17630 * video/video.c: Likewise.
17631 * video/bitmap.c: Likewise.
17632 * lib/envblk.c: Likewise.
17633 * lib/i386/setjmp.S: Likewise.
17634 * fs/xfs.c: Likewise.
17635 * fs/afs.c: Likewise.
17636 * fs/fat.c: Likewise.
17637 * fs/ntfs.c: Likewise.
17638 * fs/udf.c: Likewise.
17639 * fs/affs.c: Likewise.
17640 * fs/iso9660.c: Likewise.
17641 * fs/hfs.c: Likewise.
17642 * fs/fshelp.c: Likewise.
17643 * fs/ext2.c: Likewise.
17644 * fs/jfs.c: Likewise.
17645 * fs/reiserfs.c: Likewise.
17646 * fs/hfsplus.c: Likewise.
17647 * fs/minix.c: Likewise.
17648 * fs/cpio.c: Likewise.
17649 * fs/sfs.c: Likewise.
17650 * fs/ufs.c: Likewise.
17651 * efiemu/prepare.c: Likewise.
17652 * efiemu/loadcore_common.c: Likewise.
17653 * efiemu/runtime/efiemu.sh: Likewise.
17654 * efiemu/runtime/efiemu.S: Likewise.
17655 * efiemu/runtime/efiemu.c: Likewise.
17656 * efiemu/pnvram.c: Likewise.
17657 * efiemu/main.c: Likewise.
17658 * efiemu/i386/pc/cfgtables.c: Likewise.
17659 * efiemu/i386/loadcore64.c: Likewise.
17660 * efiemu/i386/loadcore32.c: Likewise.
17661 * efiemu/loadcore.c: Likewise.
17662 * efiemu/symbols.c: Likewise.
17663 * efiemu/mm.c: Likewise.
17664 * include/grub/autoefi.h: Likewise.
17665 * include/grub/datetime.h: Likewise.
17666 * include/grub/term.h: Likewise.
17667 * include/grub/hfs.h: Likewise.
17668 * include/grub/lvm.h: Likewise.
17669 * include/grub/i386/tsc.h: Likewise.
17670 * include/grub/i386/linux.h: Likewise.
17671 * include/grub/i386/xnu.h: Likewise.
17672 * include/grub/i386/efiemu.h: Likewise.
17673 * include/grub/i386/pc/biosdisk.h: Likewise.
17674 * include/grub/i386/pc/memory.h: Likewise.
17675 * include/grub/i386/pc/vbe.h: Likewise.
17676 * include/grub/parttool.h: Likewise.
17677 * include/grub/video.h: Likewise.
17678 * include/grub/memory.h: Likewise.
17679 * include/grub/fs.h: Likewise.
17680 * include/grub/partition.h: Likewise.
17681 * include/grub/xnu.h: Likewise.
17682 * include/grub/efi/api.h: Likewise.
17683 * include/grub/efi/pe32.h: Likewise.
17684 * include/grub/efi/memory.h: Likewise.
17685 * include/grub/multiboot.h: Likewise.
17686 * include/grub/usbdesc.h: Likewise.
17687 * include/grub/multiboot2.h: Likewise.
17688 * include/grub/acpi.h: Likewise.
17689 * include/grub/efiemu/efiemu.h: Likewise.
17690 * include/grub/disk.h: Likewise.
17691 * include/grub/ieee1275/ieee1275.h: Likewise.
17692 * include/grub/net.h: Likewise.
17693 * include/grub/machoload.h: Likewise.
17694 * include/grub/macho.h: Likewise.
17695 * include/multiboot.h: Likewise.
17696 * genmoddep.awk: Likewise.
17697 * normal/main.c: Likewise.
17698 * normal/menu_entry.c: Likewise.
17699 * normal/menu_viewer.c: Likewise.
17700 * normal/completion.c: Likewise.
17701 * normal/cmdline.c: Likewise.
17702 * normal/misc.c: Likewise.
17703 * normal/datetime.c: Likewise.
17704 * bus/usb/usbtrans.c: Likewise.
17705 * bus/usb/ohci.c: Likewise.
17706 * bus/usb/uhci.c: Likewise.
17707 * bus/usb/usb.c: Likewise.
17708 * mmap/efi/mmap.c: Likewise.
17709 * mmap/i386/pc/mmap_helper.S: Likewise.
17710 * mmap/i386/pc/mmap.c: Likewise.
17711 * mmap/i386/mmap.c: Likewise.
17712 * mmap/i386/uppermem.c: Likewise.
17713 * mmap/mmap.c: Likewise.
17714 * commands/acpi.c: Likewise.
17715 * commands/echo.c: Likewise.
17716 * commands/blocklist.c: Likewise.
17717 * commands/loadenv.c: Likewise.
17718 * commands/usbtest.c: Likewise.
17719 * commands/boot.c: Likewise.
17720 * commands/parttool.c: Likewise.
17721 * commands/search.c: Likewise.
17722 * commands/cat.c: Likewise.
17723 * commands/i386/pc/play.c: Likewise.
17724 * commands/i386/pc/drivemap.c: Likewise.
17725 * commands/i386/pc/vbeinfo.c: Likewise.
17726 * commands/i386/pc/acpi.c: Likewise.
17727 * commands/i386/pc/vbetest.c: Likewise.
17728 * commands/ls.c: Likewise.
17729 * commands/cmp.c: Likewise.
17730 * commands/test.c: Likewise.
17731 * commands/efi/acpi.c: Likewise.
17732 * commands/gptsync.c: Likewise.
17733 * commands/help.c: Likewise.
17734 * partmap/amiga.c: Likewise.
17735 * partmap/apple.c: Likewise.
17736 * partmap/acorn.c: Likewise.
17737 * partmap/pc.c: Likewise.
17738 * partmap/sun.c: Likewise.
17739 * partmap/gpt.c: Likewise.
17740 * script/sh/lexer.c: Likewise.
17741 * script/sh/function.c: Likewise.
17742 * font/font.c: Likewise.
17743 * font/font_cmd.c: Likewise.
17744 * loader/powerpc/ieee1275/linux.c: Likewise.
17745 * loader/efi/chainloader.c: Likewise.
17746 * loader/multiboot_loader.c: Likewise.
17747 * loader/macho.c: Likewise.
17748 * loader/i386/multiboot.c: Likewise.
17749 * loader/i386/linux.c: Likewise.
17750 * loader/i386/pc/linux.c: Likewise.
17751 * loader/i386/pc/multiboot2.c: Likewise.
17752 * loader/i386/pc/chainloader.c: Likewise.
17753 * loader/i386/pc/xnu.c: Likewise.
17754 * loader/i386/bsd_trampoline.S: Likewise.
17755 * loader/i386/efi/linux.c: Likewise.
17756 * loader/i386/multiboot_elfxx.c: Likewise.
17757 * loader/i386/bsd_helper.S: Likewise.
17758 * loader/i386/bsd.c: Likewise.
17759 * loader/i386/linux_trampoline.S: Likewise.
17760 * loader/i386/xnu_helper.S: Likewise.
17761 * loader/i386/xnu.c: Likewise.
17762 * loader/i386/bsd_pagetable.c: Likewise.
17763 * loader/i386/multiboot_helper.S: Likewise.
17764 * loader/xnu.c: Likewise.
17765 * loader/xnu_resume.c: Likewise.
17766 * io/gzio.c: Likewise.
17767 * term/efi/console.c: Likewise.
17768 * term/terminfo.c: Likewise.
17769 * term/ieee1275/ofconsole.c: Likewise.
17770 * term/i386/pc/serial.c: Likewise.
17771 * term/i386/pc/vesafb.c: Likewise.
17772 * term/i386/pc/vga.c: Likewise.
17773 * term/usb_keyboard.c: Likewise.
17774 * term/gfxterm.c: Likewise.
17775 * aclocal.m4: Likewise.
17776 * util/lvm.c: Likewise.
17777 * util/grub.d/30_os-prober.in: Likewise.
17778 * util/grub.d/10_hurd.in: Likewise.
17779 * util/console.c: Likewise.
17780 * util/grub-macho2img.c: Likewise.
17781 * util/grub-probe.c: Likewise.
17782 * util/hostfs.c: Likewise.
17783 * util/i386/pc/grub-mkimage.c: Likewise.
17784 * util/i386/pc/grub-setup.c: Likewise.
17785 * util/i386/efi/grub-mkimage.c: Likewise.
17786 * util/grub-mkconfig.in: Likewise.
17787 * util/raid.c: Likewise.
17788 * util/resolve.c: Likewise.
17789 * util/grub-mkdevicemap.c: Likewise.
17790 * util/grub-emu.c: Likewise.
17791 * util/getroot.c: Likewise.
17792 * util/hostdisk.c: Likewise.
17793 * util/usb.c: Likewise.
17794 * util/grub-editenv.c: Likewise.
17795 * util/misc.c: Likewise.
17796
17797 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17798
17799 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
17800 `genparttoollist.sh'.
17801 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
17802 Add `*.sh' to the list find searches for and change `mdate.sh'
17803 to `mdate-sh'.
17804
17805 2009-06-10 Pavel Roskin <proski@gnu.org>
17806
17807 * include/grub/multiboot2.h: Provide compatibility defines for
17808 multiboot2.h.
17809 * include/multiboot2.h: Include stdint.h only if needed, using
17810 angle brackets.
17811 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
17812 grub/multiboot2.h.
17813 * loader/ieee1275/multiboot2.c: Likewise.
17814 * loader/multiboot2.c: Likewise.
17815 * loader/multiboot_loader.c: Likewise.
17816
17817 * configure.ac: Use -nostdlib when probing for the target. It
17818 should not be required to have libc for the target.
17819
17820 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
17821 they fail without libc headers for the target.
17822 * include/grub/powerpc/libgcc.h: Use weak attribute for all
17823 exports.
17824 * include/grub/sparc64/libgcc.h: Likewise. Don't use
17825 preprocessor conditionals.
17826
17827 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
17828 build system doesn't need to be aware of the tar.c internals.
17829
17830 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
17831
17832 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
17833
17834 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
17835
17836 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
17837 disk limit to 26 for IDE, Virtio, Xen and SCSI.
17838
17839 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
17840
17841 * util/i386/pc/grub-install.in: Change the error message if UUIDs
17842 aren't available if ata.mod gets used.
17843
17844 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
17845
17846 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
17847 initialising controller.
17848 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17849
17850 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17851
17852 * util/i386/pc/grub-install.in: Add a parameter --disk-module
17853 to choose between ata and biosdisk module on i386-pc.
17854
17855 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
17856
17857 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
17858 Subclass and Programming Interface fields in terms of the 3 byte
17859 Class Code register.
17860 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17861
17862 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
17863 interface is OHCI. Add grub_dprintf for symmetry with
17864 bus/usb/uhci.c.
17865 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
17866 interface is UHCI. Add interf variable for programming
17867 interface. Print interface with class/subclass.
17868
17869 * bus/usb/ohci.c: Set interf with correct field.
17870
17871 * bus/usb/uhci.c: Remove unneeded doubled lines.
17872 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
17873 Remove whitespace inside comment.
17874
17875 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
17876
17877 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
17878 as fallback an equivalent option without depth.
17879
17880 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17881
17882 Not fail if unable to retrieve C/H/S on LBA disks
17883
17884 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
17885 if unable to retrieve C/H/S on LBA disks
17886
17887 2009-06-08 Pavel Roskin <proski@gnu.org>
17888
17889 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
17890 about aliasing.
17891
17892 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17893
17894 * Makefile.in (uninstall): Remove all $lib_DATA files.
17895
17896 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17897
17898 Bugfix: install on partitionless device
17899
17900 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
17901 is a whole disk
17902
17903 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17904
17905 * Makefile.in (uninstall): Remove all $include_DATA files.
17906
17907 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17908
17909 * commands/true.c: New file. Implement the true and false commands.
17910 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
17911 (true_mod_SOURCES): New variable.
17912 (true_mod_CFLAGS): Likewise.
17913 (true_mod_LDFLAGS): Likewise.
17914
17915 2009-06-05 Colin D Bennett <colin@gibibit.com>
17916
17917 Optimized font character lookup using binary search instead of linear
17918 search. Fonts now are required to have the character index ordered by
17919 code point.
17920
17921 * font/font.c (load_font_index): Verify that fonts have ordered
17922 character indices.
17923 (find_glyph): Use binary search instead of linear search to find a
17924 character in a font.
17925
17926 2009-06-05 Michael Scherer <misc@mandriva.org>
17927
17928 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
17929 uses case sensitive btree.
17930 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
17931 only for case insensitive filesystems.
17932
17933 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
17934
17935 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
17936 * conf/common.rmk (search_mod_CFLAGS): likewise
17937
17938 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17939
17940 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
17941 compensate a compiler bug
17942
17943 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17944
17945 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
17946 instead of '\b'
17947
17948 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17949
17950 Definitions for creating asm symbols with Apple's CC
17951
17952 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
17953 [APPLE_CC] (VARIABLE): likewise
17954
17955 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17956
17957 Disable lnxboot.img when compiled
17958 with Apple's CC
17959
17960 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
17961 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
17962 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
17963 [! APPLE_CC] (CODE_LENG): skip
17964 [! APPLE_CC] (setup_sects): likewise
17965 [! APPLE_CC]: skip filling
17966
17967 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17968
17969 Address in trampolines based on 32-bit registers when compiled
17970 with Apple's CC
17971
17972 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
17973 for addresses
17974 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
17975
17976 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17977
17978 Avoid aliases when compiling with Apple's CC for PCBIOS machine
17979
17980 * kern/misc.c [APPLE_CC] (memcpy): new function
17981 [APPLE_CC] (memmove): likewise
17982 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
17983 (memcpy): define alias conditionally on !APPLE_CC
17984 (memset): likewise
17985 (abort): likewise
17986 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
17987 APPLE_CC are defined
17988 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
17989 (grub_assert_fail): make prototype conditional
17990
17991 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
17994
17995 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
17996 grub-macho2img
17997 (CLEANFILES): add grub-macho2img
17998 (grub_macho2img_SOURCES): new variable
17999 * kern/i386/pc/startup.S (bss_start): new variable
18000 (bss_end): likewise
18001 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
18002 * util/grub-macho2img.c: new file
18003
18004 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18005
18006 Use objconv when compiling with Apple's CC
18007
18008 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
18009 (efiemu64.o): likewise
18010 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
18011 when compiling with Apple's CC
18012 (efiemu64_s.o): likewise
18013 * configure.ac: check for objconv when compiling with Apple's CC
18014 * genmk.rb: use objconv for modules when compiled with Apple's CC
18015
18016 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18017
18018 Define segment as well as section when compiling with
18019 Apple's CC
18020
18021 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
18022 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
18023 (efiemu_convert_pointer): likewise
18024 (efiemu_set_virtual_address_map): likewise
18025 (efiemu_convert_pointer): likewise
18026 (efiemu_getcrc32): likewise
18027 (init_crc32_table): likewise
18028 (reflect): likewise
18029 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
18030 (GRUB_MOD_DEP): likewise
18031
18032 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 Allow a compilation without -mcmodel=large
18035
18036 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
18037 when compiled without -mcmodel=large
18038 (filter_memory_map): remove memory post 4 GiB when compiled
18039 without -mcmodel=large
18040 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
18041 TARGET_CFLAGS when -mcmodel=large isn't supported
18042
18043 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 Remove nested functions in efiemu core
18046
18047 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
18048
18049 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18050
18051 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
18052
18053 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
18054 temporary storage
18055 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
18056 using Apple's CC
18057 (grub_cpu_is_tsc_supported): likewise
18058 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
18059
18060 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18061
18062 Absolute addressing through constant with Apple's cc
18063
18064 * kern/i386/pc/startup.S: Define necessary constants
18065 and address through it when using ABS with Apple's CC
18066 * boot/i386/pc/diskboot.S: likewise
18067 * boot/i386/pc/boot.S: likewise
18068 * boot/i386/pc/lnxboot.S: likewise
18069 * boot/i386/pc/cdboot.S: likewise
18070 * mmap/i386/pc/mmap_helper.S: likewise
18071 * commands/i386/pc/drivemap_int13h.S: likewise
18072
18073 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18074
18075 Check if compiler is apple cc
18076
18077 * Makefile.in (ASFLAGS): new variable
18078 (TARGET_ASFLAGS): likewise
18079 (TARGET_MODULE_FORMAT): likewise
18080 (TARGET_APPLE_CC): likewise
18081 (OBJCONV): likewise
18082 (TARGET_IMG_CFLAGS): likewise
18083 (TARGET_CPPFLAGS): add includedir
18084 * configure.ac: call grub_apple_cc and grub_apple_target_cc
18085 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
18086 Check for linker script only if compiler isn't Apple's CC
18087 (TARGET_MODULE_FORMAT): set
18088 (TARGET_APPLE_CC): likewise
18089 (TARGET_ASFLAGS): likewise
18090 (ASFLAGS): likewise
18091 Check for objcopy only if compiler isn't Apple's CC
18092 Check for BSS symbol only if compiler isn't Apple's CC
18093 * genmk.rb: adapt nm options if we use Apple's utils
18094 * aclocal.m4 (grub_apple_cc): new test
18095 (grub_apple_target_cc): likewise
18096
18097 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18098
18099 Simplify sed expressions and improve awk
18100
18101 * Makefile.in (install-local): simplify sed expression
18102 * gencmdlist.sh: likewise
18103 * genmoddep.awk: avoid adding module as a dependency of itself
18104
18105 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18106
18107 Add missing start symbols
18108
18109 * boot/i386/pc/boot.S: add start
18110 * boot/i386/pc/pxeboot.S: likewise
18111
18112 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18113
18114 Fix wrong assumptions with grub-mkimage on EFI
18115
18116 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
18117 (relocate_addresses): consider both r_addend and value at offset
18118 (make_mods_section): zerofill modinfo and header
18119 (convert_elf): write prefix here
18120
18121 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18122
18123 Use .asciz instead of .string
18124
18125 * i386/pc/diskboot.S: use .asciz instead of .string
18126 * i386/pc/boot.S: likewise
18127 * include/grub/dl.h (GRUB_MOD_DEP): likewise
18128 (GRUB_MOD_NAME): likewise
18129
18130 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18131
18132 gfxpayload support
18133
18134 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
18135 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
18136 (grub_video_setup): remove
18137 (grub_video_set_mode): new prototype
18138 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
18139 (vid_mode): remove
18140 (linux_vesafb_res): compile only on PCBIOS
18141 (grub_linux_boot): support gfxpayload
18142 * loader/i386/pc/xnu.c (video_hook): new function
18143 (grub_xnu_set_video): support gfxpayload
18144 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
18145 (DEFAULT_VIDEO_HEIGHT): likewise
18146 (DEFAULT_VIDEO_FLAGS): likewise
18147 (DEFAULT_VIDEO_MODE): new definition
18148 (video_hook): new function
18149 (grub_gfxterm_init): use grub_video_set_mode
18150 * util/grub.d/30_os-prober.in: remove explicit modesetting before
18151 loading xnu
18152 * video/video.c (grub_video_setup): removed
18153 (grub_video_set_mode): new function based on grub_gfxterm_init and
18154 grub_video_setup
18155
18156 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18157
18158 Avoid calling biosdisk in drivemap
18159
18160 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
18161 (revparse_biosdisk): likewise
18162 (list_mappings): derive name from id directly
18163 (grub_cmd_drivemap): use tryparse_diskstring
18164
18165 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18166
18167 Script fixes
18168
18169 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
18170 (grub_lexer_param): add tokenonhold
18171 (grub_script_create_cmdline): remove cmdline. All callers updated
18172 (grub_script_function_create): make functionname
18173 grub_script_arg. All callers updated
18174 (grub_script_execute_argument_to_string): new prototype
18175 * kern/parser.c (state_transitions): reorder
18176 (grub_parser_cmdline_state): fix a bug and make more compact
18177 * script/sh/execute.c (grub_script_execute_argument_to_string):
18178 make global
18179 (grub_script_execute_cmdline): use new format
18180 * script/sh/function.c (grub_script_function_create): make functionname
18181 grub_script_arg. All callers updated
18182 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
18183 (grub_script_yylex): remove
18184 (grub_script_yylex2): renamed to ...
18185 (grub_script_yylex): ...renamed
18186 parse the expressions like a${b}c
18187 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
18188 (GRUB_PARSER_TOKEN_VAR): remove
18189 (GRUB_PARSER_TOKEN_NAME): likewise
18190 ("if"): declare as typeless
18191 ("while"): likewise
18192 ("function"): likewise
18193 ("else"): likewise
18194 ("then"): likewise
18195 ("fi"): likewise
18196 (text): remove
18197 (argument): likewise
18198 (script): accept empty scripts and make exit on error
18199 (arguments): use GRUB_PARSER_TOKEN_ARG
18200 (function): likewise
18201 (command): move error handling to script
18202 (menuentry): move grub_script_lexer_ref before
18203 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
18204 argument. All callers updated
18205
18206 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18207
18208 Prevent GRUB from probing floppies during boot.
18209
18210 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
18211 * commands/search.c (options): Add --no-floppy.
18212 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
18213 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
18214 --no-floppy when searching for UUIDs.
18215
18216 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18217
18218 Simplify the code duplication in commands/search.c.
18219
18220 * commands/search.c (search_label, search_fs_uuid): Merge into ...
18221 (search_fs): ... this. Update all users.
18222
18223 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
18224
18225 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
18226
18227 2009-05-28 Pavel Roskin <proski@gnu.org>
18228
18229 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
18230 Remove the original symlink explicitly.
18231
18232 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
18233 just one slash. That's how grub_fshelp_find_file() does it.
18234
18235 2009-05-26 Pavel Roskin <proski@gnu.org>
18236
18237 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
18238 to `str'.
18239
18240 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
18241 possibly unused.
18242
18243 2009-05-25 Christian Franke <franke@computer.org>
18244
18245 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
18246 register.
18247 (grub_atapi_identify): Add wait after drive select.
18248 (grub_ata_identify): Do more strict status register check before
18249 calling grub_atapi_identify (). Suppress error message if status
18250 register is 0x00 after command failure. Add status register
18251 check after PIO read to avoid bogus identify due to stuck DRQ.
18252 Thanks to Pavel Roskin for testing.
18253 (grub_device_initialize): Remove unsafe status register check.
18254 Thanks to 'phcoder' for problem report and patch.
18255 Prevent sign extension in debug message.
18256
18257 2009-05-23 Colin D Bennett <colin@gibibit.com>
18258
18259 Cleaned up `include/grub/normal.h'. Grouped prototypes by
18260 definition file, and functions defined in `normal/menu.c' have had
18261 their prototypes moved to `include/grub/menu.h' for consistency.
18262
18263 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
18264 from normal.h.
18265 (grub_menu_get_entry): Likewise.
18266 (grub_menu_get_timeout): Likewise.
18267 (grub_menu_set_timeout): Likewise.
18268 (grub_menu_execute_entry): Likewise.
18269 (grub_menu_execute_with_fallback): Likewise.
18270 (grub_menu_entry_run): Likewise.
18271
18272 * include/grub/normal.h: Re-ordered and grouped function
18273 prototypes by file that the function is defined in.
18274 (grub_menu_execute_callback): Removed; moved to menu.h.
18275 (grub_menu_get_entry): Likewise.
18276 (grub_menu_get_timeout): Likewise.
18277 (grub_menu_set_timeout): Likewise.
18278 (grub_menu_execute_entry): Likewise.
18279 (grub_menu_execute_with_fallback): Likewise.
18280 (grub_menu_entry_run): Likewise.
18281 (grub_menu_addentry): Renamed from this ...
18282 (grub_normal_add_menu_entry): ... to this.
18283
18284 * normal/main.c (grub_menu_addentry): Renamed from this ...
18285 (grub_normal_add_menu_entry): ... to this.
18286
18287 * script/sh/execute.c (grub_script_execute_menuentry): Update
18288 reference to renamed grub_menu_addentry function.
18289
18290 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
18291
18292 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
18293
18294 2009-05-22 Pavel Roskin <proski@gnu.org>
18295
18296 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
18297 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
18298 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
18299 compiling for the i386 targets, but not for the utilities.
18300
18301 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
18302 to grub_uint8_t.
18303 (grub_root_drive): Likewise.
18304 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
18305 remove alignment.
18306 (grub_root_drive): Change size to byte.
18307 (grub_start_addr): Remove.
18308 (grub_end_addr): Likewise.
18309 (grub_apm_bios_info): Likewise.
18310
18311 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
18312
18313 * normal/i386: Remove.
18314 * normal/powerpc: Likewise.
18315 * normal/sparc64: Likewise.
18316 * normal/x86_64: Likewise.
18317
18318 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18319
18320 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
18321 * loader/i386/linux_trampoline.S: Fix indentation
18322 * loader/i386/xnu_helper.S: Likewise
18323
18324 2009-05-18 Colin D Bennett <colin@gibibit.com>
18325
18326 Display error messages when parsing a Lua statement fails.
18327 Previously, executing a syntactically invalid statement like
18328 ")foo" or "bar;" would silently fail.
18329
18330 * script/lua/grub_main.c (handle_lua_error): New function.
18331 (grub_lua_parse_line): Improved reporting of Lua parser and
18332 execution errors.
18333
18334 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 Remove -Werror which causes build to fail on some systems
18337
18338 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
18339 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
18340 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18341
18342 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18343
18344 trampoline for linux on 64-bit platform
18345
18346 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
18347 loader/i386/efi/linux_trampoline.S
18348 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
18349 declaration
18350 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
18351 here
18352 * loader/i386/linux_trampoline.S: moved here
18353 * loader/i386/efi/linux.c (allocate_pages): reserve space for
18354 trampoline
18355 (jumpvector): removed
18356 (grub_linux_trampoline_start): new declaration
18357 (grub_linux_trampoline_end): likewise
18358 (grub_linux_boot): use trampoline when on 64-bit platform
18359 * loader/i386/linux.c: likewise
18360
18361 2009-05-16 Pavel Roskin <proski@gnu.org>
18362
18363 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
18364 const to avoid a warning.
18365 (grub_lua_setenv): Likewise.
18366 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
18367 lmsg to fix a warning.
18368
18369 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
18370
18371 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
18372 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18373 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
18374 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18375 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18376 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18377 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18378 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18379
18380 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
18381
18382 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
18383
18384 2009-05-16 Bean <bean123ch@gmail.com>
18385
18386 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
18387 (lua_mod_SOURCES): New variable.
18388 (lua_mod_CFLAGS): Likewise.
18389 (lua_mod_LDFLAGS): Likewise.
18390
18391 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
18392 (setjmp_mod_SOURCES): New variable.
18393 (setjmp_mod_CFLAGS): Likewise.
18394 (setjmp_LDFLAGS): Likewise.
18395
18396 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
18397 (setjmp_mod_SOURCES): New variable.
18398 (setjmp_mod_CFLAGS): Likewise.
18399 (setjmp_LDFLAGS): Likewise.
18400
18401 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18402 (setjmp_mod_SOURCES): New variable.
18403 (setjmp_mod_CFLAGS): Likewise.
18404 (setjmp_LDFLAGS): Likewise.
18405
18406 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18407 (setjmp_mod_SOURCES): New variable.
18408 (setjmp_mod_CFLAGS): Likewise.
18409 (setjmp_LDFLAGS): Likewise.
18410
18411 * normal/i386/setjmp.S: Moved from here ...
18412 * lib/i386/setjmp.S: ... Moved here
18413 * normal/x86_64/setjmp.S: Moved from here ...
18414 * lib/x86_64/setjmp.S: ... Moved here
18415 * normal/powerpc/setjmp.S: Moved from here ...
18416 * lib/powerpc/setjmp.S: ... Moved here
18417 * normal/sparc64/setjmp.S: Moved from here ...
18418 * lib/sparc64/setjmp.S: ... Moved here
18419
18420 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
18421 returns_twice in mingw.
18422
18423 * script/lua/grub_lib.c: New file.
18424 * script/lua/grub_lib.h: Likewise.
18425 * script/lua/grub_lua.h: Likewise.
18426 * script/lua/grub_main.c: Likewise.
18427 * script/lua/lapi.c: Likewise.
18428 * script/lua/lapi.h: Likewise.
18429 * script/lua/lauxlib.c: Likewise.
18430 * script/lua/lauxlib.h: Likewise.
18431 * script/lua/lbaselib.c: Likewise.
18432 * script/lua/lcode.c: Likewise.
18433 * script/lua/lcode.h: Likewise.
18434 * script/lua/ldblib.c: Likewise.
18435 * script/lua/ldebug.c: Likewise.
18436 * script/lua/ldebug.h: Likewise.
18437 * script/lua/ldo.c: Likewise.
18438 * script/lua/ldo.h: Likewise.
18439 * script/lua/ldump.c: Likewise.
18440 * script/lua/lfunc.c: Likewise.
18441 * script/lua/lfunc.h: Likewise.
18442 * script/lua/lgc.c: Likewise.
18443 * script/lua/lgc.h: Likewise.
18444 * script/lua/linit.c: Likewise.
18445 * script/lua/liolib.c: Likewise.
18446 * script/lua/llex.c: Likewise.
18447 * script/lua/llex.h: Likewise.
18448 * script/lua/llimits.h: Likewise.
18449 * script/lua/lmathlib.c: Likewise.
18450 * script/lua/lmem.c: Likewise.
18451 * script/lua/lmem.h: Likewise.
18452 * script/lua/loadlib.c: Likewise.
18453 * script/lua/lobject.c: Likewise.
18454 * script/lua/lobject.h: Likewise.
18455 * script/lua/lopcodes.c: Likewise.
18456 * script/lua/lopcodes.h: Likewise.
18457 * script/lua/loslib.c: Likewise.
18458 * script/lua/lparser.c: Likewise.
18459 * script/lua/lparser.h: Likewise.
18460 * script/lua/lstate.c: Likewise.
18461 * script/lua/lstate.h: Likewise.
18462 * script/lua/lstring.c: Likewise.
18463 * script/lua/lstring.h: Likewise.
18464 * script/lua/lstrlib.c: Likewise.
18465 * script/lua/ltable.c: Likewise.
18466 * script/lua/ltable.h: Likewise.
18467 * script/lua/ltablib.c: Likewise.
18468 * script/lua/ltm.c: Likewise.
18469 * script/lua/ltm.h: Likewise.
18470 * script/lua/lua.h: Likewise.
18471 * script/lua/luaconf.h: Likewise.
18472 * script/lua/lualib.h: Likewise.
18473 * script/lua/lundump.c: Likewise.
18474 * script/lua/lundump.h: Likewise.
18475 * script/lua/lvm.c: Likewise.
18476 * script/lua/lvm.h: Likewise.
18477 * script/lua/lzio.c: Likewise.
18478 * script/lua/lzio.h: Likewise.
18479
18480 2009-05-16 Bean <bean123ch@gmail.com>
18481
18482 * include/grub/kernel.h (grub_module_header_types): Add type
18483 OBJ_TYPE_CONFIG.
18484
18485 * kern/main.c (grub_load_config): New function.
18486 (grub_main): Call grub_load_config to read boot config.
18487
18488 * grub-mkimage (generate_image): New parameter config_path.
18489 (options): New option --config.
18490 (main): Parse --config option, and pass it to generate_image.
18491
18492 2009-05-14 Christian Franke <franke@computer.org>
18493
18494 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
18495 This fixes build on Cygwin.
18496
18497 2009-05-14 Pavel Roskin <proski@gnu.org>
18498
18499 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
18500 jump. This saves two bytes, so the typical case of 2 swapped
18501 drives would fit 32 bytes.
18502
18503 2009-05-13 Pavel Roskin <proski@gnu.org>
18504
18505 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
18506 grub_uint32_t to avoid a warning.
18507
18508 * loader/i386/linux.c (allocate_pages): When assigning
18509 real_mode_mem, cast through grub_size_t to fix a warning. The
18510 code already makes sure that the value would fit a pointer.
18511 (grub_linux_setup_video): Cast render_target->data to
18512 grub_size_t to fix a warning.
18513
18514 2009-05-13 Javier Martín <lordhabbit@gmail.com>
18515
18516 * commands/i386/pc/drivemap.c: New file - implement drivemap
18517 command.
18518 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
18519 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
18520
18521 2009-05-13 Pavel Roskin <proski@gnu.org>
18522
18523 * util/i386/pc/grub-setup.c (setup): Remove unused variable
18524 embedding_area_exists.
18525
18526 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
18527
18528 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
18529 it easier to understand / work with.
18530 Improve warning messages for cases where there's no embedding area,
18531 or when it is too small (or core.img too large).
18532
18533 2009-05-13 Pavel Roskin <proski@gnu.org>
18534
18535 * loader/i386/pc/multiboot2.c: Add necessary includes for
18536 grub_multiboot2_real_boot().
18537
18538 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
18539 PX record is always little-endian. We only need the lower 2
18540 bytes of the mode.
18541
18542 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
18543 facilitate code reuse.
18544 (grub_cpio_mount): Use "struct head", not a char buffer. This
18545 fixes a warning reported by gcc 4.4.
18546
18547 * kernel/disk.c (grub_disk_read): Use void pointer for the
18548 buffer.
18549 (grub_disk_write): Use const void pointer for the buffer.
18550 Adjust all callers. Remove unnecessary casts.
18551
18552 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
18553
18554 * util/i386/pc/grub-install.in: Update copyright year.
18555
18556 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18557
18558 gptsync
18559
18560 * commands/gptsync.c: new file
18561 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
18562 (gptsync_mod_SOURCES): new variable
18563 (gptsync_mod_CFLAGS): likewise
18564 (gptsync_mod_LDFLAGS): likewise
18565 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
18566 new definition
18567 (GRUB_PC_PARTITION_TYPE_HFS): likewise
18568 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
18569 * conf/i386-ieee1275.rmk: likewise
18570 * conf/i386-pc.rmk: likewise
18571 * conf/powerpc-ieee1275.rmk: likewise
18572
18573 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18574
18575 Fixed grub-emu
18576
18577 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
18578 (grub_dl_ref): likewise
18579
18580 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
18581
18582 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
18583 split in two functions (one for msdos and one for gpt).
18584
18585 2009-05-08 Pavel Roskin <proski@gnu.org>
18586
18587 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
18588 not modified.
18589
18590 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
18591 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
18592 Initialize them with -1. Add sanity check for bad1. Eliminate
18593 nerr variable.
18594
18595 2009-05-08 David S. Miller <davem@davemloft.net>
18596
18597 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
18598
18599 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
18600
18601 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
18602 existence.
18603
18604 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
18605
18606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18607 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
18608
18609 2009-05-05 David S. Miller <davem@davemloft.net>
18610
18611 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
18612
18613 2009-05-05 Pavel Roskin <proski@gnu.org>
18614
18615 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
18616 of grub_dl_ref() and grub_dl_unref().
18617 * commands/parttool.c: Remove preprocessor conditionals around
18618 grub_dl_ref() and grub_dl_unref().
18619 * fs/affs.c: Likewise.
18620 * fs/afs.c: Likewise.
18621 * fs/cpio.c: Likewise.
18622 * fs/ext2.c: Likewise.
18623 * fs/fat.c: Likewise.
18624 * fs/hfs.c: Likewise.
18625 * fs/hfsplus.c: Likewise.
18626 * fs/iso9660.c: Likewise.
18627 * fs/jfs.c: Likewise.
18628 * fs/minix.c: Likewise.
18629 * fs/ntfs.c: Likewise.
18630 * fs/reiserfs.c: Likewise.
18631 * fs/sfs.c: Likewise.
18632 * fs/udf.c: Likewise.
18633 * fs/ufs.c: Likewise.
18634 * fs/xfs.c: Likewise.
18635 * include/grub/dl.h: Likewise.
18636 * loader/xnu.c: Likewise.
18637
18638 2009-05-04 Pavel Roskin <proski@gnu.org>
18639
18640 * commands/acpi.c: Remove unused variable my_mod.
18641 * partmap/amiga.c: Likewise.
18642 * partmap/apple.c: Likewise.
18643 * partmap/gpt.c: Likewise.
18644 * partmap/pc.c: Likewise.
18645 * partmap/sun.c: Likewise.
18646 * term/gfxterm.c: Likewise.
18647 * term/i386/pc/vesafb.c: Likewise.
18648 * term/i386/pc/vga.c: Likewise.
18649
18650 2009-05-04 David S. Miller <davem@davemloft.net>
18651
18652 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
18653 pointer args to grub_ieee1275_get_property().
18654
18655 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
18656
18657 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
18658 devices, and do not traverse down under controller nodes.
18659
18660 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
18661 (grub_ofdisk_open): Use it to un-escape "," characters.
18662 * kern/disk.c (find_part_sep): New.
18663 (grub_disk_open): Use it to find the first non-escaped ','
18664 character in the disk name.
18665 * util/ieee1275/devicemap.c (escape_of_path): New.
18666 (grub_util_emit_devicemap_entry): Use it.
18667 * util/sparc64/ieee1275/grub-install.in: Update script to
18668 strip partition specifiers properly by not triggering on
18669 '\' escaped ',' characters.
18670
18671 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18672
18673 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
18674 to 0x300.
18675 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
18676 resolutions.
18677 (linux_vesafb_modes): Add a lot of additional modes to the list (based
18678 on documentation from Wikipedia).
18679
18680 2009-05-04 Pavel Roskin <proski@gnu.org>
18681
18682 * disk/ata.c: Spelling fixes.
18683 * disk/raid.c: Likewise.
18684 * disk/usbms.c: Likewise.
18685 * disk/dmraid_nvidia.c: Likewise.
18686 * kern/ieee1275/openfw.c: Likewise.
18687 * kern/ieee1275/init.c: Likewise.
18688 * kern/ieee1275/cmain.c: Likewise.
18689 * boot/i386/pc/cdboot.S: Likewise.
18690 * video/readers/png.c: Likewise.
18691 * video/i386/pc/vbe.c: Likewise.
18692 * fs/udf.c: Likewise.
18693 * fs/hfs.c: Likewise.
18694 * fs/reiserfs.c: Likewise.
18695 * efiemu/runtime/efiemu.c: Likewise.
18696 * efiemu/main.c: Likewise.
18697 * efiemu/mm.c: Likewise.
18698 * include/grub/elf.h: Likewise.
18699 * include/grub/xnu.h: Likewise.
18700 * include/grub/usbdesc.h: Likewise.
18701 * include/grub/usb.h: Likewise.
18702 * include/grub/script_sh.h: Likewise.
18703 * include/grub/lib/LzmaEnc.h: Likewise.
18704 * include/grub/efiemu/efiemu.h: Likewise.
18705 * include/grub/command.h: Likewise.
18706 * normal/menu.c: Likewise.
18707 * normal/main.c: Likewise.
18708 * normal/datetime.c: Likewise.
18709 * bus/usb/uhci.c: Likewise.
18710 * mmap/i386/uppermem.c: Likewise.
18711 * mmap/mmap.c: Likewise.
18712 * commands/acpi.c: Likewise.
18713 * commands/test.c: Likewise.
18714 * partmap/apple.c: Likewise.
18715 * font/font.c: Likewise.
18716 * loader/sparc64/ieee1275/linux.c: Likewise.
18717 * loader/macho.c: Likewise.
18718 * loader/i386/bsd_trampoline.S: Likewise.
18719 * loader/i386/bsd.c: Likewise.
18720 * loader/xnu.c: Likewise.
18721 * term/i386/pc/vesafb.c: Likewise.
18722 * term/usb_keyboard.c: Likewise.
18723 * util/resolve.c: Likewise.
18724 * util/getroot.c: Likewise.
18725
18726 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18727
18728 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
18729
18730 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18731
18732 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
18733 build error.
18734
18735 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18736
18737 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
18738 parameter only available on BIOS.
18739
18740 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18741
18742 Removed wrong semicolon in declaration
18743
18744 * grub/misc.h (grub_dprintf): remove semicolon
18745
18746 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18747
18748 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
18749 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
18750 is done by grub_cmd_linux() now).
18751 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
18752 restore video to text mode.
18753 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
18754 indicates lack of "vga=" parameter. "vga=0" is mapped to
18755 `GRUB_LINUX_VID_MODE_NORMAL'.
18756
18757 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18758
18759 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
18760 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
18761 and `normal/script.c'. Add `kern/rescue_reader.c',
18762 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
18763 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
18764 `grub_script.tab.c'.
18765
18766 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18767 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18769 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18770 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18771
18772 * Makefile.in: Remove duplicated 2008 in Copyright line.
18773
18774 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18775
18776 * util/misc.c (grub_util_warn): New function. Emits a warning
18777 unconditionally.
18778 * include/grub/util/misc.h (grub_util_warn): New declaration.
18779
18780 * util/i386/pc/grub-install.in: Understand --force and pass it down
18781 to grub-setup.
18782
18783 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
18784 down to setup().
18785 (setup): Improve error messages and add warnings when requested to
18786 install in odd layouts. Refuse to install using blocklists unless
18787 --force was set.
18788
18789 2009-05-04 martin f. krafft <madduck@madduck.net>
18790
18791 * disk/raid.c (grub_raid_scan_device): Improve debug message.
18792
18793 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18794
18795 Updated copyright year
18796
18797 * fs/hfsplus.c: updated copyright year
18798
18799 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18800
18801 HFS+ UUID
18802
18803 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
18804 in the space previously used by unused3
18805 (grub_hfsplus_uuid): new function
18806 (grub_hfsplus_fs): added uuid field
18807
18808 2009-05-03 Pavel Roskin <proski@gnu.org>
18809
18810 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
18811 suppress warnings. It's no longer needed.
18812 * disk/host.c: Likewise.
18813 * disk/ata_pthru.c: Likewise.
18814 * disk/loopback.c: Likewise.
18815 * hook/datehook.c: Likewise.
18816 * parttool/pcpart.c: Likewise.
18817 * fs/i386/pc/pxe.c: Likewise.
18818 * fs/ntfscomp.c: Likewise.
18819 * efiemu/main.c: Likewise.
18820 * mmap/mmap.c: Likewise.
18821 * commands/crc.c: Likewise.
18822 * commands/hexdump.c: Likewise.
18823 * commands/hdparm.c: Likewise.
18824 * commands/acpi.c: Likewise.
18825 * commands/echo.c: Likewise.
18826 * commands/minicmd.c: Likewise.
18827 * commands/blocklist.c: Likewise.
18828 * commands/memrw.c: Likewise.
18829 * commands/loadenv.c: Likewise.
18830 * commands/usbtest.c: Likewise.
18831 * commands/lsmmap.c: Likewise.
18832 * commands/boot.c: Likewise.
18833 * commands/parttool.c: Likewise.
18834 * commands/configfile.c: Likewise.
18835 * commands/search.c: Likewise.
18836 * commands/ieee1275/suspend.c: Likewise.
18837 * commands/cat.c: Likewise.
18838 * commands/i386/pc/pxecmd.c: Likewise.
18839 * commands/i386/pc/play.c: Likewise.
18840 * commands/i386/pc/halt.c: Likewise.
18841 * commands/i386/pc/vbeinfo.c: Likewise.
18842 * commands/i386/pc/vbetest.c: Likewise.
18843 * commands/lspci.c: Likewise.
18844 * commands/date.c: Likewise.
18845 * commands/handler.c: Likewise.
18846 * commands/ls.c: Likewise.
18847 * commands/test.c: Likewise.
18848 * commands/cmp.c: Likewise.
18849 * commands/efi/loadbios.c: Likewise.
18850 * commands/efi/fixvideo.c: Likewise.
18851 * commands/halt.c: Likewise.
18852 * commands/help.c: Likewise.
18853 * commands/reboot.c: Likewise.
18854 * hello/hello.c: Likewise.
18855 * script/sh/main.c: Likewise.
18856 * loader/xnu.c: Likewise.
18857 * term/terminfo.c: Likewise.
18858 * term/i386/pc/serial.c: Likewise.
18859 * term/usb_keyboard.c: Likewise.
18860
18861 2009-05-03 David S. Miller <davem@davemloft.net>
18862
18863 * normal/menu.c: Include grub/parser.h
18864
18865 2009-05-03 Pavel Roskin <proski@gnu.org>
18866
18867 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
18868 not char*.
18869 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
18870 Suggested by Javier Martín <lordhabbit@gmail.com>
18871
18872 * util/i386/pc/grub-mkrescue.in: Allow for the case when
18873 efiemu??.o doesn't exist.
18874 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
18875 copying.
18876
18877 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
18878
18879 FreeBSD 64-bit support
18880
18881 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
18882 and loader/i386/bsd_trampoline.S
18883 (bsd_mod_ASFLAGS): new variable
18884 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
18885 (FREEBSD_MODTYPE_KERNEL64): likewise
18886 (grub_bsd64_trampoline_start): likewise
18887 (grub_bsd64_trampoline_end): likewise
18888 (grub_bsd64_trampoline_selfjump): likewise
18889 (grub_bsd64_trampoline_gdt): likewise
18890 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
18891 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
18892 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
18893 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18894 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
18895 of "attrib" member
18896 * loader/i386/bsd_pagetable.c: new file
18897 * loader/i386/bsd_trampoline.S: likewise
18898 * loader/i386/bsd.c (ALIGN_QWORD): new macro
18899 (ALIGN_VAR): likewise
18900 (entry_hi): new variable
18901 (kern_end_mdofs): likewise
18902 (is_64bit): likewise
18903 (grub_freebsd_add_meta): use ALIGN_VAR
18904 (grub_e820_mmap): new declaration
18905 (grub_freebsd_add_mmap): new function
18906 (grub_freebsd_add_meta_module): support 64 bit kernels
18907 (grub_freebsd_list_modules): use ALIGN_VAR
18908 (gdt_descriptor): new declaration
18909 (grub_freebsd_boot): support 64 bit kernels
18910 (grub_bsd_elf64_hook): new function
18911 (grub_bsd_load_elf): support elf64
18912
18913 2009-05-03 Bean <bean123ch@gmail.com>
18914
18915 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
18916 after we get the result of if statement.
18917
18918 2009-05-03 Bean <bean123ch@gmail.com>
18919
18920 * Makefile.in (enable_efiemu): New variable.
18921
18922 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
18923 set.
18924 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
18925 path.
18926 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
18927 path, add -mno-red-zone option.
18928 (efiemu64_s.o): Likewise.
18929 (efiemu64.o): Use macro $^ for source file.
18930
18931 * configure.ac (--enable-efiemu): New option.
18932
18933 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18934
18935 xnu support
18936
18937 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
18938 (pkglib_MODULES): add xnu.mod
18939 (xnu_mod_SOURCES): new variable
18940 (xnu_mod_CFLAGS): likewise
18941 (xnu_mod_LDFLAGS): likewise
18942 (xnu_mod_ASFLAGS): likewise
18943 * conf/i386-pc.rmk: likewise
18944 * conf/x86_64-efi.rmk: likewise
18945 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
18946 new declaration
18947 * include/grub/i386/macho.h: new file
18948 * include/grub/i386/xnu.h: likewise
18949 * include/grub/macho.h: likewise
18950 * include/grub/machoload.h: likewise
18951 * include/grub/x86_64/macho.h: likewise
18952 * include/grub/x86_64/xnu.h: likewise
18953 * include/grub/xnu.h: likewise
18954 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
18955 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
18956 * loader/i386/efi/xnu.c: new file
18957 * loader/i386/pc/xnu.c: likewise
18958 * loader/i386/xnu.c: likewise
18959 * loader/i386/xnu_helper.S: likewise
18960 * loader/macho.c: likewise
18961 * loader/xnu.c: likewise
18962 * loader/xnu_resume.c: likewise
18963 * util/grub-dumpdevtree: likewise
18964 * include/grub/i386/pit.h: include grub/err.h
18965 (grub_pit_wait): export
18966 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
18967
18968 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18969
18970 Efiemu
18971
18972 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
18973 _linux_efi, linux_efi.
18974 new files in grub-emu
18975 new targets efiemu32.o and efiemu64.o
18976 * loader/linux_normal_efiemu.c: likewise
18977 * loader/i386/efi/linux.c: added preliminary efiemu support
18978 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
18979 files to copy
18980 * include/grub/autoefi.h: new file
18981 * include/grub/i386/efiemu.h: likewise
18982 * include/grub/i386/pc/efiemu.h: likewise
18983 * include/grub/efi/api.h: add LL suffix when necessary
18984 new definitions relating to tables
18985 * include/grub/efiemu/efiemu.h: new file
18986 * include/grub/efiemu/runtime.h: likewise
18987 * efiemu/prepare.c: likewise
18988 * efiemu/loadcore_common.c: likewise
18989 * efiemu/loadcore64.c: likewise
18990 * efiemu/runtime/efiemu.sh: likewise
18991 * efiemu/runtime/efiemu.S: likewise
18992 * efiemu/runtime/efiemu.c: likewise
18993 * efiemu/runtime/config.h: likewise
18994 * efiemu/prepare32.c: likewise
18995 * efiemu/main.c: likewise
18996 * efiemu/modules/pnvram.c: likewise
18997 * efiemu/modules/i386: likewise
18998 * efiemu/modules/i386/pc: likewise
18999 * efiemu/modules/acpi.c: likewise
19000 * efiemu/i386/pc/cfgtables.c: likewise
19001 * efiemu/i386/loadcore64.c: likewise
19002 * efiemu/i386/loadcore32.c: likewise
19003 * efiemu/prepare64.c: likewise
19004 * efiemu/loadcore.c: likewise
19005 * efiemu/symbols.c: likewise
19006 * efiemu/mm.c: likewise
19007 * efiemu/loadcore32.c: likewise
19008
19009 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19010
19011 ACPI spoofing
19012
19013 * commands/acpi.c: new file
19014 * commands/i386/pc/acpi.c: likewise
19015 * commands/efi/acpi.c: likewise
19016 * include/grub/acpi.h: likewise
19017 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
19018 (acpi_mod_SOURCES): new variable
19019 (acpi_mod_CFLAGS): likewise
19020 (acpi_mod_LDFLAGS): likewise
19021 * conf/i386-efi.rmk: likewise
19022 * conf/x86_64-efi.rmk: likewise
19023
19024 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19025
19026 Missing part from mmap patch
19027
19028 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
19029 (grub_mmap_unregister)
19030 (grub_mmap_free_and_unregister): use grub_mmap_register
19031
19032 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19033
19034 Mmap services
19035
19036 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
19037 * loader/i386/linux.c (find_mmap_size): likewise
19038 (allocate_pages): likewise
19039 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
19040 (grub_fill_multiboot_mmap): likewise
19041 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
19042 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
19043 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
19044 (OPENBSD_MMAP_RESERVED): likewise
19045 * include/grub/i386/pc/memory.h: include grub/memory.h
19046 (grub_lower_mem): removed
19047 (grub_upper_mem): likewise
19048 (GRUB_MACHINE_MEMORY_ACPI): new definition
19049 (GRUB_MACHINE_MEMORY_NVS): likewise
19050 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
19051 (GRUB_MACHINE_MEMORY_HOLE): likewise
19052 (grub_machine_mmap_register): likewise
19053 (grub_machine_mmap_unregister): likewise
19054 (grub_machine_get_upper): likewise
19055 (grub_machine_get_lower): likewise
19056 (grub_machine_get_post64): likewise
19057 * include/grub/i386/efi/memory.h: new file
19058 * include/grub/x86_64/efi/memory.h: likewise
19059 * include/grub/efi/memory.h: likewise
19060 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
19061 (mmap_mod_SOURCES): new variable
19062 (mmap_mod_LDFLAGS): likewise
19063 (mmap_mod_ASFLAGS): likewise
19064 * conf/i386-coreboot.rmk: likewise
19065 * conf/i386-ieee1275.rmk: likewise
19066 * conf/i386-efi.rmk: likewise
19067 * conf/x86_64-efi.rmk: likewise
19068 * include/grub/types.h (UINT_TO_PTR): new macro
19069 (PTR_TO_UINT32): likewise
19070 (PTR_TO_UINT64): likewise
19071 * include/grub/memory.h: new file
19072 * mmap/i386/pc/mmap.c: likewise
19073 * mmap/i386/pc/mmap_helper.S: likewise
19074 * mmap/i386/uppermem.c: likewise
19075 * mmap/mmap.c: likewise
19076 * mmap/efi/mmap.c: likewise
19077 * kern/i386/coreboot/init.c (grub_machine_init): don't use
19078 grub_upper_mem
19079 * kern/i386/pc/init.c (grub_lower_mem): removed variable
19080 (grub_upper_mem): likewise
19081 (grub_machine_init): don't use grub_upper_mem,
19082 make grub_lower_mem local
19083 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
19084 grub_mmap_iterate and grub_mmap_get_upper
19085 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
19086
19087 2009-05-02 Bean <bean123ch@gmail.com>
19088
19089 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
19090 script/sh/parser.y.
19091 (pkglib_MODULES): Add normal.mod and sh.mod.
19092 (normal_SOURCES): New variable.
19093 (normal_mod_CFLAGS): Likewise.
19094 (normal_mod_LDFLAGS): Likewise.
19095 (sh_mod_SOURCES): Likewise.
19096 (sh_mod_CFLAGS): Likewise.
19097 (sh_mod_LDFLAGS): Likewise.
19098
19099 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
19100 script/sh/lexer.c_DEPENDENCIES.
19101 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
19102 kern/rescue_reader.c and kern/rescue_parser.c.
19103 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
19104 (grub_emu_SOURCES): Change source files.
19105 (pkglib_MODULES): Remove normal.mod.
19106 (normal_SOURCES): Removed.
19107 (normal_mod_CFLAGS): Likewise.
19108 (normal_mod_LDFLAGS): Likewise.
19109 * conf/i386-coreboot.rmk: Likewise.
19110 * conf/i386-efi.rmk: Likewise.
19111 * conf/i386-ieee1276.rmk: Likewise.
19112 * conf/powerpc-ieee1275.rmk: Likewise.
19113 * conf/sparc64-ieee1275.rmk: Likewise.
19114 * conf/x86_64-efi.rmk: Likewise.
19115
19116 * include/grub/command.h (grub_command_execute): New inline function.
19117
19118 * include/grub/menu.h (grub_menu_entry): Removed commands field.
19119
19120 * include/grub/normal.h: Remove <grub/setjmp.h>.
19121 (grub_fs_module_list): Moved to normal/autofs.c.
19122 (grub_exit_env): Removed.
19123 (grub_command_execute): Likewise.
19124 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
19125 parameter script.
19126 (read_command_list): New function declaration.
19127 (read_fs_list): Likewise.
19128
19129 * include/parser.h: Include <grub/reader.h>.
19130 (grub_parser_split_cmdline): Change type of getline parameter.
19131 (grub_parser): New structure.
19132 (grub_parser_class): New variable.
19133 (grub_parser_execute): New function declaration.
19134 (grub_register_rescue_parser): Likewise.
19135 (grub_parser_register): New inline function.
19136 (grub_parser_unregister): Likewise.
19137 (grub_parser_get_current): Likewise.
19138 (grub_parser_set_current): Likewise.
19139
19140 * include/grub/reader.h: New file.
19141 * kern/reader.c: Likewise.
19142 * kern/rescue_parser.c: Likewise.
19143 * kern/rescue_reader.c: Likewise.
19144 * normal/autofs.c: Likewise.
19145 * normal/dyncmd.c: Likewise.
19146
19147 * include/grub/rescue.h: Removed.
19148 * normal/command.h: Likewise.
19149
19150 * include/grub/script.h: Moved to ...
19151 * include/grub/script_sh.h: ... Moved here.
19152 * normal/execute.c: Moved to ...
19153 * script/sh/execute.c: ... Moved here.
19154 * normal/function.c: Moved to ...
19155 * script/sh/function.c: ... Moved here.
19156 * normal/lexer.c: Moved to ...
19157 * script/sh/lexer.c: ... Moved here.
19158 * normal/parser.y: Moved to ...
19159 * script/sh/parser.y: ... Moved here.
19160 * normal/script.c: Moved to ...
19161 * script/sh/script.c: ... Moved here.
19162
19163 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
19164 <grub/reader.h>.
19165 (grub_exit_env): Removed.
19166 (fs_module_list): Moved to normal/autofs.c.
19167 (grub_file_getline): Don't handle comment here.
19168 (free_menu): Skip removed field entry->commands.
19169 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
19170 script parameter.
19171 (read_config_file): Removed nested parameter, change getline function.
19172 (grub_enter_normal_mode): Removed.
19173 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
19174 (read_command_list): Likewise.
19175 (autoload_fs_module): Moved to normal/autofs.c.
19176 (read_fs_list): Likewise.
19177 (reader_nested): New variable.
19178 (grub_normal_execute): Run parser.sh to switch to sh parser.
19179 (grub_cmd_rescue): Removed.
19180 (cmd_normal): Removed.
19181 (grub_cmd_normal): Unregister itself at the beginning. Don't register
19182 rescue command.
19183 (grub_cmdline_run): New function.
19184 (grub_normal_reader_init): Likewise.
19185 (grub_normal_read_line): Likewise.
19186 (grub_env_write_pager): Likewise.
19187 (cmdline): New variable.
19188 (grub_normal_reader): Likewise.
19189 (GRUB_MOD_INIT): Register normal reader and set as current, register
19190 pager hook, register normal command with grub_register_command_prio,
19191 so that it won't show up in command.lst.
19192 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
19193 grub_fs_autoload_hook.
19194
19195 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
19196 (grub_menu_execute_entry): Replace grub_script_execute with
19197 grub_parser_execute, change parameter to grub_command_execute.
19198
19199 * normal/menu_text.c: Remove <grub/script.h>.
19200
19201 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
19202 and <grub/parser.h>.
19203 (run): Change editor_getline to use new parser interface. Change
19204 parameter to grub_command_execute.
19205
19206 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
19207 <grub/reader.h> and <grub/parser.h>.
19208 (grub_load_normal_mode): Execute normal command.
19209 (grub_main): Call grub_register_core_commands,
19210 grub_register_rescue_parser and grub_register_rescue_reader, use
19211 grub_reader_loop to enter input loop.
19212
19213 * kern/parser.c (grub_parser_split_cmdline): Change type of
19214 getline parameter.
19215 (grub_parser_class): New variable.
19216 (grub_parser_execute): New function.
19217
19218 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
19219 * loader/multiboot2.c: Likewise.
19220 * loader/sparc64/ieee1275/linux.c: Likewise.
19221
19222 * util/grub-emu.c (read_command_list): New dummy function.
19223
19224 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19225
19226 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
19227 count to 16 for CCISS and IDA.
19228
19229 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19230
19231 * normal/menu_text.c (grub_wait_after_message): Print a newline
19232 after waiting for user input.
19233
19234 * loader/i386/linux.c: Include `<grub/normal.h>'.
19235 (grub_cmd_linux): Improve the error message about `ask' mode, by
19236 waiting for user input so it's not missed (we can do this, since
19237 user requested interaction).
19238
19239 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19240
19241 Added missing lst to grub-mkrescue
19242
19243 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
19244 and ${input_dir}/parttool.lst
19245
19246 2009-04-30 David S. Miller <davem@davemloft.net>
19247
19248 * util/hostdisk.c (device_is_wholedisk): New function.
19249 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
19250 zero only if device_is_wholedisk() returns true.
19251
19252 * util/hostdisk.c (convert_system_partition_to_system_disk):
19253 Handle virtual disk devices named /dev/vdiskX as found on sparc
19254 and powerpc.
19255
19256 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
19257 lettered partition specifier is found, convert to numbered.
19258
19259 2009-04-29 David S. Miller <davem@davemloft.net>
19260
19261 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
19262 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19263
19264 * normal/command.c: Add missing newline at end of file.
19265
19266 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
19267 warnings.
19268 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
19269 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
19270 grub_ofdisk_read): Likewise, and deal similarly with the fact that
19271 ihandles have a 32-bit type but need to be stored in a "void *".
19272
19273 2009-04-28 Pavel Roskin <proski@gnu.org>
19274
19275 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
19276 not disk. Adjust all dependencies.
19277 (grub_fs_uuid_close): Use grub_device_close(), not
19278 grub_disk_close().
19279
19280 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
19281 parent's partition, don't copy it by reference, as it gets freed
19282 on close.
19283
19284 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19285
19286 Preboot hooks support
19287
19288 * commands/boot.c (struct grub_preboot_t): new declaration
19289 (preboots_head): new variable
19290 (preboots_tail): likewise
19291 (grub_loader_register_preboot_hook): new function
19292 (grub_loader_unregister_preboot_hook): likewise
19293 (grub_loader_set): launch preboot hooks
19294 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
19295 (grub_loader_register_preboot_hook): new declaration
19296 (grub_loader_unregister_preboot_hook): likewise
19297
19298 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19299
19300 Warning fix
19301
19302 * disk/scsi.c (grub_scsi_open): added missing cast when
19303 calling grub_dprintf
19304
19305 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
19306
19307 Bug and warning fixes
19308
19309 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
19310 declaration
19311 * commands/test.c (test_parse): fixed bug with file tests and corrected
19312 declaration of find_file
19313
19314 2009-04-26 Pavel Roskin <proski@gnu.org>
19315
19316 * Makefile.in: Don't install empty manual pages if help2man is
19317 missing. Use help2man option for output, not shell redirection.
19318
19319 2009-04-26 David S. Miller <davem@davemloft.net>
19320
19321 * util/grub-mkdevicemap.c (make_device_map): Add missing
19322 NESTED_FUNC_ATTR to process_device().
19323
19324 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19325
19326 Test command
19327
19328 * commands/test.c: rewritten to use bash-like test
19329
19330 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19331
19332 Parttool autoloading and improvements
19333
19334 * Makefile.in (pkglib_DATA): add parttool.lst
19335 (parttool.lst): new target
19336 * genmk.rb: generate parttool-*
19337 (CLEANFILES): add #{parttool}
19338 (PARTTOOLFILES): new variable
19339 * genparttoollist.sh: new file
19340 * parttool/pcpart.c (grub_pcpart_boot): more feedback
19341 (grub_pcpart_type): likewise
19342 * commands/parttool.c (helpmsg): new variable
19343 (grub_cmd_parttool): output help if not enough arguments are supplied
19344 autoload modules
19345 (GRUB_MOD_INIT(parttool)): use helpmsg
19346
19347 2009-04-24 David S. Miller <davem@davemloft.net>
19348
19349 Avoiding opening same device multiple times in device iterator.
19350
19351 * kern/device.c: (grub_device_iterate): Define struct part_ent,
19352 and use it to build a list of partitions in iterate_disk() and
19353 iterate_partition().
19354
19355 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
19356 on disk->data.
19357
19358 * disk/ieee1275/nand.c (grub_nand_iterate): Return
19359 grub_devalias_iterate() result instead of unconditional 0.
19360 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
19361 Also, capture hook return value, either directly or via
19362 grub_children_iterate(), and propagate to caller.
19363 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
19364 grub_children_iterate): Return value is now 'int' instead of
19365 'grub_err_t'.
19366 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
19367 like a proper iterator, stopping when hooks return non-zero.
19368 (grub_devalias_iterate): Likewise.
19369
19370 2009-04-23 David S. Miller <davem@davemloft.net>
19371
19372 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
19373
19374 2009-04-22 David S. Miller <davem@davemloft.net>
19375
19376 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
19377 is larger than address_cells, use that value for address_cells too.
19378
19379 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
19380 IEEE1275_MAX_PATH_LEN): Define.
19381 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
19382 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
19383 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
19384 'devtype'. Explicitly NULL terminate devalias expansion.
19385
19386 * util/sparc64/ieee1275/misc.c: New file.
19387 * util/sparc64/ieee1275/grub-setup.c: New file.
19388 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
19389 * util/sparc64/ieee1275/grub-mkimage.c: New file.
19390 * util/sparc64/ieee1275/grub-install.in: New file.
19391 * util/ieee1275/ofpath.c: New file.
19392 * util/ieee1275/devicemap.c: New file.
19393 * util/devicemap.c: New file.
19394 * util/deviceiter.c: New file.
19395 * kern/sparc64/ieee1275/init.c: New file.
19396 * include/grub/util/ofpath.h: New file.
19397 * include/grub/util/deviceiter.h: New file.
19398 * util/grub-mkdevicemap.c: Include deviceiter.h.
19399 Implement using grub_util_emit_devicemap_entry and
19400 grub_util_iterate_devices.
19401 * conf/i386-corebook.rmk: Build util/deviceiter.c and
19402 util/devicemap.c into grub-mkdevicemap
19403 * conf/i386-efi.rmk: Likewise.
19404 * conf/i386-ieee1275.rmk: Likewise.
19405 * conf/i386-pc.rmk: Likewise.
19406 * conf/powerpc-ieee1275.rmk: Likewise.
19407 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
19408 images and installation utilities. Build kernel as image
19409 instead of as elf binary. Use common rules as much as possible.
19410
19411 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 Correct GPT definition
19414
19415 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
19416 of "attrib" member
19417
19418 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
19419
19420 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
19421
19422 2009-04-19 David S. Miller <davem@davemloft.net>
19423
19424 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
19425 (grub_rescue_cmd_linux): Rename to...
19426 (grub_cmd_linux): and fix prototype.
19427 (grub_rescue_cmd_initrd): Rename to...
19428 (grub_cmd_initrd): and fix prototype.
19429 (cmd_linux, cmd_initrd): New.
19430 (GRUB_MOD_INIT(linux)): Use grub_register_command().
19431 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
19432
19433 2009-04-17 Pavel Roskin <proski@gnu.org>
19434
19435 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
19436 format.
19437 (grub_ohci_transfer): Likewise.
19438
19439 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
19440
19441 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
19442 return without a value. Fix inconsistent indentation.
19443
19444 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
19445 match struct grub_fs.
19446
19447 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
19448 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
19449 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
19450 * commands/lspci.c (grub_lspci_iter): Likewise.
19451
19452 2009-04-16 Bean <bean123ch@gmail.com>
19453
19454 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
19455 value.
19456
19457 2009-04-15 Pavel Roskin <proski@gnu.org>
19458
19459 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
19460 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
19461 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
19462 definitions.
19463
19464 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19465
19466 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
19467 that no multiple data or metadata areas are supported and `Unknown
19468 metadata header'.
19469
19470 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19471
19472 Move loader out of the kernel
19473
19474 * kern/loader.c: moved to ...
19475 * commands/boot.c: ... moved here
19476 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
19477 * commands/boot.c (grub_cmd_boot): moved here. All users updated
19478 * include/grub/kernel.h (grub_machine_fini): export
19479 * include/grub/loader.h (grub_loader_is_loaded): update declaration
19480 (grub_loader_set): likewise
19481 (grub_loader_unset): likewise
19482 (grub_loader_boot): likewise
19483 * conf/common.rmk: new module boot.mod
19484 (pkglib_MODULES): add boot.mod
19485 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
19486 (grub_emu_SOURCES): likewise
19487 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
19488 (grub_emu_SOURCES): likewise
19489 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
19490 (grub_emu_SOURCES): likewise
19491 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
19492 (grub_emu_SOURCES): likewise
19493 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
19494 (grub_emu_SOURCES): likewise
19495 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
19496 (grub_emu_SOURCES): likewise
19497 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
19498 (grub_emu_SOURCES): likewise
19499
19500 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19501
19502 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
19503
19504 * kern/misc.c (grub_itoa): Removed function
19505 (grub_ltoa): likewise
19506 (grub_vsprintf): use grub_lltoa
19507
19508 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19509
19510 Restore grub-emu
19511
19512 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
19513 * conf/i386-coreboot.rmk: likewise
19514 * conf/i386-ieee1275.rmk: likewise
19515 * conf/powerpc-ieee1275.rmk: likewise
19516
19517 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19518
19519 * INSTALL: Add that `./autogen.sh' needs to be run before
19520 `./configure.'.
19521
19522 2009-04-14 Bean <bean123ch@gmail.com>
19523
19524 * Makefile.in (pkglib_DATA): Add handler.lst.
19525 (handler.lst): New rule.
19526
19527 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
19528 * conf/i386-coreboot.rmk: Likewise.
19529 * conf/i386-ieee1275.rmk: Likewise.
19530 * conf/i386-efi.rmk: Likewise.
19531 * conf/x86_64-efi.rmk: Likewise.
19532 * conf/powerpc-ieee1275.rmk: Likewise.
19533 * conf/sparc64-ieee1275.rmk: Likewise.
19534
19535 * genhandlerlist.sh: New file.
19536
19537 * genmk.rb: Add rules to generate handler.lst.
19538
19539 * include/grub/normal.h (grub_file_getline): New function definition.
19540 (read_handler_list): Likewise.
19541 (free_handler_list): Likewise.
19542
19543 * include/grub/term.h (grub_term_register_input): Add name parameter
19544 for auto generation of handler.lst.
19545 (grub_term_register_output): Likewise.
19546
19547 * normal/handler.c: New file.
19548
19549 * normal/main.c (get_line): Renamed to grub_file_getline.
19550 (read_config_file): Use the newly renamed grub_file_getline.
19551 (read_command_list): Likewise.
19552 (read_fs_list): Likewise.
19553 (grub_normal_execute): Call read_handler_list to parse handler.lst.
19554 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
19555
19556 * term/efi/console.c (grub_console_init): Add name parameter for auto
19557 generation of handler.lst.
19558 * term/gfxterm.c: Likewise.
19559 * term/i386/pc/at_keyboard.c: Likewise.
19560 * term/i386/pc/console.c: Likewise.
19561 * term/i386/pc/serial.c: Likewise.
19562 * term/i386/pc/vesafb.c: Likewise.
19563 * term/i386/pc/vga.c: Likewise.
19564 * term/i386/pc/vga_text.c: Likewise.
19565 * term/ieee1275/ofconsole.c: Likewise.
19566 * term/usb_keyboard.c: Likewise.
19567
19568 2009-04-14 Bean <bean123ch@gmail.com>
19569
19570 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
19571 properly with null character.
19572
19573 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19574
19575 * configure: Remove.
19576 * config.h.in: Likewise.
19577 * stamp-h.in: Likewise.
19578 * DISTLIST: Likewise.
19579 * conf/common.mk: Likewise.
19580 * conf/i386-coreboot.mk: Likewise.
19581 * conf/i386-efi.mk: Likewise.
19582 * conf/i386-ieee1275.mk: Likewise.
19583 * conf/i386.mk: Likewise.
19584 * conf/i386-pc.mk: Likewise.
19585 * conf/powerpc-ieee1275.mk: Likewise.
19586 * conf/sparc64-ieee1275.mk: Likewise.
19587 * conf/x86_64-efi.mk: Likewise.
19588
19589 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
19590 develop on GRUB.
19591
19592 2009-04-14 John Stanley <jpsinthemix@verizon.net>
19593 David S. Miller <davem@davemloft.net>
19594
19595 * util/hostdisk.c (make_device_name): Fix buffer length
19596 calculations.
19597
19598 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19599
19600 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
19601 <sys/param.h> and <sys/sysctl.h>.
19602 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
19603 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
19604 opening the device and reset them afterwards.
19605
19606 2009-04-13 Pavel Roskin <proski@gnu.org>
19607
19608 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
19609 Reported by John Stanley <jpsinthemix@verizon.net>
19610
19611 2009-04-13 Robert Millan <rmh@aybabtu.com>
19612
19613 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
19614 that name for menuentries when appropriate.
19615
19616 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19617
19618 * util/grub.d/10_freebsd.in: Add a missing `fi'.
19619
19620 2009-04-13 Robert Millan <rmh@aybabtu.com>
19621
19622 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
19623 to Linux, simply abort telling the user it's no longer supported.
19624
19625 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19626
19627 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
19628 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
19629 `freebsd_loadenv' only when devices.hints exist.
19630
19631 2009-04-13 Pavel Roskin <proski@gnu.org>
19632
19633 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
19634
19635 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19636
19637 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
19638 partition number.
19639 (grub_drive): Likewise.
19640
19641 2009-04-13 David S. Miller <davem@davemloft.net>
19642
19643 * kern/sparc64/ieee1275/ieee1275.c: New file.
19644 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
19645 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
19646 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
19647 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
19648 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
19649 grub_ieee1275_alloc_physmem): Declare new exported functions.
19650
19651 * include/grub/sparc64/ieee1275/loader.h: New file.
19652 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19653 * include/grub/sparc64/kernel.h: Likewise.
19654 * loader/sparc64/ieee1275/linux.c: Likewise.
19655
19656 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
19657 (grub_fstest_SOURCES): Likewise.
19658
19659 * util/hostdisk.c (make_device_name): Do not make any assumptions
19660 about the length of drive names.
19661
19662 * kern/dl.c (grub_dl_load_file): Close file immediately when
19663 we are done using it.
19664
19665 2009-04-12 David S. Miller <davem@davemloft.net>
19666
19667 * kern/misc.c (grub_ltoa): Fix cast when handling negative
19668 values. Noticed by Pavel Roskin.
19669
19670 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
19671 target compiler.
19672
19673 * genmk.rb: Add more flexible image type specification, also
19674 pass --strip-unneeded to objcopy.
19675 * conf/i386-pc.rmk: Use *_FORMAT.
19676 * conf/i386-pc.mk: Rebuilt.
19677
19678 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
19679 (OFDISK_HASH_SZ): Define.
19680 (ofdisk_hash): New hash table.
19681 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
19682 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
19683 instead of device phandle which is not unique.
19684
19685 * kern/sparc64/ieee1275/init.c: Delete, replace with...
19686 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
19687 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
19688 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
19689 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
19690 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
19691 GRUB_KERNEL_MACHINE_DATA_END): Define.
19692 (grub_kernel_image_size, grub_total_module_size): Declare.
19693
19694 2009-04-12 Pavel Roskin <proski@gnu.org>
19695
19696 * configure.ac: Change the logic when we check for target tools.
19697 Do it when the target is specified and it's different from the
19698 specified value of the host.
19699
19700 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
19701
19702 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
19703 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
19704 GNU/kFreeBSD. Check if a device is a character device. Use
19705 DIOCGMEDIASIZE to get the size.
19706 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
19707 support for GNU/kFreeBSD.
19708 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
19709 is a character device instead of a block device. Add support for
19710 FreeBSD device names.
19711
19712 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
19713 is a character device instead of a block device.
19714
19715 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
19716 is a character device instead of a block device.
19717
19718 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
19719
19720 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
19721 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
19722 FreeBSD. Check if a device is a character device. Use
19723 DIOCGMEDIASIZE to get the size.
19724 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
19725 support for FreeBSD.
19726 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
19727 is a character device instead of a block device. Add support for
19728 FreeBSD device names.
19729
19730 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
19731 a character device instead of a block device.
19732 (grub_util_check_char_device): New function.
19733
19734 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
19735 a character device instead of a block device.
19736
19737 * include/grub/util/getroot.h (grub_util_check_char_device): New
19738 prototype.
19739
19740 2009-04-11 David S. Miller <davem@davemloft.net>
19741
19742 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
19743 static libgcc.
19744 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
19745 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
19746 function, if present.
19747 (__bswapdi2): Likewise.
19748
19749 * include/grub/sparc64/ieee1275/boot.h: New file.
19750 * boot/sparc64/ieee1275/boot.S: Likewise.
19751 * boot/sparc64/ieee1275/diskboot.S: Likewise.
19752
19753 * kern/misc.c (grub_ltoa): New function.
19754 (grub_vsprintf): Use it to format 'long' integers.
19755
19756 2009-04-10 David S. Miller <davem@davemloft.net>
19757
19758 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
19759 slots are of type grub_ieee1275_cell_t.
19760 (grub_nand_read): Likewise.
19761 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
19762 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
19763 macros are used to compare values in arg/ret block of the call.
19764 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19765 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
19766 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
19767 grub_ieee1275_instance_to_path, grub_ieee1275_write,
19768 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
19769 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
19770 grub_ieee1275_close, grub_ieee1275_set_property,
19771 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
19772 grub_ieee1275_cell_t.
19773 * kern/ieee1275/openfw.c (grub_map): Likewise.
19774 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
19775 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
19776
19777 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
19778 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
19779 (grub_devalias_iterate): Likewise.
19780
19781 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19782
19783 UFS improvements
19784
19785 * fs/ufs.c (INODE_NBLOCKS): new definition
19786 (struct grub_ufs_dirent): added fields for non-BSD dirents
19787 (grub_ufs_get_file_block): fixed double indirect handling
19788 (grub_ufs_lookup_symlink): use more robust way to determine whether
19789 symlink is inline
19790 (grub_ufs_find_file): support for non-BSD dirents
19791 (grub_ufs_dir): support for non-BSD dirents
19792
19793 2009-04-10 Bean <bean123ch@gnail.com>
19794
19795 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
19796 attribute, otherwise the size would be wrong for i386 platform.
19797
19798 * include/grub/pci.h (grub_pci_read_word): New inline function.
19799 (grub_pci_read_byte): Likewise.
19800 (grub_pci_write): Likewise.
19801 (grub_pci_write_word): Likewise.
19802 (grub_pci_write_byte): Likewise.
19803
19804 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
19805
19806 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
19807 (find_framebuf): Scan pci to locate the frame buffer address.
19808
19809 * commands/efi/fixvideo.c: New file.
19810
19811 * commands/efi/loadbios.c: Likewise.
19812
19813 * commands/memrw.c: Likewise.
19814
19815 * util/grub-dumpbios.in: Likewise.
19816
19817 * conf/common.rmk (grub-dumpbios): New utility.
19818 (pkglib_MODULES): New module memrw.mod.
19819 (memrw_mod_SOURCE): New macro.
19820 (memrw_mod_CFLAGS): Likewise.
19821 (memrw_mod_LDFLAGS): Likewise.
19822
19823 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
19824 fixvideo.mod.
19825 (loadbios_mod_SOURCE): New macro.
19826 (loadbios_mod_CFLAGS): Likewise.
19827 (loadbios_mod_LDFLAGS): Likewise.
19828 (fixvideo_mod_SOURCE): Likewise.
19829 (fixvideo_mod_CFLAGS): Likewise.
19830 (fixvideo_mod_LDFLAGS): Likewise.
19831
19832 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
19833 fixvideo.mod.
19834 (loadbios_mod_SOURCE): New macro.
19835 (loadbios_mod_CFLAGS): Likewise.
19836 (loadbios_mod_LDFLAGS): Likewise.
19837 (fixvideo_mod_SOURCE): Likewise.
19838 (fixvideo_mod_CFLAGS): Likewise.
19839 (fixvideo_mod_LDFLAGS): Likewise.
19840
19841 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
19842
19843 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
19844
19845 2009-04-07 David S. Miller <davem@davemloft.net>
19846
19847 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
19848 support for R_SPARC_OLO10 relocations. Fix compile warning for
19849 R_SPARC_WDISP30 case.
19850 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
19851
19852 2009-04-06 Pavel Roskin <proski@gnu.org>
19853
19854 * include/grub/misc.h (ARRAY_SIZE): New macro.
19855 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
19856 New macro.
19857 * loader/i386/linux.c (allocate_pages): Use free_pages().
19858 (grub_linux_unload): Don't use free_pages().
19859 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
19860 wrong index. Treat all other modes as text modes.
19861 (grub_cmd_linux): Initialize vid_mode unconditionally to
19862 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
19863
19864 * commands/help.c (print_command_help): Use cmd->prio, not
19865 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
19866
19867 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19868
19869 Parttool
19870
19871 * parttool/pcpart.c: new file
19872 * commands/parttool.c: likewise
19873 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
19874 (parttool_mod_SOURCES): new variable
19875 (parttool_mod_CFLAGS): likewise
19876 (parttool_mod_LDFLAGS): likewise
19877 (pcpart_mod_SOURCES): likewise
19878 (pcpart_mod_CFLAGS): likewise
19879 (pcpart_mod_LDFLAGS): likewise
19880 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
19881 and parttool/pcpart.c
19882 * conf/i386-efi.rmk: likewise
19883 * conf/i386-ieee1275.rmk: likewise
19884 * conf/i386-pc.rmk: likewise
19885 * conf/powerpc-ieee1275.rmk: likewise
19886 * conf/sparc64-ieee1275.rmk: likewise
19887 * conf/x86_64-ieee1275.rmk: likewise
19888
19889 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19890
19891 Support for mtime and further expandability of dir command
19892
19893 * include/grub/lib/datetime.h: moved to ...
19894 * include/grub/datetime.h: ... moved here and added
19895 declaration of grub_unixtime2datetime. All users updated
19896 * include/grub/fs.h: new syntax for dir and mtime functions in
19897 struct grub_fs
19898 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
19899 and GRUB_FSHELP_FLAGS_MASK
19900 * commands/ls.c (grub_ls_list_files): Write mtime in long format
19901 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
19902 (grub_ext2_mtime): new function
19903 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
19904 (grub_hfsplus_mtime): new function
19905 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
19906 (GRUB_UFS_ATTR_FILE): likewise
19907 (GRUB_UFS_ATTR_LNK): likewise
19908 (struct grub_ufs_sblock): new fields mtime
19909 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
19910 all users updated
19911 (grub_ufs_dir): mtime support
19912 (grub_ufs_mtime): new function
19913 * fs/affs.c (grub_affs_dir): use new dir syntax
19914 * fs/afs.c (grub_afs_dir): likewise
19915 * fs/cpio.c (grub_cpio_dir): likewise
19916 * fs/fat.c (grub_fat_find_dir): likewise
19917 * fs/hfs.c (grub_hfs_dir): likewise
19918 * fs/iso9660.c (grub_iso9660_dir): likewise
19919 * fs/jfs.c (grub_jfs_dir): likewise
19920 * fs/minix.c (grub_minix_dir): likewise
19921 * fs/ntfs.c (grub_ntfs_dir): likewise
19922 * fs/reiserfs.c (grub_reiserfs_dir): likewise
19923 * fs/sfs.c (grub_sfs_dir): likewise
19924 * fs/xfs.c (grub_xfs_dir): likewise
19925 * util/hostfs.c (grub_hostfs_dir): likewise
19926 * lib/datetime.c: moved to ...
19927 * normal/datetime.c: ... moved here
19928 (grub_unixtime2datetime): new function
19929 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
19930 * normal/completion.c (iterate_dir): use new dir syntax
19931 * normal/misc.c (grub_normal_print_device_info): tell the
19932 last modification time of a volume
19933 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
19934 * conf/common.rmk: added lib/datetime.c to ls.mod
19935 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
19936 (normal_mod_SOURCES): likewise
19937 (datetime_mod_SOURCES): Removed lib/datetime.c
19938 * conf/i386-efi.rmk: likewise
19939 * conf/i386-ieee1275.rmk: likewise
19940 * conf/i386-pc.rmk: likewise
19941 * conf/powerpc-ieee1275.rmk: likewise
19942 * conf/sparc64-ieee1275.rmk: likewise
19943 * conf/x86_64-efi.rmk: likewise
19944
19945 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19946
19947 Trim trailing spaces in FAT label and support mtools-like labels
19948
19949 * fs/fat.c (grub_fat_iterate_dir): New function based
19950 on grub_fat_find_dir
19951 (grub_fat_find_dir): use grub_fat_iterate_dir
19952 (grub_fat_label): likewise
19953
19954 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19955
19956 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
19957 and command.h
19958 remove extraneous kernel_elf_HEADERS
19959
19960 2009-04-04 Bean <bean123ch@gnail.com>
19961
19962 * include/grub/util/misc.h: Add dummy function fsync for mingw.
19963
19964 * util/misc.c: Likewise.
19965
19966 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19967
19968 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
19969 instead of grub_printf.
19970
19971 2009-04-03 Robert Millan <rmh@aybabtu.com>
19972
19973 * loader/i386/linux.c (grub_linux_setup_video): Fill
19974 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
19975 values from `mode info' structure instead of hardcoded
19976 values.
19977
19978 2009-04-01 Pavel Roskin <proski@gnu.org>
19979
19980 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
19981 unused now.
19982 * genmk.rb: Likewise.
19983 * configure.ac: Likewise.
19984
19985 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
19986
19987 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
19988 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
19989
19990 2009-04-01 David S. Miller <davem@davemloft.net>
19991
19992 * normal/sparc64/setjmp.S: Fix setjmp implementation.
19993 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
19994 (grub_setjmp): Mark with 'returns_twice' attribute.
19995 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
19996 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
19997 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
19998
19999 2009-04-01 Robert Millan <rmh@aybabtu.com>
20000
20001 Reapply fix from 2008-07-28 which was accidentally reverted; also
20002 perform the same fix to a similar check in same function.
20003
20004 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
20005 with the same number are found, just use issue a warning with
20006 grub_dprintf(), as this error has been reported to be non-fatal.
20007
20008 2009-03-31 Pavel Roskin <proski@gnu.org>
20009
20010 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
20011 for cross-compilation.
20012
20013 2009-03-30 Robert Millan <rmh@aybabtu.com>
20014
20015 Fix i386-ieee1275 build.
20016
20017 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
20018 Remove declaration.
20019
20020 2009-03-30 Pavel Roskin <proski@gnu.org>
20021
20022 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
20023 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
20024 zero-terminated, rely only on the strlen value. Fix comparison
20025 of strings differing in length.
20026
20027 2009-03-30 Robert Millan <rmh@aybabtu.com>
20028
20029 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
20030 checking for abi version. Improve error messages on BIOS to notify
20031 user about `linux16' command.
20032
20033 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20034
20035 Leak fixes
20036
20037 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
20038 in case of collision
20039 * disk/scsi.c (grub_scsi_open): free scsi in case of error
20040
20041 2009-03-29 Robert Millan <rmh@aybabtu.com>
20042
20043 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
20044 set `vid_mode' accordingly.
20045 (grub_linux_boot): Process `vid_mode' and set video mode.
20046
20047 2009-03-29 Robert Millan <rmh@aybabtu.com>
20048
20049 * util/grub.d/10_linux.in (linux_entry): New function.
20050 Factorize generation of Linux boot entries.
20051
20052 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
20053
20054 Make the format of Environment Block plain text. The boot loader
20055 part is not tested well yet.
20056
20057 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
20058 (buffer): Removed.
20059 (envblk): Likewise.
20060 (usage): Remove "info" and "clear". Add "unset". Update the
20061 description of "set", as this does not delete variables any
20062 longer.
20063 (create_envblk_file): Complete rewrite.
20064 (open_envblk_file): Likewise.
20065 (cmd_info): Removed.
20066 (cmd_list): Likewise.
20067 (cmd_set): Likewise.
20068 (cmd_clear): Likewise.
20069 (list_variables): New function.
20070 (write_envblk): Likewise.
20071 (set_variables): Likewise.
20072 (unset_variables): Likewise.
20073 (main): Complete rewrite.
20074
20075 * commands/loadenv.c (buffer): Removed.
20076 (envblk): Likewise.
20077 (open_envblk_file): New function.
20078 (read_envblk_file): Complete rewrite.
20079 (grub_cmd_load_env): Likewise.
20080 (grub_cmd_list_env): Likewise.
20081 (struct blocklist): New struct.
20082 (free_blocklists): New function.
20083 (check_blocklists): Likewise.
20084 (write_blocklists): Likewise.
20085 (grub_cmd_save_env): Complete rewrite.
20086
20087 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
20088 a plain text signature.
20089 (GRUB_ENVBLK_MAXLEN): Removed.
20090 (struct grub_envblk): Complete rewrite.
20091 (grub_envblk_find): Removed.
20092 (grub_envblk_insert): Likewise.
20093 (grub_envblk_open): New prototype.
20094 (grub_envblk_set): Likewise.
20095 (grub_envblk_delete): Put const to VALUE.
20096 (grub_envblk_iterate): Put const to NAME and VALUE.
20097 (grub_envblk_close): New prototype.
20098 (grub_envblk_buffer): New inline function.
20099 (grub_envblk_size): Likewise.
20100
20101 * lib/envblk.c: Include grub/mm.h.
20102 (grub_env_find): Removed.
20103 (grub_envblk_open): New function.
20104 (grub_envblk_close): Likewise.
20105 (escaped_value_len): Likewise.
20106 (find_next_line): Likewise.
20107 (grub_envblk_insert): Removed.
20108 (grub_envblk_set): New function.
20109 (grub_envblk_delete): Complete rewrite.
20110 (grub_envblk_iterate): Likewise.
20111
20112 2009-03-28 Robert Millan <rmh@aybabtu.com>
20113
20114 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
20115 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
20116 variables. Use 16-bit loader.
20117 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
20118 loader.
20119 * kern/i386/loader.S (grub_linux_boot): Rename to ...
20120 (grub_linux16_boot): ... this. Update all users.
20121 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
20122 (grub_linux_boot): ... this. Update all users.
20123
20124 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
20125 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
20126 commands to `linux16' and `initrd16'.
20127 (GRUB_MOD_FINI(linux)): Rename to ...
20128 (GRUB_MOD_FINI(linux16)): ... this.
20129
20130 2009-03-24 Pavel Roskin <proski@gnu.org>
20131
20132 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
20133 not just for compilation.
20134
20135 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
20136
20137 Move multiboot helper out of kernel
20138
20139 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
20140 `loader/i386/multiboot_helper.S'.
20141 * conf/i386-coreboot.rmk: Likewise
20142 * conf/i386-ieee1275.rmk: Likewise
20143
20144 * kern/i386/loader.S: Move multiboot helpers from here...
20145 * loader/i386/multiboot_helper.S: ...moved here
20146 * include/grub/i386/loader.h: Move declarations of multiboot
20147 helpers from here...
20148 * include/grub/i386/multiboot.h: ...moved here
20149 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
20150
20151 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20152
20153 * kern/env.c (grub_env_context_open): Added an argument to specify
20154 whether a new context inherits exported variables from current
20155 one. This is useful when making a sandbox to interpret a config
20156 file.
20157 All callers updated.
20158
20159 * include/grub/env.h (grub_env_context_open): Updated the prototype.
20160
20161 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20162
20163 * kern/env.c (grub_env_context_close): Fix memory leaks.
20164
20165 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20166
20167 * normal/main.c (grub_normal_execute): Added an argument
20168 BATCH to specify if an interactive interface should be provided
20169 after reading a config file.
20170 All callers updated.
20171 (read_command_list): Prevent being executed twice.
20172 (read_fs_list): Likewise.
20173
20174 * include/grub/normal.h (grub_normal_execute): Updated the
20175 prototype.
20176
20177 2009-03-22 Pavel Roskin <proski@gno.org>
20178
20179 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
20180 _start.
20181 * kern/i386/pc/startup.S: Likewise.
20182 * kern/i386/efi/startup.S: Likewise.
20183 * kern/i386/ieee1275/startup.S: Likewise.
20184 * kern/i386/coreboot/startup.S: Likewise.
20185 * kern/x86_64/efi/startup.S: Likewise.
20186
20187 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
20188 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
20189 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
20190
20191 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
20192
20193 Bugfixes in multiboot for bugs uncovered by solaris kernel.
20194
20195 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
20196 limit detection.
20197 Use vaddr of correct segment for entry_point.
20198
20199 2009-03-21 Bean <bean123ch@gmail.com>
20200
20201 * commands/blocklist.c: Add include file <grub/command.h>, remove
20202 <grub/normal.h> and <grub/arg.h>.
20203 (grub_cmd_blocklist): Use the new command interface.
20204 (GRUB_MOD_INIT): Likewise.
20205 (GRUB_MOD_FINI): Likewise.
20206 * commands/boot.c: Likewise.
20207 * commands/cat.c: Likewise.
20208 * commands/cmp.c: Likewise.
20209 * commands/configfile.c: Likewise.
20210 * commands/crc.c: Likewise.
20211 * commands/echo.c: Likewise.
20212 * commands/halt.c: Likewise.
20213 * commands/handler.c: Likewise.
20214 * commands/hdparm.c: Likewise.
20215 * commands/help.c: Likewise.
20216 * commands/hexdump.c: Likewise.
20217 * commands/loadenv.c: Likewise.
20218 * commands/ls.c: Likewise.
20219 * commands/lsmmap.c: Likewise.
20220 * commands/lspci.c: Likewise.
20221 * commands/loadenv.c: Likewise.
20222 * commands/read.c: Likewise.
20223 * commands/reboot.c: Likewise.
20224 * commands/search.c: Likewise.
20225 * commands/sleep.c: Likewise.
20226 * commands/test.c: Likewise.
20227 * commands/usbtest.c: Likewise.
20228 * commands/videotest.c: Likewise.
20229 * commands/i386/cpuid.c: Likewise.
20230 * commands/i386/pc/halt.c: Likewise.
20231 * commands/i386/pc/play.c: Likewise.
20232 * commands/i386/pc/pxecmd.c: Likewise.
20233 * commands/i386/pc/vbeinfo.c: Likewise.
20234 * commands/i386/pc/vbetest.c: Likewise.
20235 * commands/ieee1275/suspend.c: Likewise.
20236 * disk/loopback.c: Likewise.
20237 * font/font_cmd.c: Likewise.
20238 * hello/hello.c: Likewise.
20239 * loader/efi/appleloader.c: Likewise.
20240 * loader/efi/chainloader.c: Likewise.
20241 * loader/i386/bsd.c: Likewise.
20242 * loader/i386/efi/linux.c: Likewise.
20243 * loader/i386/ieee1275/linux.c: Likewise.
20244 * loader/i386/linux.c: Likewise.
20245 * loader/i386/pc/chainloader.c: Likewise.
20246 * loader/i386/pc/linux.c: Likewise.
20247 * loader/powerpc/ieee1275/linux.c: Likewise.
20248 * loader/multiboot_loader.c: Likewise.
20249 * term/gfxterm.c: Likewise.
20250 * term/i386/pc/serial.c: Likewise.
20251 * term/terminfo.c: Likewise.
20252
20253 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
20254 * term/i386/pc/vga.c: Likewise.
20255 * video/readers/jpeg.c: Likewise.
20256 * video/readers/png.c: Likewise.
20257 * video/readers/tga.c: Likewise.
20258
20259 * util/grub-fstest (cmd_loopback): Removed.
20260 (cmd_blocklist): Likewise.
20261 (cmd_ls): Likewise.
20262 (grub_register_command): Likewise.
20263 (grub_unregister_command): Likewise.
20264 (execute_command): Use grub_command_find to locate command and execute
20265 it.
20266
20267 * include/grub/efi/chainloader.h: Removed.
20268 * loader/efi/chainloader_normal.c: Likewise.
20269 * loader/i386/bsd_normal.c: Likewise.
20270 * loader/i386/pc/chainloader_normal.c: Likewise.
20271 * loader/i386/pc/multiboot_normal.c: Likewise.
20272 * loader/linux_normal.c: Likewise.
20273 * loader/multiboot_loader_normal.c: Likewise.
20274 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20275
20276 * gencmdlist.sh: Scan new registration command grub_register_extcmd
20277 and grub_register_command_p1.
20278
20279 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
20280 kern/command.c, lib/arg.c and commands/extcmd.c.
20281 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
20282 (minicmd_mod_SOURCES): New variable.
20283 (minicmd_mod_CFLAGS): Likewise.
20284 (minicmd_mod_LDFLAGS): Likewise.
20285 (extcmd_mod_SOURCES): Likewise.
20286 (extcmd_mod_CFLAGS): Likewise.
20287 (extcmd_mod_LDFLAGS): Likewise.
20288 (boot_mod_SOURCES): Removed.
20289 (boot_mod_CFLAGS): Likewise.
20290 (boot_mod_LDFLAGS): Likewise.
20291
20292 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
20293 kern/corecmd.c.
20294 (kernel_img_HEADERS): Add command.h.
20295 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
20296 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
20297 and lib/arg.c.
20298 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
20299 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
20300 remove the corresponding normal mode command.
20301 (normal_mod_SOURCES): Remove normal/arg.c.
20302 * conf/i386-coreboot.rmk: Likewise.
20303 * conf/i386-efi.rmk: Likewise.
20304 * conf/i386-ieee1275.rmk: Likewise.
20305 * conf/powerpc-ieee1275.rmk: Likewise.
20306 * conf/x86_64-efi.rmk: Likewise.
20307
20308 * include/grub/arg.h: Move from here ...
20309 * include/grub/lib/arg.h: ... to here.
20310
20311 * normal/arg.c: Move from here ...
20312 * lib/arg.c: ... to here.
20313
20314 * commands/extcmd.c: New file.
20315 * commands/minicmd.c: Likewise.
20316 * include/grub/command.h: Likewise.
20317 * include/grub/extcmd.h: Likewise.
20318 * kern/command.c: Likewise.
20319 * kern/corecmd.c: Likewise.
20320
20321 * kern/list.c (grub_list_iterate): Return int instead of void.
20322 (grub_list_insert): New function.
20323 (grub_prio_list_insert): Likewise.
20324
20325 * kern/rescue.c (grub_rescue_command): Removed.
20326 (grub_rescue_command_list): Likewise.
20327 (grub_rescue_register_command): Likewise.
20328 (grub_rescue_unregister_command): Likewise.
20329 (grub_rescue_cmd_boot): Move to minicmd.c
20330 (grub_rescue_cmd_help): Likewise.
20331 (grub_rescue_cmd_info): Likewise.
20332 (grub_rescue_cmd_boot): Likewise.
20333 (grub_rescue_cmd_testload): Likewise.
20334 (grub_rescue_cmd_dump): Likewise.
20335 (grub_rescue_cmd_rmmod): Likewise.
20336 (grub_rescue_cmd_lsmod): Likewise.
20337 (grub_rescue_cmd_exit): Likewise.
20338 (grub_rescue_print_devices): Moved to corecmd.c.
20339 (grub_rescue_print_files): Likewise.
20340 (grub_rescue_cmd_ls): Likewise.
20341 (grub_rescue_cmd_insmod): Likewise.
20342 (grub_rescue_cmd_set): Likewise.
20343 (grub_rescue_cmd_unset): Likewise.
20344 (attempt_normal_mode): Use grub_command_find to get normal module.
20345 (grub_enter_rescue_mode): Use grub_register_core_commands to register
20346 commands, remove grub_rescue_register_command calls.
20347
20348 * normal/command.c (grub_register_command): Removed.
20349 (grub_unregister_command): Likewise.
20350 (grub_command_find): Likewise.
20351 (grub_iterate_commands): Likewise.
20352 (rescue_command): Likewise.
20353 (export_command): Moved to corecmd.c.
20354 (set_command): Removed.
20355 (unset_command): Likewise.
20356 (insmod_command): Likewise.
20357 (rmmod_command): Likewise.
20358 (lsmod_command): Likewise.
20359 (grub_command_init): Likewise.
20360
20361 * normal/completion.c (iterate_command): Use cmd->prio to check for
20362 active command.
20363 (complete_arguments): Use grub_extcmd_t structure to find options.
20364 (grub_normal_do_completion): Change function grub_iterate_commands to
20365 grub_command_iterate.
20366
20367 * normal/execute.c (grub_script_execute_cmd): No need to parse
20368 argument here.
20369
20370 * normal/main.c (grub_dyncmd_dispatcher): New function.
20371 (read_command_list): Register unload commands as dyncmd.
20372 (grub_cmd_normal): Use new command interface, register rescue,
20373 unregister normal at entry, register normal, unregister rescue at exit.
20374
20375 * include/grub/list.h (grub_list_test_t): New type.
20376 (grub_list_iterate): Return int instead of void.
20377 (grub_list_insert): New function.
20378 (GRUB_AS_NAMED_LIST_P): New macro.
20379 (GRUB_AS_PRIO_LIST): Likewise.
20380 (GRUB_AS_PRIO_LIST_P): Likewise.
20381 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
20382 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
20383 (grub_prio_list): New structure.
20384 (grub_prio_list_insert): New function.
20385 (grub_prio_list_remove): New inline function.
20386
20387 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
20388 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
20389 (GRUB_COMMAND_FLAG_MENU): Likewise.
20390 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20391 (GRUB_COMMAND_FLAG_TITLE): Likewise.
20392 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20393 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
20394 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
20395 (grub_command): Likewise.
20396 (grub_register_command): Likewise.
20397 (grub_command_find): Likewise.
20398 (grub_iterate_commands): Likewise.
20399 (grub_command_init): Likewise.
20400 (grub_arg_parse): Likewise.
20401 (grub_arg_show_help): Likewise.
20402
20403 * include/grub/rescue.h (grub_rescue_register_command): Removed.
20404 (grub_rescue_unregister_command): Likewise.
20405
20406 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
20407 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
20408 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
20409
20410 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
20411 grub_rescue_cmd_initrd.
20412 * include/grub/i386/loader.h: Likewise.
20413 * include/grub/x86_64/loader.h: Likewise.
20414
20415 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
20416
20417 2009-03-21 Bean <bean123ch@gmail.com>
20418
20419 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
20420 instead of stat in mingw environment.
20421
20422 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
20423
20424 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
20425
20426 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
20427 AC_CONFIG_LINKS.
20428
20429 2009-03-21 Bean <bean123ch@gmail.com>
20430
20431 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
20432 out of range error.
20433
20434 2009-03-18 Michel Dänzer <michel@daenzer.net>
20435
20436 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
20437 checking inode flags for EXT4_EXTENTS_FLAG.
20438
20439 2009-03-18 Robert Millan <rmh@aybabtu.com>
20440
20441 * loader/i386/linux.c: Include `<grub/video.h>' and
20442 `<grub/i386/pc/vbe.h>'..
20443 (grub_linux_setup_video): New function. Loosely based on the EFI one.
20444 (grub_linux32_boot): Attempt to configure video settings with
20445 grub_linux_setup_video().
20446 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
20447 to avoid grub_console_fini() which would step out of graphical mode
20448 unconditionally.
20449
20450 2009-03-14 Robert Millan <rmh@aybabtu.com>
20451
20452 Fix build on powerpc.
20453 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
20454
20455 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
20456
20457 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
20458 background image command.
20459
20460 2009-03-12 Colin D Bennett <colin@gibibit.com>
20461
20462 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
20463 (grub_gfxterm_putchar): Extract pairs of identical calls to
20464 draw_cursor out of conditional blocks.
20465
20466 2009-03-11 Pavel Roskin <proski@gnu.org>
20467
20468 * fs/hfs.c (grub_hfs_strncasecmp): New function.
20469 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
20470
20471 2009-03-11 Robert Millan <rmh@aybabtu.com>
20472
20473 * loader/i386/multiboot_elfxx.c
20474 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
20475
20476 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
20477
20478 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
20479 `kern/handler.c'.
20480
20481 2009-03-11 Robert Millan <rmh@aybabtu.com>
20482
20483 * loader/i386/multiboot.c (code_size): New variable.
20484 (grub_multiboot): Define offsets by adding to `code_size' rather
20485 than subtracting from `grub_multiboot_payload_size'. Provide
20486 4-byte alignment to MBI and others by increasing
20487 `boot_loader_name_length' appropriately.
20488
20489 * loader/i386/multiboot_elfxx.c
20490 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
20491
20492 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
20493
20494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
20495 `fs/ext2.c'.
20496
20497 2009-03-08 Robert Millan <rmh@aybabtu.com>
20498
20499 Make loader/i386/linux.c usable on i386-pc again.
20500
20501 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
20502 memory to heap.
20503 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
20504 `#error' stanza.
20505
20506 2009-03-07 Bean <bean123ch@gmail.com>
20507
20508 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
20509 allocation.
20510
20511 2009-03-06 Robert Millan <rmh@aybabtu.com>
20512
20513 Fix display issue on terminals with screen size other than 80x25
20514 (e.g. gfxterm with resolution higher than 640x480).
20515
20516 * normal/main.c (grub_normal_init_page): Display title text in a
20517 position relative to the center of the terminal instead of relying
20518 on a hardcoded offset.
20519
20520 2009-03-04 Robert Millan <rmh@aybabtu.com>
20521
20522 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
20523 installed.
20524
20525 * Makefile.in (host_kernel): New variable.
20526 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
20527 scripts instead of just the windows one.
20528 * configure.ac: Initialize and AC_SUBST `host_kernel'.
20529
20530 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20531
20532 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
20533 `kern/handler.c'.
20534 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20535 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20536 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20538 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20539 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20540
20541 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20542
20543 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
20544 or if there's no space for the disk label and print the partition number on a
20545 invalid magic.
20546
20547 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20548
20549 * util/misc.c: Include <time.h>.
20550 (grub_millisleep): New function.
20551
20552 2009-03-04 Bean <bean123ch@gmail.com>
20553
20554 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
20555 another option -mno-red-zone.
20556
20557 * commands/handler.c: Change module description.
20558
20559 * kern/handler.c: Add missing space at the end of description line.
20560
20561 * kern/list.c: Likewise.
20562
20563 2009-03-03 Robert Millan <rmh@aybabtu.com>
20564
20565 Move more components to the relocation area, and fix mbi pointer
20566 handling to use the destination rather than the origin (thanks to
20567 Vladimir Serbinenko for spotting).
20568
20569 * loader/i386/multiboot.c (mbi_dest): New variable.
20570 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
20571 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
20572 relocation area.
20573
20574 2009-03-01 Bean <bean123ch@gmail.com>
20575
20576 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
20577 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
20578 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
20579 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
20580
20581 * loader/i386/efi/linux.c (acpi_guid): New variable.
20582 (acpi_guid): Likewise.
20583 (EBDA_SEG_ADDR): New constant.
20584 (LOW_MEM_ADDR): Likewise.
20585 (FAKE_EBDA_SEG): Likewise.
20586 (fake_bios_data): New function.
20587 (grub_linux_boot): Call fake_bios_data.
20588
20589 2009-03-01 Bean <bean123ch@gmail.com>
20590
20591 * commands/terminal.c: Removed.
20592
20593 * commands/handler.c: New file.
20594
20595 * include/grub/list.h: Likewise.
20596
20597 * include/grub/handler.h: Likewise.
20598
20599 * kern/list.c: Likewise.
20600
20601 * kern/handler.c: Likewise.
20602
20603 * kern/term.h: Include header file <grub/handler.h>.
20604 (grub_term_input): Move next field to the beginning.
20605 (grub_term_output): Likewise.
20606 (grub_term_input_class): New variable.
20607 (grub_term_output_class): Likewise.
20608 (grub_term_register_input): Changed to inline function.
20609 (grub_term_register_output): Likewise.
20610 (grub_term_unregister_input): Likewise.
20611 (grub_term_unregister_output): Likewise.
20612 (grub_term_set_current_input): Likewise.
20613 (grub_term_set_current_output): Likewise.
20614 (grub_term_get_current_input): Likewise.
20615 (grub_term_get_current_output): Likewise.
20616 (grub_term_iterate_input): Removed.
20617 (grub_term_iterate_output): Likewise.
20618
20619 * kern/term.c (grub_term_list_input): Removed.
20620 (grub_term_list_output): Likewise.
20621 (grub_term_input_class): New variable.
20622 (grub_term_output_class): Likewise.
20623 (grub_cur_term_input): Change variable as macro.
20624 (grub_cur_term_output): Likewise.
20625 (grub_term_register_input): Removed.
20626 (grub_term_register_output): Likewise.
20627 (grub_term_unregister_input): Likewise.
20628 (grub_term_unregister_output): Likewise.
20629 (grub_term_set_current_input): Likewise.
20630 (grub_term_set_current_output): Likewise.
20631 (grub_term_iterate_input): Likewise.
20632 (grub_term_iterate_output): Likewise.
20633 (grub_term_get_current_input): Likewise.
20634 (grub_term_get_current_output): Likewise.
20635
20636 * util/grub-editenv.c: Include header file <grub/handler.h>.
20637 (grub_term_get_current_input): Removed.
20638 (grub_term_get_current_output): Likewise.
20639 (grub_term_input_class): New variable.
20640 (grub_term_output_class): Likewise.
20641
20642 * util/grub-fstest.c (grub_term_get_current_input): Removed.
20643 (grub_term_get_current_output): Likewise.
20644 (grub_term_input_class): New variable.
20645 (grub_term_output_class): Likewise.
20646
20647 * util/grub-probe.c (grub_term_get_current_input): Removed.
20648 (grub_term_get_current_output): Likewise.
20649 (grub_term_input_class): New variable.
20650 (grub_term_output_class): Likewise.
20651
20652 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
20653 (grub_term_get_current_output): Likewise.
20654 (grub_term_input_class): New variable.
20655 (grub_term_output_class): Likewise.
20656
20657 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
20658 (terminal_mod_SOURCES): Likewise.
20659 (terminal_mod_CFLAGS): Likewise.
20660 (terminal_mod_LDFLAGS): Likewise.
20661
20662 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
20663 handler.c.
20664 (kernel_img_SOURCES): Add list.c and handler.c.
20665 (kernel_img_HEADERS): Add list.h and handler.h.
20666
20667 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20668 handler.c.
20669 (kernel_mod_SOURCES): Add list.c and handler.c.
20670 (kernel_mod_HEADERS): Add list.h and handler.h.
20671
20672 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
20673 handler.c.
20674 (kernel_elf_SOURCES): Add list.c and handler.c.
20675 (kernel_elf_HEADERS): Add list.h and handler.h.
20676
20677 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20678 handler.c.
20679 (kernel_elf_SOURCES): Add list.c and handler.c.
20680 (kernel_elf_HEADERS): Add list.h and handler.h.
20681
20682 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20683 handler.c.
20684 (kernel_mod_SOURCES): Add list.c and handler.c.
20685 (kernel_mod_HEADERS): Add list.h and handler.h.
20686
20687 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20688 handler.c.
20689 (kernel_elf_SOURCES): Add list.c and handler.c.
20690 (kernel_elf_HEADERS): Add list.h and handler.h.
20691
20692 2009-02-27 Robert Millan <rmh@aybabtu.com>
20693
20694 Factorize elf32 / elf64 code in Multiboot loader. This will
20695 prevent it from getting out of sync again.
20696
20697 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
20698 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
20699 grub_multiboot_load_elf64): Move from here ...
20700 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
20701 grub_multiboot_load_elf): ... to here (new file).
20702
20703 2009-02-27 Robert Millan <rmh@aybabtu.com>
20704
20705 * util/grub.d/10_linux.in: Rename "single-user mode" to
20706 "recovery mode".
20707
20708 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
20709
20710 Don't leak in SCSI code.
20711 * disk/scsi.c (grub_scsi_close): free `scsi'.
20712
20713 2009-02-27 Robert Millan <rmh@aybabtu.com>
20714
20715 * loader/i386/pc/multiboot.c: Move from here ...
20716 * loader/i386/multiboot.c: ... to here. Update all users.
20717
20718 2009-02-27 Robert Millan <rmh@aybabtu.com>
20719
20720 Patch from Alexandre Bique <bique.alexandre@gmail.com>
20721 * util/i386/pc/grub-setup.c (setup): Fix directory path.
20722
20723 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
20724
20725 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
20726 b-tree.
20727
20728 2009-02-27 Robert Millan <rmh@aybabtu.com>
20729
20730 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
20731 `0x' qualifier as 0 when base is specified as parameter).
20732
20733 2009-02-24 Bean <bean123ch@gmail.com>
20734
20735 * configure.ac: Check for -mcmodel=large in x86_64 target.
20736
20737 * include/grub/efi/api.h (efi_call_10): New macro.
20738 (efi_wrap_10): New function.
20739
20740 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
20741 (GRUB_PE32_REL_BASED_HIGH): Likewise.
20742 (GRUB_PE32_REL_BASED_LOW): Likewise.
20743 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
20744 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
20745 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
20746 (GRUB_PE32_REL_BASED_SECTION): Likewise.
20747 (GRUB_PE32_REL_BASED_REL): Likewise.
20748 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
20749 (GRUB_PE32_REL_BASED_DIR64): Likewise.
20750 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
20751
20752 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
20753 issue.
20754
20755 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
20756 (efi_wrap_10): New function.
20757
20758 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
20759
20760 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
20761 MB/MBP model (NV chipset).
20762 (devdata_devs): Add devpath_5 to the list.
20763
20764 * load/i386/efi/linux.c (video_base): Remove variable.
20765 (RGB_MASK): New macro.
20766 (RGB_MAGIC): Likewise.
20767 (LINE_MIN): Likewise.
20768 (LINE_MAX): Likewise.
20769 (FBTEST_STEP): Likewise.
20770 (FBTEST_COUNT): Likewise.
20771 (fb_list): New variable.
20772 (grub_find_video_card): Remove function.
20773 (find_framebuf): New function.
20774 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
20775 line length.
20776
20777 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
20778 problem for x86_64.
20779
20780 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
20781
20782 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
20783
20784 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
20785 coding tool name.
20786
20787 2009-02-22 Robert Millan <rmh@aybabtu.com>
20788
20789 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
20790 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
20791 in our relocation, instead of using it directly from heap. Also
20792 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
20793
20794 2009-02-21 Robert Millan <rmh@aybabtu.com>
20795
20796 Implement USB keyboard support (based on patch by Marco Gerards)
20797
20798 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
20799 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
20800 (usb_keyboard_mod_LDFLAGS): New variables.
20801
20802 * term/usb_keyboard.c: New file.
20803
20804 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20805
20806 Corrected wrong declaration
20807
20808 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
20809
20810 2009-02-14 Christian Franke <franke@computer.org>
20811
20812 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
20813 (grub_lspci_iter): Print class code and programming interface byte.
20814
20815 2009-02-14 Christian Franke <franke@computer.org>
20816
20817 * gendistlist.sh: Ignore `.svn' directories.
20818
20819 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
20820
20821 * fs/fat.c: Add 2009 to Copyright line.
20822
20823 2009-02-14 Christian Franke <franke@computer.org>
20824
20825 * commands/hdparm.c: New file. Provides `hdparm' command
20826 which sends ATA commands via grub_disk_ata_pass_through ().
20827
20828 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
20829
20830 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
20831 and <grub/cpu/io.h> to include/grub/ata.h.
20832 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
20833 (GRUB_CDROM_SECTOR_SIZE): Remove.
20834 (GRUB_ATA_*): Move to include/grub/ata.h.
20835 (GRUB_ATAPI_*): Likewise.
20836 (enum grub_ata_commands): Likewise.
20837 (enum grub_ata_timeout_milliseconds): Likewise.
20838 (struct grub_ata_device): Likewise.
20839 (grub_ata_regset): Likewise.
20840 (grub_ata_regget): Likewise.
20841 (grub_ata_regset2): Likewise.
20842 (grub_ata_regget2): Likewise.
20843 (grub_ata_check_ready): Likewise.
20844 (grub_ata_wait_not_busy): Remove static, exported in
20845 include/grub/ata.h.
20846 (grub_ata_wait_drq): Likewise.
20847 (grub_ata_pio_read): Likewise.
20848
20849 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
20850 function for hdparm.mod.
20851
20852 * include/grub/ata.h: New file, contains declarations from
20853 disk/ata.c.
20854 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
20855
20856 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
20857 (grub_disk_ata_pass_through): New exported variable.
20858
20859 * kern/disk.c (grub_disk_ata_pass_through): New variable.
20860
20861 2009-02-13 Colin D Bennett <colin@gibibit.com>
20862
20863 Support multiple fallback entries, and provide an API to support
20864 executing default+fallback menu entries. Renamed the `terminal' menu
20865 viewer to `text'.
20866
20867 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
20868 variable declaration.
20869 (grub_menu_execute_callback): New structure declaration.
20870 (grub_menu_execute_callback_t): New typedef.
20871 (grub_menu_execute_with_fallback): New function declaration.
20872 (grub_menu_get_entry): Likewise.
20873 (grub_menu_get_timeout): Likewise.
20874 (grub_menu_set_timeout): Likewise.
20875
20876 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
20877
20878 * normal/menu.c (grub_wait_after_message): Moved to
20879 `normal/menu_text.c'.
20880 (draw_border): Likewise.
20881 (print_message): Likewise.
20882 (print_entry): Likewise.
20883 (print_entries): Likewise.
20884 (grub_menu_init_page): Likewise.
20885 (get_entry_number): Likewise.
20886 (print_timeout): Likewise.
20887 (run_menu): Likewise.
20888 (grub_menu_execute_entry): Likewise.
20889 (show_text_menu): Likewise.
20890 (get_and_remove_first_entry_number): New function.
20891 (grub_menu_execute_with_fallback): Likewise.
20892 (get_entry): Renamed to ...
20893 (grub_menu_get_entry): .. this and made it global.
20894 (get_timeout): Renamed to ...
20895 (grub_menu_get_timeout): ... this and made it global.
20896 (set_timeout): Renamed to ...
20897 (grub_menu_set_timeout): ... this and made it global.
20898 (grub_normal_terminal_menu_viewer): Renamed to ...
20899 (grub_normal_text_menu_viewer): ... this.
20900
20901 * normal/menu_text.c: New file. Extracted text-menu-specific code
20902 from normal/menu.c.
20903
20904 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
20905 (normal_mod_SOURCES): Likewise.
20906
20907 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20908 (normal_mod_SOURCES): Likewise.
20909
20910 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20911 (normal_mod_SOURCES): Likewise.
20912
20913 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
20914 (normal_mod_SOURCES): Likewise.
20915
20916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20917 (normal_mod_SOURCES): Likewise.
20918
20919 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20920 (normal_mod_SOURCES): Likewise.
20921
20922 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20923 (normal_mod_SOURCES): Likewise.
20924
20925 2009-02-11 Robert Millan <rmh@aybabtu.com>
20926
20927 * util/grub.d/00_header.in: Update old reference to `font' command.
20928
20929 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
20930
20931 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
20932
20933 Based on patch from Javier Martín.
20934
20935 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20936
20937 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
20938 to avoid false positives with FAT.
20939 (grub_fstest_SOURCES): Likewise.
20940 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20941 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20943 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20944 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20945 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20946
20947 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20948
20949 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
20950 bpb.version_specific.fat12_or_fat16.fstype and
20951 bpb.version_specific.fat32.fstype.
20952
20953 2009-02-08 Robert Millan <rmh@aybabtu.com>
20954
20955 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
20956
20957 2009-02-08 Robert Millan <rmh@aybabtu.com>
20958
20959 * Makefile.in (host_os, host_cpu): New variables.
20960 (target_os): Remove. Update all users.
20961
20962 2009-02-08 Marco Gerards <marco@gnu.org>
20963
20964 * Makefile.in (enable_grub_emu_usb): New variable.
20965 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
20966 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
20967 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
20968 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
20969 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
20970 `usbtest.mod' and `usbms.mod'.
20971 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
20972 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
20973 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
20974 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
20975 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
20976 variables.
20977
20978 * disk/usbms.c: New file.
20979
20980 * include/grub/usb.h: Likewise.
20981
20982 * include/grub/usbtrans.h: Likewise.
20983
20984 * include/grub/usbdesc.h: Likewise.
20985
20986 * bus/usb/usbtrans.c: Likewise.
20987
20988 * bus/usb/ohci.c: Likewise.
20989
20990 * bus/usb/uhci.c: Likewise.
20991
20992 * bus/usb/usbhub.c: Likewise.
20993
20994 * bus/usb/usb.c: Likewise.
20995
20996 * commands/usbtest.c: Likewise.
20997
20998 * util/usb.c: Likewise.
20999
21000 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
21001
21002 * configure.ac: Test for libusb presence.
21003
21004 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
21005
21006 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
21007
21008 * kern/mm.c: Add more comments.
21009
21010 2009-02-08 Robert Millan <rmh@aybabtu.com>
21011
21012 Patch from Javier Martín.
21013 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
21014 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
21015
21016 2009-02-08 Robert Millan <rmh@aybabtu.com>
21017
21018 * fs/cpio.c: Split tar functionality to ...
21019 * fs/tar.c: ... here (new file). Update all users.
21020
21021 2009-02-07 Robert Millan <rmh@aybabtu.com>
21022
21023 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
21024 backward-incompatible features.
21025
21026 Based on patch from Javier Martín, with some adjustments.
21027
21028 2009-02-07 Michael Scherer <misc@mandriva.org>
21029
21030 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
21031
21032 2009-02-07 Robert Millan <rmh@aybabtu.com>
21033
21034 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
21035 position of `disk/lvm.c' to ensure grub_init_all() always picks it
21036 after the RAID stuff.
21037
21038 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
21039
21040 Fixes problem when running vbetest command as reported by
21041 Vladimir Serbinenko <phcoder@gmail.com>.
21042
21043 * (grub_vbe_set_video_mode): Fixed problem with text modes.
21044
21045 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
21046
21047 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
21048 /dev/md/NpN style mdraid devices.
21049
21050 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
21051
21052 * util/unifont2pff.rb: Remove.
21053
21054 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
21055
21056 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
21057 `#'.
21058
21059 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
21060
21061 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
21062 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21063 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21064 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21066 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21067 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21068
21069 2009-02-02 Christian Franke <franke@computer.org>
21070
21071 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
21072
21073 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
21074
21075 * INSTALL: Note that we now require at least autoconf 2.59 and
21076 that LZO is optional.
21077
21078 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21079
21080 Base on patch on bug #24154 created by Tomas Tintera
21081 <trosos@seznam.cz>.
21082
21083 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
21084
21085 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21086
21087 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
21088 <bero@arklinux.org>.
21089
21090 * normal/parser.y (script_init): Add missing semicolon.
21091
21092 2009-01-31 Colin D Bennett <colin@gibibit.com>
21093
21094 * normal/main.c: Add include to grub/menu_viewer.h.
21095 (free_menu_entry_classes): Added.
21096 (grub_normal_menu_addentry): Added class property handling.
21097 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
21098 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
21099
21100 * normal/menu_viewer.c: New file.
21101
21102 * normal/menu.c (run_menu_entry): Renamed to ...
21103 (grub_menu_execute_entry): ... this and made it as global.
21104 (grub_menu_run): Renamed to ...
21105 (show_text_menu): ... this and made it local.
21106 (show_text_menu): Adapt to new function names.
21107 (grub_normal_terminal_menu_viewer): New global variable.
21108
21109 * include/grub/menu.h: New file.
21110
21111 * include/grub/menu_viewer.h: New file.
21112
21113 * include/grub/normal.h: Added include to grub/menu.h.
21114 (grub_menu_entry): Moved to include/grub/menu.h.
21115 (grub_menu_entry_t): Likewise.
21116 (grub_menu): Likewise.
21117 (grub_menu_t): Likewise.
21118 (grub_normal_terminal_menu_viewer): Added.
21119 (grub_menu_execute_entry): Likewise.
21120 (grub_menu_run): Removed.
21121
21122 * DISTLIST: Added include/grub/menu.h.
21123 Added include/grub/menu_viewer.h.
21124 Added normal/menu_viewer.c.
21125
21126 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
21127
21128 * normal/execute.c (grub_script_execute_menuentry): Changed to use
21129 arglist for menutitle arguments.
21130
21131 * normal/main.c (grub_normal_menu_addentry): Likewise.
21132
21133 * normal/parser.y (menuentry): Likewise.
21134
21135 * normal/script.c (grub_script_create_cmdmenu): Likewise.
21136
21137 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
21138 (grub_script_create_cmdmenu): Likewise.
21139
21140 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
21141
21142 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
21143 changes.
21144
21145 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
21146
21147 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
21148
21149 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
21150
21151 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21152
21153 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21154
21155 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21156
21157 2009-01-30 Christian Franke <franke@computer.org>
21158
21159 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
21160 in option help text.
21161
21162 2009-01-27 Pavel Roskin <proski@gnu.org>
21163
21164 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
21165
21166 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21167
21168 * commands/lsmmap.c: Add include to grub/machine/memory.h.
21169
21170 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
21171
21172 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
21173 unregister function.
21174
21175 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21176
21177 * disk/scsi.c (grub_scsi_read): Fix sign problem.
21178
21179 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
21180
21181 * util/grub-mkfont.c (usage): Fix typo.
21182
21183 * util/elf/grub-mkimage.c (load_modules): Fix warning.
21184
21185 2009-01-26 Daniel Mierswa <impulze@impulze.org>
21186
21187 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
21188
21189 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
21190
21191 * kern/misc.c (grub_strcasecmp): New function.
21192 (grub_strcasecmp): Use grub_size_t instead of int for length.
21193 Fix return value.
21194 * include/grub/misc.h: Update function prototypes.
21195
21196 2009-01-26 Robert Millan <rmh@aybabtu.com>
21197
21198 * configure.ac: Fix cross-compilation check.
21199
21200 2009-01-22 Christian Franke <franke@computer.org>
21201
21202 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
21203 (precision) digit string. Allow `.format2' without `format1' (width).
21204 Limit input chars for `%s' output to `format2' if specified. This is
21205 compatible with standard printf ().
21206
21207 2009-01-22 Christian Franke <franke@computer.org>
21208
21209 * disk/ata.c (grub_ata_wait_status): Replace by ...
21210 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
21211 other status bits may be invalid while BSY is asserted.
21212 (grub_ata_check_ready): New function.
21213 (grub_ata_cmd): Removed.
21214 (grub_ata_wait_drq): New function.
21215 (grub_ata_strncpy): Remove inline.
21216 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
21217 and error check now done by grub_ata_wait_drq ().
21218 (grub_ata_pio_write): Likewise.
21219 (grub_atapi_identify): Set DEV before check for !BSY. Use
21220 grub_ata_wait_drq () to wait for data.
21221 (grub_ata_device_initialize): Add status register check to
21222 detect missing SATA slave devices. Add debug messages.
21223 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
21224 (grub_atapi_packet): Set DEV before check for !BSY. Replace
21225 transfer loop by grub_ata_pio_write ().
21226 (grub_ata_identify): Set DEV before check for !BSY. Use
21227 grub_ata_wait_drq () to wait for data.
21228 (grub_ata_setaddress): Set DEV before check for !BSY.
21229 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
21230 read/write in one loop. Fix invalid command on write. Fix incomplete
21231 command on (size % batch) == 0. Add missing error check after write of
21232 last block. Add debug messages.
21233 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
21234
21235 2009-01-19 Christian Franke <franke@computer.org>
21236
21237 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
21238 (GRUB_ATAPI_IREASON_*): Likewise.
21239 (grub_ata_pio_write): Fix timeout error return.
21240 (grub_atapi_identify): Add grub_ata_wait () after cmd.
21241 (grub_atapi_wait_drq): New function.
21242 (grub_atapi_packet): New parameter `size'.
21243 Use grub_atapi_wait_drq () and direct write instead of
21244 grub_ata_pio_write ().
21245 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
21246 reads the number of bytes requested by the device for each DRQ
21247 assertion.
21248 (grub_atapi_write): Remove old implementation, return not
21249 implemented instead.
21250
21251 2009-01-19 Christian Franke <franke@computer.org>
21252
21253 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
21254 of 512 to calculate data size.
21255 (grub_scsi_read12): Likewise.
21256 (grub_scsi_write10): Likewise.
21257 (grub_scsi_write12): Likewise.
21258 (grub_scsi_read): Adjust size according to blocksize.
21259 Add checks for invalid blocksize and unaligned transfer.
21260
21261 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
21262
21263 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
21264
21265 * term/gfxterm.c (write_char): Fix background rendering for wide
21266 width glyphs.
21267
21268 2009-01-19 Robert Millan <rmh@aybabtu.com>
21269
21270 * config.guess: Update to latest version from config git.
21271 * config.sub: Likewise.
21272
21273 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
21274
21275 * Makefile.in: Change font compilation to use new grub-mkfont instead
21276 of java version.
21277
21278 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
21279 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21280 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21281 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21282 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21283 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21284 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21285 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21286 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21287
21288 2009-01-16 Christian Franke <franke@computer.org>
21289
21290 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
21291 (enum grub_ata_timeout_milliseconds): New enum.
21292 (grub_ata_wait_status): Add parameter milliseconds.
21293 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
21294 recovery from timed-out commands.
21295 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
21296 return grub_errno instead of REG_ERROR.
21297 (grub_ata_pio_write): Add parameter milliseconds.
21298 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
21299 Pass milliseconds to grub_ata_wait_status () and
21300 grub_ata_pio_read ().
21301 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
21302 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
21303 grub_ata_wait_status (). Fix IDENTIFY timeout check.
21304 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
21305 It is not suitable for device detection, because DEV bit is ignored,
21306 the command may run too long, and not all devices set the signature
21307 properly.
21308 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
21309 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
21310 Fix device selection, DEV bit must be set first to address the registers
21311 of the correct device.
21312 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
21313 grub_ata_pio_read/write ().
21314 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
21315 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
21316
21317 2009-01-13 Carles Pina i Estany <carles@pina.cat>
21318
21319 * util/grub-editenv.c (main): Use fseeko(), not fseek().
21320
21321 2009-01-13 Bean <bean123ch@gmail.com>
21322
21323 * util/grub-mkfont.c (write_font): forget to remove some debug code.
21324
21325 2009-01-13 Bean <bean123ch@gmail.com>
21326
21327 * Makefile.in: (enable_grub_mkfont): New variable.
21328 (freetype_cflags): Likewise.
21329 (freetype_libs): Likewise.
21330
21331 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
21332 (grub_mkfont_SOURCES): New variable.
21333 (grub_mkfont_CFLAGS): Likewise.
21334 (grub_mkfont_LDFLAGS): Likewise.
21335
21336 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
21337 library if `--enable-grub-mkfont' is requested.
21338 (enable_grub_mkfont): New variable.
21339 (freetype_cflags): Likewise.
21340 (freetype_libs): Likewise.
21341
21342 * util/grub-mkfont.c: New file.
21343
21344 2009-01-12 Christian Franke <franke@computer.org>
21345
21346 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
21347 mode check. Fix setting of compat_use[].
21348
21349 2009-01-10 Robert Millan <rmh@aybabtu.com>
21350
21351 Update a few copyright years which we forgot to do in 2008 (only for
21352 files whose changes made in 2008 were copyright-significant)
21353
21354 * Makefile.in: Add 2008 to Copyright line.
21355 * disk/ieee1275/ofdisk.c: Likewise.
21356 * disk/efi/efidisk.c: Likewise.
21357 * kern/dl.c: Likewise.
21358 * kern/sparc64/ieee1275/init.c: Likewise.
21359 * kern/mm.c: Likewise.
21360 * kern/efi/mm.c: Likewise.
21361 * boot/i386/pc/boot.S: Likewise.
21362 * genfslist.sh: Likewise.
21363 * fs/iso9660.c: Likewise.
21364 * fs/hfs.c: Likewise.
21365 * fs/jfs.c: Likewise.
21366 * fs/minix.c: Likewise.
21367 * fs/ufs.c: Likewise.
21368 * gensymlist.sh.in: Likewise.
21369 * genkernsyms.sh.in: Likewise.
21370 * include/grub/misc.h: Likewise.
21371 * include/grub/types.h: Likewise.
21372 * include/grub/symbol.h: Likewise.
21373 * include/grub/elf.h: Likewise.
21374 * include/grub/kernel.h: Likewise.
21375 * include/grub/disk.h: Likewise.
21376 * include/grub/dl.h: Likewise.
21377 * include/grub/i386/linux.h: Likewise.
21378 * include/grub/i386/pc/biosdisk.h: Likewise.
21379 * include/grub/efi/api.h: Likewise.
21380 * include/grub/efi/pe32.h: Likewise.
21381 * include/grub/util/misc.h: Likewise.
21382 * normal/execute.c: Likewise.
21383 * normal/arg.c: Likewise.
21384 * normal/completion.c: Likewise.
21385 * normal/lexer.c: Likewise.
21386 * normal/parser.y: Likewise.
21387 * normal/misc.c: Likewise.
21388 * commands/i386/pc/vbeinfo.c: Likewise.
21389 * commands/hexdump.c: Likewise.
21390 * commands/terminal.c: Likewise.
21391 * commands/ls.c: Likewise.
21392 * commands/help.c: Likewise.
21393 * partmap/pc.c: Likewise.
21394 * loader/efi/chainloader.c: Likewise.
21395 * loader/multiboot_loader.c: Likewise.
21396 * loader/i386/pc/multiboot2.c: Likewise.
21397 * term/efi/console.c: Likewise.
21398 * term/i386/pc/serial.c: Likewise.
21399 * util/lvm.c: Likewise.
21400 * util/console.c: Likewise.
21401 * util/i386/efi/grub-mkimage.c: Likewise.
21402 * util/raid.c: Likewise.
21403
21404 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
21405
21406 * commands/videotest.c: Removed include to grub/machine/memory.h.
21407
21408 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
21409 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
21410 (video_mod_SOURCES): Removed.
21411 (video_mod_CFLAGS): Likewise.
21412 (video_mod_LDFLAGS): Likewise.
21413 (gfxterm_mod_SOURCES): Likewise.
21414 (gfxterm_mod_CFLAGS): Likewise.
21415 (gfxterm_mod_LDFLAGS): Likewise.
21416 (videotest_mod_SOURCES): Likewise.
21417 (videotest_mod_CFLAGS): Likewise.
21418 (videotest_mod_LDFLAGS): Likewise.
21419 (bitmap_mod_SOURCES): Likewise.
21420 (bitmap_mod_CFLAGS): Likewise.
21421 (bitmap_mod_LDFLAGS): Likewise.
21422 (tga_mod_SOURCES): Likewise.
21423 (tga_mod_CFLAGS): Likewise.
21424 (tga_mod_LDFLAGS): Likewise.
21425 (jpeg_mod_SOURCES): Likewise.
21426 (jpeg_mod_CFLAGS): Likewise.
21427 (jpeg_mod_LDFLAGS): Likewise.
21428 (png_mod_SOURCES): Likewise.
21429 (png_mod_CFLAGS): Likewise.
21430 (png_mod_LDFLAGS): Likewise.
21431
21432 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
21433 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
21434 (video_mod_SOURCES): Added.
21435 (video_mod_CFLAGS): Likewise.
21436 (video_mod_LDFLAGS): Likewise.
21437 (videotest_mod_SOURCES): Likewise.
21438 (videotest_mod_CFLAGS): Likewise.
21439 (videotest_mod_LDFLAGS): Likewise.
21440 (bitmap_mod_SOURCES): Likewise.
21441 (bitmap_mod_CFLAGS): Likewise.
21442 (bitmap_mod_LDFLAGS): Likewise.
21443 (tga_mod_SOURCES): Likewise.
21444 (tga_mod_CFLAGS): Likewise.
21445 (tga_mod_LDFLAGS): Likewise.
21446 (jpeg_mod_SOURCES): Likewise.
21447 (jpeg_mod_CFLAGS): Likewise.
21448 (jpeg_mod_LDFLAGS): Likewise.
21449 (png_mod_SOURCES): Likewise.
21450 (png_mod_CFLAGS): Likewise.
21451 (png_mod_LDFLAGS): Likewise.
21452 (gfxterm_mod_SOURCES): Likewise.
21453 (gfxterm_mod_CFLAGS): Likewise.
21454 (gfxterm_mod_LDFLAGS): Likewise.
21455
21456 * term/gfxterm.c: Removed include to grub/machine/memory.h,
21457 grub/machine/console.h.
21458
21459 2009-01-04 Jerone Young <jerone@gmail.com>
21460
21461 Make on screen instructions clearer
21462
21463 Based on patch created by Jidanni <jidanni@jidanni.org>
21464
21465 * normal/menu.c: print clearer instructions on the screen
21466
21467 2009-01-02 Colin D Bennett <colin@gibibit.com>
21468
21469 New font engine.
21470
21471 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
21472 build system and fixed gfxterm.c to work with different sized fonts.
21473
21474 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
21475
21476 * configure: Re-generated.
21477
21478 * DISTLIST: Removed font/manager.c.
21479 Added font/font.c.
21480 Added font/font_cmd.c.
21481
21482 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
21483 compilation.
21484
21485 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
21486
21487 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
21488
21489 * kern/term.c: Changed users of grub_utf8_to_ucs4.
21490
21491 * normal/menu.c: Likewise.
21492
21493 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
21494 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
21495
21496 * include/grub/font.h: Replaced with new file.
21497
21498 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
21499 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
21500 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
21501 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
21502 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
21503 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
21504 fg_red, fg_green, fg_blue, fg_alpha.
21505 (grub_video_adapter): Removed blit_glyph.
21506 (grub_video_blit_glyph): Removed.
21507
21508 * font/manager.c: Removed file.
21509
21510 * font/font.c: New file.
21511
21512 * font/font_cmd.c: Likewise.
21513
21514 * video/video.c (grub_video_blit_glyph): Removed.
21515
21516 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
21517 (grub_video_vbe_map_rgba): Likewise.
21518 (grub_video_vbe_unmap_color_int): Likewise.
21519 (grub_video_vbe_blit_glyph): Removed.
21520 (grub_video_vbe_adapter): Removed blit_glyph.
21521
21522 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
21523 (get_pixel): Likewise.
21524 (set_pixel): Likewise.
21525
21526 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
21527
21528 * term/gfxterm.c: Adapted to new font engine.
21529
21530 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
21531
21532 * term/i386/pc/vga.c: Likewise.
21533
21534 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
21535
21536 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21537
21538 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21539
21540 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21541
21542 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21543
21544 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21545
21546 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21547
21548 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21549
21550 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21551
21552 * util/grub.d/00_header.in: Changed to use new loadfont command.
21553
21554 * util/grub-mkconfig_lib.in: Changed font extension.
21555
21556 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
21557
21558 * util/getroot.c (grub_util_get_grub_dev): Add support for
21559 /dev/md/dNNpNN style partitionable mdraid devices.
21560
21561 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
21562
21563 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
21564 at a time limit of the PXE TFTP API correctly.
21565 (grub_pxefs_close): Likewise.
21566
21567 2008-11-29 Robert Millan <rmh@aybabtu.com>
21568
21569 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
21570 grub_ata_device_initialize() calls.
21571
21572 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
21573
21574 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
21575 iteration failed.
21576 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
21577
21578 2008-11-28 Robert Millan <rmh@aybabtu.com>
21579
21580 Fix build on powerpc-ieee1275. Based on patch created by
21581 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
21582 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21583 `kern/ieee1275/mmap.c'.
21584 * include/grub/powerpc/ieee1275/memory.h: New file.
21585
21586 Provide grub-install on coreboot.
21587 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
21588 (grub_install_SOURCES): New variable.
21589 * util/i386/pc/grub-install.in: Add a few condition checks to make it
21590 usable on coreboot.
21591
21592 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
21593
21594 * util/grub-fstest.c (grub_term_get_current_input): Change return type
21595 to `grub_term_input_t'.
21596 (grub_term_get_current_output): Change return type to
21597 `grub_term_output_t'.
21598
21599 2008-11-22 Robert Millan <rmh@aybabtu.com>
21600
21601 Fix breakage on coreboot due to declaration mismatch.
21602 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
21603 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
21604 grub_vga_text_cls().
21605
21606 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
21607 comments. Avoid copying one more byte than necessary (just in case).
21608
21609 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
21610 to 0x200000 (avoids trouble with some OFW implementations, and matches
21611 with the one in Yaboot).
21612 Reported by Manoel Abranches
21613
21614 2008-11-20 Robert Millan <rmh@aybabtu.com>
21615
21616 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
21617 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
21618
21619 * util/grub-mkconfig_lib.in (grub_warn): New function.
21620 (convert_system_path_to_grub_path): Use grub_warn() when issuing
21621 warnings, to obtain consistent formatting.
21622 * util/grub.d/00_header.in: Likewise.
21623 * util/update-grub_lib.in: Likewise.
21624
21625 * loader/i386/linux.c (allocate_pages): Fix a warning.
21626 Move comment text to `#error' stanza.
21627
21628 Harmonize ieee1275's grub_available_iterate() with the generic
21629 grub_machine_mmap_iterate() interface (fixes a recently-introduced
21630 build problem on i386-ieee1275):
21631 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
21632 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
21633 parameter `type'. Update all users of this function.
21634 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21635 `kern/ieee1275/mmap.c'.
21636 * kern/ieee1275/init.c
21637 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
21638 with ...
21639 (grub_machine_mmap_iterate): ... this.
21640 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
21641 return type to `grub_err_t'. Update all implementations of this
21642 function prototype.
21643 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
21644 Likewise.
21645
21646 Add `lsmmap' command (lists firmware-provided memory map):
21647 * commands/lsmmap.c: New file.
21648 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
21649 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
21650 variables.
21651 * conf/powerpc-ieee1275.rmk: Likewise.
21652 * conf/i386-coreboot.rmk: Likewise.
21653 * conf/i386-ieee1275.rmk: Likewise.
21654
21655 2008-11-19 Robert Millan <rmh@aybabtu.com>
21656
21657 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
21658 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
21659 constraints to initrd allocation (based on code from
21660 loader/i386/pc/linux.c). Without them, initrd was allocated too high
21661 for Linux to find it.
21662
21663 2008-11-14 Robert Millan <rmh@aybabtu.com>
21664
21665 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
21666 order to cope with duplicate slashes.
21667
21668 2008-11-14 Robert Millan <rmh@aybabtu.com>
21669
21670 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
21671 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
21672 don't want to mess with lower memory, because it is used in the Linux
21673 loader.
21674
21675 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
21676 an appropriate place in lower memory, between 0x10000 and 0x90000,
21677 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
21678 is in our heap (probably as a result of it being corrupted during
21679 decompression). Add #error instance with comment to explain why this
21680 loader isn't currently usable on PC/BIOS.
21681
21682 2008-11-14 Robert Millan <rmh@aybabtu.com>
21683
21684 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
21685 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
21686
21687 2008-11-12 Robert Millan <rmh@aybabtu.com>
21688
21689 Make loader/i386/linux.c buildable on i386-pc (although disabled).
21690
21691 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
21692 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
21693 from here ...
21694 * include/grub/i386/pc/memory.h: ... to here.
21695
21696 2008-11-12 Robert Millan <rmh@aybabtu.com>
21697
21698 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
21699 split).
21700
21701 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
21702 (grub_console_cur_color, grub_console_real_putchar)
21703 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21704 (grub_console_setcolorstate, grub_console_setcolor)
21705 (grub_console_getcolor): Move from here ...
21706 * include/grub/i386/vga_common.h: ... to here (new file).
21707
21708 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
21709 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
21710 `<grub/i386/io.h>'.
21711 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
21712 `<grub/i386/vga_common.h>'.
21713
21714 2008-11-12 Robert Millan <rmh@aybabtu.com>
21715
21716 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
21717 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
21718 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
21719 variables.
21720 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21721 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
21722
21723 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
21724 grub_console_init() with call to grub_vga_text_init().
21725 (grub_machine_fini): Replace call to
21726 grub_console_fini() with call to grub_vga_text_fini() and
21727 grub_at_keyboard_fini().
21728
21729 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
21730 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21731 (grub_console_setcolorstate, grub_console_setcolor)
21732 (grub_console_getcolor): New function prototypes.
21733
21734 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
21735 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
21736 (grub_vga_text_setcursor): Static-ize.
21737 (grub_vga_text_term): New structure.
21738 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
21739
21740 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
21741 (grub_console_cur_color, grub_console_standard_color)
21742 (grub_console_normal_color, grub_console_highlight_color)
21743 (map_char, grub_console_putchar, grub_console_getcharwidth)
21744 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
21745 (grub_console_getcolor): Move from here ...
21746 * term/i386/vga_common.c: ... to here (same function names).
21747
21748 2008-11-12 Robert Millan <rmh@aybabtu.com>
21749
21750 Use newly-added Multiboot support in coreboot.
21751
21752 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21753 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
21754
21755 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
21756 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
21757 (codestart): Store the MBI in `startup_multiboot_info' when we're
21758 being loaded using Multiboot.
21759
21760 * kern/i386/coreboot/init.c (grub_machine_init): Move
21761 grub_at_keyboard_init() call to beginning of function (useful for
21762 debugging). Call grub_machine_mmap_init() before attempting to use
21763 grub_machine_mmap_iterate().
21764 (grub_lower_mem, grub_upper_mem): Move from here ...
21765 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
21766 here (new file).
21767
21768 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
21769 function prototype.
21770
21771 2008-11-12 Robert Millan <rmh@aybabtu.com>
21772
21773 Fix a regression introduced by the at_keyboard.mod split. Because
21774 some terminals are default on some platforms and non-default on
21775 others, the first terminal being registered determines which is
21776 going to be default.
21777
21778 * kern/term.c (grub_term_register_input): If this is the first
21779 terminal being registered, set it as the current one.
21780 (grub_term_register_output): Likewise.
21781
21782 * term/efi/console.c (grub_console_init): Do not call
21783 grub_term_set_current_output() or grub_term_set_current_input().
21784 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
21785 * term/i386/pc/console.c (grub_console_init): Likewise.
21786 (grub_console_fini): Do not call grub_term_set_current_input()
21787 (but leave grub_term_set_current_output() to restore text mode).
21788
21789 2008-11-10 Robert Millan <rmh@aybabtu.com>
21790
21791 * util/grub.d/00_header.in: Add backward compatibility check for
21792 versions of terminal.mod that don't understand `terminal_input' or
21793 `terminal_output'.
21794
21795 2008-11-09 Robert Millan <rmh@aybabtu.com>
21796
21797 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
21798 `terminal_input' / `terminal_output', not `terminal'.
21799
21800 2008-11-08 Robert Millan <rmh@aybabtu.com>
21801
21802 * Makefile.in (include_DATA): Fix srcdir=. assumption.
21803 (DISTCLEANFILES): Add `build_env.mk'.
21804
21805 2008-11-08 Robert Millan <rmh@aybabtu.com>
21806
21807 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
21808 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21809 members. Update all users.
21810 * util/console.c (grub_ncurses_term): Split in ...
21811 (grub_ncurses_term_input): ... this, and ...
21812 (grub_ncurses_term_output): ... this. Update all users.
21813 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
21814
21815 2008-11-08 Robert Millan <rmh@aybabtu.com>
21816
21817 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
21818 (PKGDATA): Add $(pkgdata_SRCDIR).
21819 (pkglib_BUILDDIR): New variable.
21820 (pkgdata_SRCDIR): New variable.
21821 (build_env.mk): New target.
21822 (include_DATA): New variable.
21823 (install-local): Install $(include_DATA) files in $(includedir).
21824
21825 2008-11-07 Pavel Roskin <proski@gnu.org>
21826
21827 * gendistlist.sh: Use C locale for sorting to ensure consistent
21828 output on all systems.
21829
21830 * util/grub.d/00_header.in: Remove incorrect space before
21831 "serial".
21832
21833 2008-11-07 Robert Millan <rmh@aybabtu.com>
21834
21835 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
21836 per specification.
21837 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
21838 * loader/multiboot_loader.c (find_multi_boot2_header): New function
21839 (based on find_multi_boot1_header).
21840 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
21841 using find_multi_boot2_header(), and abort if neither Multiboot or
21842 Multiboot headers were found.
21843
21844 2008-11-07 Robert Millan <rmh@aybabtu.com>
21845
21846 Modularize at_keyboard.mod:
21847
21848 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
21849 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21850 (at_keyboard_mod_LDFLAGS): New variables.
21851
21852 Actual terminal split:
21853
21854 * include/grub/term.h (struct grub_term): Split in ...
21855 (struct grub_term_input): ... this, and ...
21856 (struct grub_term_output): ... this. Update all users.
21857 (grub_term_set_current): Split in ...
21858 (grub_term_set_current_input): ... this, and ...
21859 (grub_term_set_current_output): ... this.
21860 (grub_term_get_current): Split in ...
21861 (grub_term_get_current_input): ... this, and ...
21862 (grub_term_get_current_output): ... this.
21863 (grub_term_register): Split in ...
21864 (grub_term_register_input): ... this, and ...
21865 (grub_term_register_output): ... this.
21866 (grub_term_unregister): Split in ...
21867 (grub_term_unregister_input): ... this, and ...
21868 (grub_term_unregister_output): ... this.
21869 (grub_term_iterate): Split in ...
21870 (grub_term_iterate_input): ... this, and ...
21871 (grub_term_iterate_output): ... this.
21872
21873 * kern/term.c (grub_term_list): Split in ...
21874 (grub_term_list_input): ... this, and ...
21875 (grub_term_list_output): ... this. Update all users.
21876 (grub_cur_term): Split in ...
21877 (grub_cur_term_input): ... this, and ...
21878 (grub_cur_term_output): ... this. Update all users.
21879 (grub_term_set_current): Split in ...
21880 (grub_term_set_current_input): ... this, and ...
21881 (grub_term_set_current_output): ... this.
21882 (grub_term_get_current): Split in ...
21883 (grub_term_get_current_input): ... this, and ...
21884 (grub_term_get_current_output): ... this.
21885 (grub_term_register): Split in ...
21886 (grub_term_register_input): ... this, and ...
21887 (grub_term_register_output): ... this.
21888 (grub_term_unregister): Split in ...
21889 (grub_term_unregister_input): ... this, and ...
21890 (grub_term_unregister_output): ... this.
21891 (grub_term_iterate): Split in ...
21892 (grub_term_iterate_input): ... this, and ...
21893 (grub_term_iterate_output): ... this.
21894
21895 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
21896 a check for input and one for output (and only attempt to get keys
21897 from user when input works).
21898
21899 * util/grub-probe.c (grub_term_get_current): Split in ...
21900 (grub_term_get_current_input): ... this, and ...
21901 (grub_term_get_current_output): ... this.
21902 * util/grub-fstest.c: Likewise.
21903 * util/i386/pc/grub-setup.c: Likewise.
21904 * util/grub-editenv.c: Likewise.
21905
21906 Portability adjustments:
21907
21908 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
21909 `term/i386/pc/at_keyboard.c'.
21910 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
21911 grub_keyboard_controller_init() (now handled by terminal .init).
21912 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
21913 grub_at_keyboard_init().
21914 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
21915 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
21916 at_keyboard.mod via input terminal interface).
21917 * include/grub/i386/coreboot/console.h: Convert into a stub for
21918 `<grub/i386/pc/console.h>'.
21919
21920 Migrate full terminals to new API:
21921
21922 * term/efi/console.c (grub_console_term): Split into ...
21923 (grub_console_term_input): ... this, and ...
21924 (grub_console_term_output): ... this. Update all users.
21925 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
21926 (grub_ofconsole_init): Split into ...
21927 (grub_ofconsole_init_input): ... this, and ...
21928 (grub_ofconsole_init_output): ... this.
21929 (grub_ofconsole_term): Split into ...
21930 (grub_ofconsole_term_input): ... this, and ...
21931 (grub_ofconsole_term_output): ... this. Update all users.
21932 * term/i386/pc/serial.c (grub_serial_term): Split into ...
21933 (grub_serial_term_input): ... this, and ...
21934 (grub_serial_term_output): ... this. Update all users.
21935 * term/i386/pc/console.c (grub_console_term): Split into ...
21936 (grub_console_term_input): ... this, and ...
21937 (grub_console_term_output): ... this. Update all users.
21938 (grub_console_term_input): Only enable it on PC/BIOS platform.
21939 (grub_console_init): Remove grub_keyboard_controller_init() call.
21940
21941 Migrate input terminals to new API:
21942
21943 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
21944 `i386' and `i386/pc' to enable build on x86_64 (this driver is
21945 i386-specific anyway).
21946 (grub_console_checkkey): Rename to ...
21947 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
21948 users.
21949 (grub_keyboard_controller_orig): New variable.
21950 (grub_console_getkey): Rename to ...
21951 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
21952 users.
21953 (grub_keyboard_controller_init): Static-ize. Save original
21954 controller value so that it can be restored ...
21955 (grub_keyboard_controller_fini): ... here (new function).
21956 (grub_at_keyboard_term): New structure.
21957 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
21958 functions.
21959
21960 Migrate output terminals to new API:
21961
21962 * term/i386/pc/vga.c (grub_vga_term): Change type to
21963 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21964 members. Update all users.
21965 * term/gfxterm.c (grub_video_term): Change type to
21966 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21967 members. Update all users.
21968 * include/grub/i386/pc/console.h (grub_console_checkkey)
21969 (grub_console_getkey): Do not export (no longer needed by gfxterm,
21970 etc).
21971
21972 Migrate `terminal' command and userland tools to new API:
21973
21974 * commands/terminal.c (grub_cmd_terminal): Split into ...
21975 (grub_cmd_terminal_input): ... this, and ...
21976 (grub_cmd_terminal_output): ... this.
21977 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
21978 `terminal_input' and `terminal_output'.
21979 * util/grub.d/00_header.in: Adjust `terminal' calls to new
21980 `terminal_input' / `terminal_output' API.
21981 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
21982 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
21983 provided ${GRUB_TERMINAL}, convert it).
21984
21985 2008-11-04 Robert Millan <rmh@aybabtu.com>
21986
21987 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
21988 for FreeBSD.
21989 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
21990
21991 2008-11-03 Bean <bean123ch@gmail.com>
21992
21993 * kern/elf.c (grub_elf32_load): Revert to previous code.
21994 (grub_elf64_load): Likewise.
21995
21996 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
21997
21998 2008-11-01 Robert Millan <rmh@aybabtu.com>
21999
22000 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
22001 (TARGET_CPPFLAGS): Likewise.
22002 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
22003
22004 2008-11-01 Carles Pina i Estany <carles@pina.cat>
22005
22006 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
22007
22008 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
22009
22010 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
22011 addition of objects until the code is not going to be able to fail.
22012
22013 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
22014
22015 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
22016 (add a missing NULL check, and correct them by moving the pointer
22017 operations after the actual check).
22018
22019 2008-10-29 Robert Millan <rmh@aybabtu.com>
22020
22021 * util/i386/pc/grub-install.in: Handle empty string as output from
22022 make_system_path_relative_to_its_root().
22023
22024 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
22025
22026 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
22027 circular metadata worst case scenario. If the metadata is circular
22028 then copy the wrap in place.
22029 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
22030 project lib/format_text/layout.h
22031 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
22032
22033 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
22034
22035 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
22036
22037 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
22038
22039 * util/update-grub_lib.in: Mention filename in warning message.
22040
22041 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
22042
22043 * NEWS: Update for rename of update-grub to grub-mkconfig.
22044
22045 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
22046
22047 * util/update-grub_lib.in: Copy to ...
22048 * util/grub-mkconfig_lib.in: ... this. Update all users.
22049 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
22050 * util/update-grub.in: Rename to ...
22051 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
22052 option. Add `--output' option to allow users to specify the generated
22053 configuration file. Default to stdout.
22054 (update_grub_dir): Rename to ...
22055 (grub_mkconfig_dir): ... this.
22056 (grub_cfg): Default to an empty string.
22057 * conf/common.rmk (update-grub): Rename to ...
22058 (grub-mkconfig): ... this.
22059 (update-grub_lib): Copy to ...
22060 (grub-mkconfig_lib): ... this.
22061 (update-grub_SCRIPTS): Copy to ...
22062 (grub-mkconfig_SCRIPTS): ... this. Update all users.
22063 (update-grub_DATA): Rename to ...
22064 (grub-mkconfig_DATA): ... this.
22065
22066 2008-09-28 Robert Millan <rmh@aybabtu.com>
22067
22068 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
22069 to `modified'. Add the real `created' field.
22070 (grub_iso9660_uuid): Use `modified' rather than `created' for
22071 constructing the UUID.
22072
22073 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
22074
22075 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
22076 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
22077
22078 2008-09-28 Bean <bean123ch@gmail.com>
22079
22080 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
22081 Thanks to Christian Franke for finding this bug.
22082
22083 2008-09-25 Robert Millan <rmh@aybabtu.com>
22084
22085 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
22086 instances of grub_util_get_disk_name() (see previous commit).
22087
22088 2008-09-25 Robert Millan <rmh@aybabtu.com>
22089
22090 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
22091 `util/i386/get_disk_name.c'.
22092 * conf/i386-efi.rmk: Likewise.
22093 * conf/x86_64-efi.rmk: Likewise.
22094 * conf/i386-coreboot.rmk: Likewise.
22095 * conf/i386-ieee1275.rmk: Likewise.
22096 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
22097 `util/ieee1275/get_disk_name.c'.
22098 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
22099 * util/ieee1275/get_disk_name.c: Remove file.
22100 * util/i386/get_disk_name.c: Remove file.
22101 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
22102 "hd%d" for device.map entries, rather than using
22103 grub_util_get_disk_name().
22104
22105 2008-09-24 Carles Pina i Estany <carles@pina.cat>
22106
22107 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
22108 warning.
22109 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
22110
22111 2008-09-24 Carles Pina i Estany <carles@pina.cat>
22112
22113 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
22114 Changed to 0x5100.
22115 (GRUB_TERM_PPAGE): Changed to 0x4900.
22116
22117 2008-09-24 Robert Millan <rmh@aybabtu.com>
22118
22119 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
22120 macros (they were i386-pc specific).
22121 * include/grub/sparc64/ieee1275/console.h: Likewise.
22122 * include/grub/efi/console.h: Likewise.
22123
22124 2008-09-22 Bean <bean123ch@gmail.com>
22125
22126 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
22127 resident and in attribute list.
22128
22129 * include/grub/ntfs.h (BMP_LEN): Removed.
22130
22131 2008-09-22 Bean <bean123ch@gmail.com>
22132
22133 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
22134 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
22135
22136 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
22137 error occurs, as grub_disk_open will call grub_disk_close, which will
22138 call p->close (scsi).
22139
22140 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
22141
22142 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
22143 (AC_PREREQ): Bumped to 2.59.
22144 (AC_TRY_COMPILE): Replace obsolete macro with ...
22145 (AC_COMPILE_IFELSE): ... this.
22146 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
22147 (AC_LINK_IFELSE): ... this.
22148
22149 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
22150
22151 * autogen.sh: Add a call to `gendistlist.sh'.
22152
22153 2008-09-19 Christian Franke <franke@computer.org>
22154
22155 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
22156 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
22157 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
22158 Export __enable_execute_stack() to modules.
22159 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
22160 New function.
22161
22162 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
22163
22164 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
22165 Sort the list.
22166
22167 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
22168
22169 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
22170 #include <grub/util/hostdisk.h>.
22171
22172 2008-09-08 Robert Millan <rmh@aybabtu.com>
22173
22174 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
22175 segments when their filesz is zero (grub_file_read() interprets
22176 zero-size as "read until EOF", which results in memory corruption).
22177 Use `lowest_segment' rather than 0 for calculating the current
22178 segment load address.
22179
22180 2008-09-08 Robert Millan <rmh@aybabtu.com>
22181
22182 * util/hostdisk.c (open_device): Replace a grub_util_info() call
22183 with grub_dprintf("hostdisk", ...), as it was so verbose that it
22184 clobbered useful information.
22185
22186 2008-09-08 Robert Millan <rmh@aybabtu.com>
22187
22188 * include/grub/util/biosdisk.h: Move to ...
22189 * include/grub/util/hostdisk.h: ... here. Update all users.
22190 * util/biosdisk.c: Move to ...
22191 * util/hostdisk.c: ... here. Update all users.
22192
22193 2008-09-07 Robert Millan <rmh@aybabtu.com>
22194
22195 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
22196 variables.
22197 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
22198 and length can be stored directly in the `mbi->mmap_addr' and
22199 `mbi->mmap_length' struct fields.
22200
22201 2008-09-07 Robert Millan <rmh@aybabtu.com>
22202
22203 * conf/i386.rmk: New file. Provides declaration for building
22204 `cpuid.mod'.
22205 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
22206 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
22207 variables.
22208 Include `conf/i386.mk'.
22209 * conf/i386-efi.rmk: Likewise.
22210 * conf/x86_64-efi.rmk: Likewise.
22211 * conf/i386-coreboot.rmk: Likewise.
22212 * conf/i386-ieee1275.rmk: Likewise.
22213
22214 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
22215
22216 Based on patch created by Colin D Bennett <colin@gibibit.com>.
22217 Adds optimization support for BGR based modes.
22218
22219 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
22220 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22221 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22222 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22223 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22224 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22225 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22226 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22227 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22228 (grub_video_i386_vbeblit_index_index): Likewise.
22229 (grub_video_i386_vbeblit_replace_directN): Added.
22230 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22231 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22232 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22233 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22234 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22235 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22236 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22237 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22238 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22239 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22240 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22241 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22242 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22243
22244 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
22245 (grub_video_i386_vbefill_R8G8B8): Likewise.
22246 (grub_video_i386_vbefill_index): Likewise.
22247 (grub_video_i386_vbefill_direct32): Added.
22248 (grub_video_i386_vbefill_direct24): Likewise.
22249 (grub_video_i386_vbefill_direct16): Likewise.
22250 (grub_video_i386_vbefill_direct8): Likewise.
22251
22252 * include/grub/video.h (grub_video_blit_format): Removed
22253 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
22254 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
22255 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
22256 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
22257 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
22258
22259 * video/video.c (grub_video_get_blit_format): Updated to use new
22260 blit formats. Added handling for 16 bit color modes.
22261
22262 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
22263 fillers.
22264 (common_blitter): Updated to use new blitters.
22265
22266 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
22267 Removed.
22268 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22269 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22270 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22271 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22272 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22273 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22274 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22275 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22276 (grub_video_i386_vbeblit_index_index): Likewise.
22277 (grub_video_i386_vbeblit_replace_directN): Added.
22278 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22279 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22280 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22281 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22282 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22283 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22284 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22285 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22286 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22287 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22288 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22289 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22290 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22291
22292 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
22293 (grub_video_i386_vbefill_R8G8B8): Likewise.
22294 (grub_video_i386_vbefill_index): Likewise.
22295 (grub_video_i386_vbefill_direct32): Added.
22296 (grub_video_i386_vbefill_direct24): Likewise.
22297 (grub_video_i386_vbefill_direct16): Likewise.
22298 (grub_video_i386_vbefill_direct8): Likewise.
22299
22300 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
22301 types.
22302
22303 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
22304 types.
22305
22306 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
22307 blitter types.
22308
22309 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
22310 types.
22311
22312 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
22313
22314 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
22315 RAID level 1.
22316
22317 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
22318
22319 * fs/iso9660.c (grub_iso9660_date): New structure.
22320 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
22321 (grub_iso9660_uuid): New function.
22322
22323 2008-09-05 Bean <bean123ch@gmail.com>
22324
22325 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
22326
22327 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
22328 insensitive bit for names in Win32 and Win32 & DOS namespace.
22329
22330 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
22331
22332 * include/grub/types.h (LONG_MAX): Likewise.
22333
22334 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
22335
22336 * util/getroot.c: Include <config.h>.
22337 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
22338 add support for /dev/md/N devices and handle LVM double dash escaping.
22339
22340 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
22341
22342 * config.guess: Update to latest version from config git.
22343 * config.sub: Likewise.
22344
22345 2008-09-03 Robert Millan <rmh@aybabtu.com>
22346
22347 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
22348 `disk->total_sectors'.
22349
22350 2008-09-01 Colin D Bennett <colin@gibibit.com>
22351
22352 * include/grub/normal.h: Fixed incorrect comment for
22353 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
22354
22355 2008-09-01 Colin D Bennett <colin@gibibit.com>
22356
22357 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
22358 values with defines.
22359
22360 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
22361 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
22362 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
22363 (GRUB_VBE_MODEATTR_COLOR): Likewise.
22364 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
22365 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
22366 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
22367 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
22368 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
22369 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
22370 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
22371 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
22372 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
22373 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
22374 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
22375 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
22376 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
22377 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
22378 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
22379
22380 2008-08-31 Robert Millan <rmh@aybabtu.com>
22381
22382 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
22383 declaration.
22384 (grub_multiboot): Fix a few warnings.
22385
22386 2008-08-31 Robert Millan <rmh@aybabtu.com>
22387
22388 * loader/i386/pc/multiboot.c: Update comment not to say that
22389 boot_device support is unimplemented.
22390
22391 2008-08-31 Robert Millan <rmh@aybabtu.com>
22392
22393 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
22394 or memory map support are unimplemented.
22395
22396 2008-08-31 Colin D Bennett <colin@gibibit.com>
22397
22398 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
22399
22400 2008-08-31 Colin D Bennett <colin@gibibit.com>
22401
22402 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
22403 total video memory in 'vbeinfo' output; show color format details for
22404 each video mode.
22405
22406 2008-08-30 Pavel Roskin <proski@gnu.org>
22407
22408 * util/genmoddep.c: Remove for real this time.
22409 * DISTLIST: Remove util/genmoddep.c.
22410
22411 2008-08-30 Robert Millan <rmh@aybabtu.com>
22412
22413 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
22414 as required by Multiboot spec (it was already 4-byte aligned, but
22415 only by chance).
22416
22417 2008-08-29 Pavel Roskin <proski@gnu.org>
22418
22419 * kern/powerpc/ieee1275/crt0.S: Rename to ...
22420 * kern/powerpc/ieee1275/startup.S: ... this.
22421 * conf/powerpc-ieee1275.rmk: Adjust for the above.
22422 * DISTLIST: Likewise.
22423
22424 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
22425 grub/cpu/kernel.h. Add start label for consistency with other
22426 platforms. Add grub_prefix immediately after start. Add jump
22427 to the code after grub_prefix.
22428 * include/grub/powerpc/kernel.h: Provide valid values for
22429 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
22430
22431 2008-08-29 Bean <bean123ch@gmail.com>
22432
22433 * configure.ac: Change host_os to cygwin for mingw.
22434 (asprintf): New check for function.
22435
22436 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
22437 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
22438
22439 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
22440 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
22441 sync, sleep and grub_util_get_disk_size for mingw.
22442
22443 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
22444 to get size in mingw.
22445 (open_device): Use flag O_BINARY if it's defined.
22446 (find_root_device): Add dummy code for mingw.
22447
22448 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
22449 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
22450 (get_scsi_disk_name): Return 0 for mingw.
22451
22452 * util/hostfs.c: #include <grub/util/misc.h>.
22453 (grub_hostfs_open): Use "rb" flag to open file, use
22454 grub_util_get_disk_size to get disk size for mingw.
22455
22456 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
22457 (asprintf): New function if HAVE_ASPRINTF is not set.
22458 (sync): New function for mingw.
22459 (sleep): Likewise.
22460 (grub_util_get_disk_size): Likewise.
22461
22462 2008-08-28 Pavel Roskin <proski@gnu.org>
22463
22464 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22465 kern/time.c.
22466
22467 2008-08-28 Robert Millan <rmh@aybabtu.com>
22468
22469 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
22470
22471 2008-08-28 Robert Millan <rmh@aybabtu.com>
22472
22473 Change find_grub_drive() syntax so it doesn't prevent it from
22474 detecting NULL names as errors.
22475
22476 * util/biosdisk.c (find_grub_drive): Move free slot search code
22477 from here ...
22478 (find_free_slot): ... to here.
22479 (read_device_map): Use find_free_slot() to search for free slots.
22480
22481 2008-08-27 Marco Gerards <marco@gnu.org>
22482
22483 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
22484 (scsi_mod_SOURCES): New variable.
22485 (scsi_mod_CFLAGS): Likewise
22486 (scsi_mod_LDFLAGS): Likewise.
22487
22488 * disk/scsi.c: New file.
22489
22490 * include/grub/scsi.h: Likewise.
22491
22492 * include/grub/scsicmd.h: Likewise.
22493
22494 * disk/ata.c: Include <grub/scsi.h>.
22495 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
22496 instead.
22497 (grub_ata_iterate): Skip ATAPI devices.
22498 (grub_ata_open): Only handle ATAPI devices.
22499 (struct grub_atapi_read): Removed.
22500 (grub_atapi_readsector): Likewise.
22501 (grub_ata_read): No longer handle ATAPI devices.
22502 (grub_ata_write): Likewise.
22503 (grub_atapi_iterate): New function.
22504 (grub_atapi_read): Likewise.
22505 (grub_atapi_write): Likewise.
22506 (grub_atapi_open): Likewise.
22507 (grub_atapi_close): Likewise.
22508 (grub_atapi_dev): New variable.
22509 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
22510 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
22511
22512 * include/grub/disk.h (enum grub_disk_dev_id): Add
22513 `GRUB_DISK_DEVICE_SCSI_ID'.
22514
22515 2008-08-26 Robert Millan <rmh@aybabtu.com>
22516
22517 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
22518 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
22519 descriptive.
22520
22521 2008-08-23 Bean <bean123ch@gmail.com>
22522
22523 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
22524 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22525 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
22526 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
22527 dm_nv.mod.
22528 (raid5rec_mod_SOURCES): New macro.
22529 (raid5rec_mod_CFLAGS): Likewise.
22530 (raid5rec_mod_LDFLAGS): Likewise.
22531 (raid6rec_mod_SOURCES): Likewise.
22532 (raid6rec_mod_CFLAGS): Likewise.
22533 (raid6rec_mod_LDFLAGS): Likewise.
22534 (mdraid_mod_SOURCES): Likewise.
22535 (mdraid_mod_CFLAGS): Likewise.
22536 (mdraid_mod_LDFLAGS): Likewise.
22537 (dm_nv_mod_SOURCES): Likewise.
22538 (dm_nv_mod_CFLAGS): Likewise.
22539 (dm_nv_mod_LDFLAGS): Likewise.
22540
22541 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
22542 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22543 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22544
22545 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
22546 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22547
22548 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22549
22550 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22551
22552 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22553
22554 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22555
22556 * disk/raid5_recover.c: New file.
22557
22558 * disk/raid6_recover.c: Likewise.
22559
22560 * disk/mdraid_linux.c: Likewise.
22561
22562 * disk/dmraid_nvidia.c: Likewise.
22563
22564 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
22565 ULONG_MAX.
22566
22567 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
22568 calculate the size of raid device.
22569 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
22570 different layout of raid5.
22571 (grub_raid_scan_device): Remove code specific to mdraid.
22572 (grub_raid_list): New variable.
22573 (free_array): New function.
22574 (grub_raid_register): Likewise.
22575 (grub_raid_unregister): Likewise.
22576 (grub_raid_rescan): Likewise.
22577 (GRUB_MOD_INIT): Don't iterate device here.
22578 (GRUB_MOD_FINI): Use free_array to release resource.
22579
22580 * include/grub/raid.h: Remove macro and structure specific to mdraid.
22581 (grub_raid5_recover_func_t): New function variable type.
22582 (grub_raid6_recover_func_t): Likewise.
22583 (grub_raid5_recover_func): New variable.
22584 (grub_raid6_recover_func): Likewise.
22585 (grub_raid_register): New function.
22586 (grub_raid_unregister): Likewise.
22587 (grub_raid_rescan): Likewise.
22588 (grub_raid_block_xor): Likewise.
22589
22590 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
22591 (CMD_CRC): New macro.
22592 (part): Removed.
22593 (read_file): Handle device as well as file.
22594 (cmd_crc): New function.
22595 (fstest): Handle multiple disks.
22596 (options): Remove part, raw and long, add root and diskcount.
22597 (usage): Add crc, remove -p, -r, -l, add -r and -c.
22598 (main): Find the first non option entry and ignore subsequent options,
22599 add handling for the new options, support multiple disks.
22600
22601 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
22602
22603 2008-08-23 Bean <bean123ch@gmail.com>
22604
22605 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
22606
22607 * genfslist.sh: Ignore kernel.mod.
22608
22609 * genpartmaplist.sh: Likewise.
22610
22611 2008-08-23 Robert Millan <rmh@aybabtu.com>
22612
22613 * util/getroot.c (find_root_device): Skip anything that starts with
22614 a dot, not just directories. This avoids things like /dev/.tmp.md0.
22615
22616 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
22617
22618 * util/update-grub.in (GRUB_GFXMODE): Export variable.
22619 * util/grub.d/00_header.in: Allow the administrator to change default
22620 gfxmode via ${GRUB_GFXMODE}.
22621
22622 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
22623
22624 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
22625
22626 2008-08-21 Robert Millan <rmh@aybabtu.com>
22627
22628 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
22629 loader.
22630 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
22631 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
22632
22633 2008-08-20 Carles Pina i Estany <carles@pina.cat>
22634
22635 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
22636 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
22637
22638 2008-08-19 Robert Millan <rmh@aybabtu.com>
22639
22640 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
22641 (struct grub_virtual_screen): Remove `cursor_color'.
22642 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
22643 initialization.
22644 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
22645
22646 2008-08-18 Robert Millan <rmh@aybabtu.com>
22647
22648 Unify (identical) linux_normal.c files.
22649 * loader/i386/efi/linux_normal.c: Move from here ...
22650 * loader/linux_normal.c: ... to here. Update all users.
22651 * loader/i386/pc/linux_normal.c: Delete. Update all users.
22652 * loader/i386/ieee1275/linux_normal.c: Likewise.
22653
22654 2008-08-18 Robert Millan <rmh@aybabtu.com>
22655
22656 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
22657 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
22658 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
22659 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
22660 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
22661 New macros.
22662 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
22663 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
22664 (GRUB_LINUX_CL_END_OFFSET): ... to here.
22665 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
22666 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
22667 (GRUB_EFI_CL_END_OFFSET): Rename to ...
22668 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
22669 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
22670 Initialize `params->video_cursor_x' and `params->video_cursor_y'
22671 portably using grub_getxy().
22672 Replace `-EFI' with `-bzImage' in boot message.
22673
22674 2008-08-17 Robert Millan <rmh@aybabtu.com>
22675
22676 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
22677
22678 2008-08-17 Robert Millan <rmh@aybabtu.com>
22679
22680 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
22681
22682 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
22683 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
22684 (grub_machine_mmap_iterate): New function declaration.
22685 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
22686 structure.
22687 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
22688 macros.
22689
22690 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
22691 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
22692 Move e820 parsing from here ...
22693 * kern/i386/pc/mmap.c: New file.
22694 (grub_machine_mmap_iterate): ... to here.
22695
22696 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
22697 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
22698 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
22699 (grub_available_iterate): Redeclare to return `void', and redeclare
22700 its hook to use grub_uint64_t as addr and size parameters, and rename
22701 to ...
22702 (grub_machine_mmap_iterate): ... this. Update all users.
22703
22704 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
22705 to make it more readable. Rename to ...
22706 (grub_machine_mmap_iterate): ... this.
22707
22708 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
22709 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
22710 (grub_multiboot): Allocate an extra region after the payload, and fill
22711 it with a Multiboot memory map. Adjust a.out loader to calculate size
22712 with the extra space.
22713 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
22714 with the extra space.
22715
22716 2008-08-17 Carles Pina i Estany <carles@pina.cat>
22717
22718 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
22719
22720 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
22721
22722 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
22723 mdate-sh to the list `find' searches for.
22724 * DISTLIST: Regenerated.
22725
22726 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
22727
22728 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
22729 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
22730 genmoddep.awk, gensymlist.sh.in.
22731 (DISTDIRS): Add bus, docs, hook, lib.
22732 * DISTLIST: Regenerated.
22733 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
22734
22735 2008-08-16 Robert Millan <rmh@aybabtu.com>
22736
22737 * disk/raid.c (grub_raid_init): Handle/report errors set by
22738 grub_device_iterate().
22739 * disk/lvm.c (grub_lvm_init): Likewise.
22740
22741 2008-08-15 Bean <bean123ch@gmail.com>
22742
22743 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22744 and datehook.mod.
22745 (datetime_mod_SOURCES): New macro.
22746 (datetime_mod_CFLAGS): Likewise.
22747 (datetime_mod_LDFLAGS): Likewise.
22748 (date_mod_SOURCES): Likewise.
22749 (date_mod_CFLAGS): Likewise.
22750 (date_mod_LDFLAGS): Likewise.
22751 (datehook_mod_SOURCES): Likewise.
22752 (datehook_mod_CFLAGS): Likewise.
22753 (datehook_mod_LDFLAGS): Likewise.
22754
22755 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22756 and datehook.mod.
22757 (datetime_mod_SOURCES): New macro.
22758 (datetime_mod_CFLAGS): Likewise.
22759 (datetime_mod_LDFLAGS): Likewise.
22760 (date_mod_SOURCES): Likewise.
22761 (date_mod_CFLAGS): Likewise.
22762 (date_mod_LDFLAGS): Likewise.
22763 (datehook_mod_SOURCES): Likewise.
22764 (datehook_mod_CFLAGS): Likewise.
22765 (datehook_mod_LDFLAGS): Likewise.
22766
22767 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22768 and datehook.mod.
22769 (datetime_mod_SOURCES): New macro.
22770 (datetime_mod_CFLAGS): Likewise.
22771 (datetime_mod_LDFLAGS): Likewise.
22772 (date_mod_SOURCES): Likewise.
22773 (date_mod_CFLAGS): Likewise.
22774 (date_mod_LDFLAGS): Likewise.
22775 (datehook_mod_SOURCES): Likewise.
22776 (datehook_mod_CFLAGS): Likewise.
22777 (datehook_mod_LDFLAGS): Likewise.
22778
22779 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22780 and datehook.mod.
22781 (datetime_mod_SOURCES): New macro.
22782 (datetime_mod_CFLAGS): Likewise.
22783 (datetime_mod_LDFLAGS): Likewise.
22784 (date_mod_SOURCES): Likewise.
22785 (date_mod_CFLAGS): Likewise.
22786 (date_mod_LDFLAGS): Likewise.
22787 (datehook_mod_SOURCES): Likewise.
22788 (datehook_mod_CFLAGS): Likewise.
22789 (datehook_mod_LDFLAGS): Likewise.
22790
22791 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22792 and datehook.mod.
22793 (datetime_mod_SOURCES): New macro.
22794 (datetime_mod_CFLAGS): Likewise.
22795 (datetime_mod_LDFLAGS): Likewise.
22796 (date_mod_SOURCES): Likewise.
22797 (date_mod_CFLAGS): Likewise.
22798 (date_mod_LDFLAGS): Likewise.
22799 (datehook_mod_SOURCES): Likewise.
22800 (datehook_mod_CFLAGS): Likewise.
22801 (datehook_mod_LDFLAGS): Likewise.
22802
22803 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
22804
22805 * commands/date.c: New file.
22806
22807 * hook/datehook.c: Likewise.
22808
22809 * include/grub/lib/datetime.h: Likewise.
22810
22811 * include/grub/i386/cmos.h: Likewise.
22812
22813 * lib/datetime.c: Likewise.
22814
22815 * lib/i386/datetime.c: Likewise.
22816
22817 * lib/efi/datetime.c: Likewise.
22818
22819 2008-08-14 Robert Millan <rmh@aybabtu.com>
22820
22821 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
22822 (grub_mkelfimage_SOURCES): New variable.
22823 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
22824
22825 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
22826 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
22827 * conf/powerpc-ieee1275.rmk: Likewise.
22828 * conf/i386-ieee1275.rmk: Likewise.
22829
22830 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
22831 * kern/i386/coreboot/init.c: Likewise.
22832
22833 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
22834 with `<grub/cpu/kernel.h>'.
22835 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
22836 to ...
22837 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
22838 * kern/i386/coreboot/startup.S: Likewise.
22839
22840 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
22841 (GRUB_MOD_GAP): Remove.
22842 * include/grub/powerpc/kernel.h: New file.
22843 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
22844 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22845 * include/grub/i386/kernel.h: New file.
22846 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
22847 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
22848 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22849
22850 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
22851 `grub-mkelfimage'.
22852 Use --directory when invoking grub_mkimage.
22853
22854 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
22855 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
22856 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
22857 and GRUB_KERNEL_CPU_PREFIX.
22858
22859 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
22860
22861 * include/grub/err.h (grub_err_printf): New function prototype.
22862 * util/misc.c (grub_err_printf): New function.
22863 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
22864 grub_printf.
22865 * kern/err.c (grub_print_error): Use grub_err_printf.
22866
22867 2008-08-13 Robert Millan <rmh@aybabtu.com>
22868
22869 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
22870
22871 2008-08-13 Robert Millan <rmh@aybabtu.com>
22872
22873 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
22874 boot entry.
22875
22876 2008-08-12 Robert Millan <rmh@aybabtu.com>
22877
22878 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
22879 of the relocation code from here ...
22880 (grub_multiboot): ... to here.
22881 (forward_relocator, backward_relocator): Move from here ...
22882 * kern/i386/loader.S (grub_multiboot_forward_relocator)
22883 (grub_multiboot_backward_relocator): ... to here.
22884 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
22885 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
22886 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
22887 (grub_multiboot_forward_relocator_end)
22888 (grub_multiboot_backward_relocator)
22889 (grub_multiboot_backward_relocator_end): New variables.
22890
22891 2008-08-12 Bean <bean123ch@gmail.com>
22892
22893 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
22894
22895 2008-08-11 Robert Millan <rmh@aybabtu.com>
22896
22897 * kern/i386/linuxbios/startup.S: Move from here ...
22898 * kern/i386/coreboot/startup.S: ... to here.
22899
22900 * kern/i386/linuxbios/init.c: Move from here ...
22901 * kern/i386/coreboot/init.c: ... to here.
22902
22903 * kern/i386/linuxbios/table.c: Move from here ...
22904 * kern/i386/coreboot/mmap.c: ... to here.
22905
22906 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
22907
22908 2008-08-11 Robert Millan <rmh@aybabtu.com>
22909
22910 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
22911 errors. Leave it to the upper layer to handle them.
22912
22913 2008-08-09 Christian Franke <franke@computer.org>
22914
22915 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
22916 * conf/common.rmk: Install `grub-pe2elf' only if requested.
22917 Install `grub.d/10_windows' only on Cygwin.
22918 * configure.ac: Add subst of `target_os'.
22919 Check `target_os' also before setting TARGET_OBJ2ELF.
22920 Add `--enable-grub-pe2elf'.
22921
22922 2008-08-08 Robert Millan <rmh@aybabtu.com>
22923
22924 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22925 (grub_last_time): Change type to grub_uint64_t.
22926 (grub_disk_open): Migrate code from to using grub_get_time_ms().
22927 (grub_disk_close): Likewise.
22928
22929 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22930 (run_menu): Migrate code from to using grub_get_time_ms().
22931
22932 * util/misc.c (grub_get_time_ms): New function.
22933
22934 2008-08-08 Marco Gerards <marco@gnu.org>
22935
22936 * disk/ata.c (grub_ata_regget): Change return type to
22937 `grub_uint8_t'.
22938 (grub_ata_regget2): Likewise.
22939 (grub_ata_wait_status): New function.
22940 (grub_ata_wait_busy): Removed function, updated all users to use
22941 `grub_ata_wait_status'.
22942 (grub_ata_wait_drq): Likewise.
22943 (grub_ata_cmd): New function.
22944 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
22945 error handling.
22946 (grub_ata_pio_write): Add error handling.
22947 (grub_atapi_identify): Likewise.
22948 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
22949 handling.
22950 (grub_ata_identify): Use `grub_ata_cmd' and improve error
22951 handling. Actually use the detected registers. Reorder the
22952 detection logic such that it is easier to read.
22953 (grub_ata_pciinit): Do not assign the same ID to each controller.
22954 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
22955 handling.
22956 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
22957
22958 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
22959
22960 2008-08-08 Marco Gerards <marco@gnu.org>
22961
22962 * NEWS: Update.
22963
22964 2008-08-07 Bean <bean123ch@gmail.com>
22965
22966 * include/grub/x86_64/pci.h: New file.
22967
22968 2008-08-07 Christian Franke <franke@computer.org>
22969
22970 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
22971 (TIMER2_GATE): Likewise.
22972 (grub_pit_wait): Add enable/disable of the timer2 gate
22973 bit of port 0x61. This fixes a possible infinite loop.
22974
22975 2008-08-07 Bean <bean123ch@gmail.com>
22976
22977 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
22978 kern/i386/tsc.c and kern/i386/pit.c.
22979
22980 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
22981 x86_64 platform.
22982
22983 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
22984 <grub/i386/tsc.h>.
22985
22986 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
22987
22988 2008-08-07 Bean <bean123ch@gmail.com>
22989
22990 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
22991
22992 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
22993
22994 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
22995 multiple inclusion. Add #include <grub/types.h>.
22996
22997 2008-08-06 Christian Franke <franke@computer.org>
22998
22999 * conf/common.rmk: Build and install `10_windows'.
23000 * util/grub.d/10_windows.in: New script.
23001
23002 2008-08-06 Pavel Roskin <proski@gnu.org>
23003
23004 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
23005
23006 2008-08-06 Robert Millan <rmh@aybabtu.com>
23007
23008 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
23009 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
23010
23011 2008-08-06 Bean <bean123ch@gmail.com>
23012
23013 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
23014 (grub_pxefs_fs_int): Remove dummy definition.
23015 (grub_pxefs_open): Use data->block_size to store the current block
23016 size setting.
23017 (grub_pxefs_read): Use block size stored in data->block_size. As the
23018 value of grub_pxe_blksize can be changed after the file is opened.
23019
23020 2008-08-06 Bean <bean123ch@gmail.com>
23021
23022 * fs/i386/pc/pxe.c (curr_file): new variable.
23023 (grub_pxefs_open): Simply the handling of pxe file system. Don't
23024 require the dummy internal file system anymore.
23025 (grub_pxefs_read): Removed.
23026 (grub_pxefs_close): Likewise.
23027 (grub_pxefs_fs_int): Likewise.
23028 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
23029 connection when we switch file.
23030 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
23031
23032 2008-08-06 Robert Millan <rmh@aybabtu.com>
23033
23034 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
23035 `halt.mod'.
23036 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
23037 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
23038
23039 * kern/i386/halt.c: New file.
23040 * kern/i386/reboot.c: Likewise.
23041 * include/grub/i386/reboot.h: Likewise.
23042 * include/grub/i386/halt.h: Likewise.
23043
23044 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
23045 Include `<grub/cpu/halt.h>'.
23046 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
23047 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
23048
23049 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
23050 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
23051 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
23052 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
23053 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
23054 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
23055 from here ...
23056 * include/grub/i386/at_keyboard.h: ... to here.
23057
23058 2008-08-05 Robert Millan <rmh@aybabtu.com>
23059
23060 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
23061 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
23062 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
23063 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23064 `kern/generic/millisleep.c'.
23065
23066 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
23067 instead of grub_get_rtc().
23068 (grub_tsc_init): Initialize `tsc_boot_time'.
23069
23070 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
23071 (grub_machine_init): Use grub_tsc_init() rather than
23072 installing an RTC-based handler via grub_install_get_time_ms().
23073
23074 * kern/i386/pit.c: New file.
23075 * include/grub/i386/pit.h: Likewise.
23076
23077 2008-08-05 Bean <bean123ch@gmail.com>
23078
23079 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
23080
23081 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
23082 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
23083 (pxe_mod_SOURCES): New macro.
23084 (pxe_mod_CFLAGS): Likewise.
23085 (pxe_mod_LDFLAGS): Likewise.
23086 (pxecmd_mod_SOURCES): Likewise.
23087 (pxecmd_mod_CFLAGS): Likewise.
23088 (pxecmd_mod_LDFLAGS): Likewise.
23089
23090 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
23091 (grub_pxe_call): Likewise.
23092
23093 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
23094
23095 * commands/i386/pc/pxecmd.c: New file.
23096
23097 * fs/i386/pc/pxe.c: Likewise.
23098
23099 * include/grub/i386/pc/pxe.h: Likewise.
23100
23101 2008-08-05 Bean <bean123ch@gmail.com>
23102
23103 * util/console.c (grub_console_cur_color): New variable.
23104 (grub_console_standard_color): Likewise.
23105 (grub_console_normal_color): Likewise.
23106 (grub_console_highlight_color): Likewise.
23107 (color_map): Likewise.
23108 (use_color): Likewise.
23109 (NUM_COLORS): New macro.
23110 (grub_ncurses_setcolorstate): Handle color properly.
23111 (grub_ncurses_setcolor): Don't change color here, just remember the
23112 settings, color will be set in grub_ncurses_setcolorstate.
23113 (grub_ncurses_getcolor): New function.
23114 (grub_ncurses_init): Initialize color pairs.
23115 (grub_ncurses_term): New member grub_ncurses_getcolor.
23116
23117 2008-08-05 Colin D Bennett <colin@gibibit.com>
23118
23119 High resolution timer support. Implemented for x86 CPUs using TSC.
23120 Extracted generic grub_millisleep() so it's linked in only as needed.
23121 This requires a Pentium compatible CPU; if the RDTSC instruction is
23122 not supported, then it falls back on the generic grub_get_time_ms()
23123 implementation that uses the machine's RTC.
23124
23125 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
23126 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23127 `kern/generic/millisleep.c'.
23128
23129 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
23130 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
23131
23132 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
23133 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
23134
23135 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23136
23137 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23138 `kern/generic/millisleep.c'.
23139
23140 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23141
23142 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
23143
23144 * kern/generic/rtc_get_time_ms.c: New file.
23145
23146 * kern/generic/millisleep.c: New file.
23147
23148 * kern/misc.c: Don't include
23149 <kern/time.h> anymore.
23150 (grub_millisleep_generic): Removed.
23151
23152 * commands/sleep.c (grub_interruptible_millisleep): Uses
23153 grub_get_time_ms() instead of grub_get_rtc().
23154
23155 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
23156 function.
23157 (grub_cpu_is_cpuid_supported): New inline function.
23158 (grub_cpu_is_tsc_supported): New inline function.
23159 (grub_tsc_init): New function prototype.
23160 (grub_tsc_get_time_ms): New function prototype.
23161
23162 * kern/i386/tsc.c (grub_get_time_ms): New file.
23163
23164 * include/grub/time.h: Include <grub/types.h.
23165 (grub_millisleep_generic): Removed.
23166 (grub_get_time_ms): New prototype.
23167 (grub_install_get_time_ms): New prototype.
23168 (grub_rtc_get_time_ms): New prototype.
23169
23170 * kern/time.c (grub_get_time_ms): New function.
23171 (grub_install_get_time_ms): New function.
23172
23173 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
23174 <grub/time.h> anymore.
23175 (grub_millisleep): Removed.
23176 (grub_machine_init): Call grub_tsc_init.
23177
23178 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
23179 get_time_ms() implementation.
23180
23181 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
23182 (ieee1275_get_time_ms): New function.
23183 (grub_machine_init): Install get_time_ms() implementation.
23184
23185 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
23186 (grub_machine_init): Call grub_tsc_init().
23187 (grub_millisleep): Removed.
23188
23189 * kern/ieee1275/init.c (grub_millisleep): Removed.
23190 (grub_machine_init): Install ieee1275_get_time_ms()
23191 implementation.
23192 (ieee1275_get_time_ms): New function.
23193 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
23194 real work.
23195
23196 2008-08-05 Marco Gerards <marco@gnu.org>
23197
23198 * disk/ata.c: Include <grub/pci.h>.
23199 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
23200 (grub_ata_initialize): Rewritten.
23201 (grub_ata_device_initialize): New function.
23202
23203 2008-08-04 Pavel Roskin <proski@gnu.org>
23204
23205 * kern/main.c: Include grub/mm.h.
23206
23207 2008-08-04 Robert Millan <rmh@aybabtu.com>
23208
23209 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
23210 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
23211 corruption problem).
23212
23213 2008-08-04 Robert Millan <rmh@aybabtu.com>
23214
23215 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
23216 warnings introduced in my last commit.
23217
23218 2008-08-03 Robert Millan <rmh@aybabtu.com>
23219
23220 Make PCI available on all i386 architectures.
23221
23222 * include/grub/i386/pc/pci.h: Move from here ...
23223 * include/grub/i386/pci.h: ... to here.
23224
23225 * include/grub/i386/pc/pci.h: Remove.
23226 * include/grub/i386/efi/pci.h: Remove.
23227 * include/grub/x86_64/efi/pci.h: Remove.
23228
23229 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
23230 `<grub/cpu/pci.h>'.
23231
23232 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
23233 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
23234 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
23235
23236 * conf/i386-ieee1275.rmk: Likewise.
23237
23238 2008-08-03 Robert Millan <rmh@aybabtu.com>
23239
23240 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
23241 (grub_console_setcursor): Make it possible to set cursor off.
23242
23243 2008-08-03 Robert Millan <rmh@aybabtu.com>
23244
23245 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
23246 of modules instead of assuming which platform provides what.
23247 * util/update-grub.in: Likewise.
23248
23249 2008-08-03 Robert Millan <rmh@aybabtu.com>
23250
23251 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
23252 instead of `grub_install_dos_part' to determine whether a drive needs
23253 to be prepended to prefix (`grub_install_dos_part' is not reliable,
23254 because it can be overridden when loading GRUB via Multiboot).
23255
23256 2008-08-02 Robert Millan <rmh@aybabtu.com>
23257
23258 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
23259
23260 2008-08-02 Robert Millan <rmh@aybabtu.com>
23261
23262 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
23263 of informational grub_dprintf() calls.
23264
23265 2008-08-02 Robert Millan <rmh@aybabtu.com>
23266
23267 * disk/memdisk.c (memdisk_size): Don't initialize.
23268 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
23269
23270 * include/grub/i386/pc/kernel.h
23271 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
23272 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
23273 (grub_memdisk_image_size, grub_arch_memdisk_addr)
23274 (grub_arch_memdisk_size): Remove.
23275
23276 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
23277 field (was only used to transfer a constant). Add `type' field to
23278 support multiple module types.
23279 (grub_module_iterate): New function.
23280
23281 * kern/device.c (grub_device_open): Do not hide error messages
23282 when grub_disk_open() fails. Use grub_print_error() instead.
23283
23284 * kern/i386/pc/init.c (grub_arch_modules_addr)
23285 (grub_arch_memdisk_size): Remove functions.
23286 (grub_arch_modules_addr): Return the module address in high memory
23287 (now that it isn't copied anymore).
23288
23289 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
23290 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
23291 decompression routine (grub_total_module_size already includes that
23292 now). Don't copy modules back to low memory.
23293
23294 * kern/main.c: Include `<grub/mm.h>'.
23295 (grub_load_modules): Split out (and use) ...
23296 (grub_module_iterate): ... this function, which iterates through
23297 module objects and runs a hook.
23298 Comment out grub_mm_init_region() call, as it would cause non-ELF
23299 modules to be overwritten.
23300
23301 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
23302 the memdisk image in its own region, make it part of the module list.
23303 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
23304 (main): Parse --memdisk|-m option, and pass user-provided path as
23305 parameter to generate_image().
23306 (add_segments): Pass `memdisk_path' down to load_modules().
23307 (load_modules): Embed memdisk image in module section when requested.
23308 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
23309 `header.type' instead of `header.offset'.
23310
23311 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
23312 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
23313 (memdisk_mod_LDFLAGS): New variables.
23314 * conf/i386-coreboot.rmk: Likewise.
23315 * conf/i386-ieee1275.rmk: Likewise.
23316
23317 2008-08-02 Robert Millan <rmh@aybabtu.com>
23318
23319 * loader/i386/pc/multiboot.c (playground, forward_relocator)
23320 (backward_relocator): New variables. Used to allocate and relocate
23321 the payload, respectively.
23322 (grub_multiboot_load_elf32): Load into heap instead of requested
23323 address, install the appropriate relocator code in each bound of
23324 the payload, and set the entry point such that
23325 grub_multiboot_real_boot() will jump to one of them.
23326
23327 * kern/i386/loader.S (grub_multiboot_payload_size)
23328 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23329 (grub_multiboot_payload_entry_offset): New variables.
23330 (grub_multiboot_real_boot): Set cpu context to what the relocator
23331 expects, and jump to the relocator instead of the payload.
23332
23333 * include/grub/i386/loader.h (grub_multiboot_payload_size)
23334 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23335 (grub_multiboot_payload_entry_offset): Export.
23336
23337 2008-08-01 Bean <bean123ch@gmail.com>
23338
23339 * normal/menu_entry.c (editor_getline): Don't return the original
23340 string as result, as it will be released by lexer once it has done
23341 using it.
23342
23343 2008-08-01 Robert Millan <rmh@aybabtu.com>
23344
23345 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
23346 within menuentries, not before them.
23347 util/grub.d/10_hurd.in: Likewise.
23348
23349 2008-08-01 Bean <bean123ch@gmail.com>
23350
23351 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
23352 (bufio_mod_SOURCES): New macro.
23353 (bufio_mod_CFLAGS): Likewise.
23354 (bufio_mod_LDFLAGS): Likewise.
23355
23356 * include/grub/bufio.h: New file.
23357
23358 * io/bufio.c: Likewise.
23359
23360 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
23361 (grub_video_reader_png): Use grub_buffile_open to open file.
23362
23363 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
23364 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
23365
23366 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
23367 (grub_video_reader_tga): Use grub_buffile_open to open file.
23368
23369 * font/manager.c: Include <grub/bufio.h>.
23370 (add_font): Use grub_buffile_open to open file.
23371
23372 2008-07-31 Robert Millan <rmh@aybabtu.com>
23373
23374 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
23375 ELF segments, use a macro for arbitrarily accessing any of them instead
23376 of preparing a pointer that allows access to one at a time.
23377 (grub_multiboot_load_elf64): Likewise.
23378
23379 2008-07-31 Bean <bean123ch@gmail.com>
23380
23381 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
23382 GRUB_KERNEL_MACHINE_DATA_END.
23383
23384 2008-07-30 Robert Millan <rmh@aybabtu.com>
23385
23386 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
23387 Increase from 0x50 to 0x60.
23388 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
23389 use UUIDs to identify the root drive for them. If that's not
23390 possible, abort.
23391 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
23392 check, for cross-disk installs.
23393
23394 2008-07-30 Robert Millan <rmh@aybabtu.com>
23395
23396 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
23397 is non-empty, use it to set the `prefix' environment variable instead
23398 of the usual approach.
23399 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
23400 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
23401 environment variable instead of dummy make_install_device().
23402
23403 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
23404 (start): Insert a data section, with `grub_prefix' variable.
23405 * kern/i386/linuxbios/startup.S: Likewise.
23406
23407 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
23408 New variable reference.
23409 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
23410 New macro. Defines offset of `grub_prefix' within startup.S (relative
23411 to `start').
23412 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
23413 section within startup.S (relative to `start').
23414 * include/grub/i386/coreboot/kernel.h: Likewise.
23415
23416 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
23417 Overwrite grub_prefix with its contents, at the beginning of the
23418 first segment.
23419 (main): Understand -p|--prefix.
23420
23421 2008-07-30 Robert Millan <rmh@aybabtu.com>
23422
23423 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
23424
23425 2008-07-30 Robert Millan <rmh@aybabtu.com>
23426
23427 * term/i386/pc/vga_text.c (grub_console_cls): Use
23428 grub_console_gotoxy() to go back to beginning of the screen.
23429 Found by Patrick Georgi <patrick.georgi@coresystems.de>
23430
23431 2008-07-29 Christian Franke <franke@computer.org>
23432
23433 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23434 Add conversion of emulated mount points on Cygwin.
23435
23436 2008-07-29 Christian Franke <franke@computer.org>
23437
23438 * util/update-grub.in: Add a check for admin
23439 group on Cygwin.
23440 Remove old `grub.cfg.new' before creation.
23441 Add `-f' to `mv' to handle the different filesystem
23442 semantics of Windows.
23443
23444 2008-07-29 Bean <bean123ch@gmail.com>
23445
23446 * normal/main.c (get_line): Fix buffer overflow bug.
23447
23448 2008-07-28 Robert Millan <rmh@aybabtu.com>
23449
23450 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
23451 (struct grub_apple_header): New struct. Describes the layout of
23452 the partmap header.
23453 (apple_partition_map_iterate): Check the header magic as well as the
23454 partition magic (which was already being checked).
23455
23456 2008-07-28 Pavel Roskin <proski@gnu.org>
23457
23458 * genmk.rb: Add a warning to the beginning of the output that
23459 it's a generated file and should not be edited.
23460
23461 2008-07-28 Robert Millan <rmh@aybabtu.com>
23462
23463 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23464 with the same number are found, just use issue a warning with
23465 grub_dprintf(), as this error has been reported to be non-fatal.
23466
23467 2008-07-27 Robert Millan <rmh@aybabtu.com>
23468
23469 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
23470 information.
23471
23472 2008-07-27 Bean <bean123ch@gmail.com>
23473
23474 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
23475 (grub_fat_find_dir): Ignore case when comparing filename.
23476
23477 2008-07-27 Bean <bean123ch@gmail.com>
23478
23479 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
23480 smallino, as it's more descriptive, and i8count can be confused with
23481 the other field count.
23482 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
23483 inode type.
23484
23485 2008-07-27 Bean <bean123ch@gmail.com>
23486
23487 * commands/crc.c: New file.
23488
23489 * lib/crc.c: Likewise.
23490
23491 * include/grub/lib/crc.h: Likewise.
23492
23493 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
23494
23495 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
23496 (hexdump): Move this function to ...
23497
23498 * lib/hexdump.c: ... here.
23499
23500 * include/grub/hexdump.h: Renamed to ...
23501
23502 * include/grub/lib/hexdump.h: ... this.
23503
23504 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
23505
23506 * util/grub-editenv.c: Likewise.
23507
23508 * include/envblk.h: Renamed to ...
23509
23510 * include/lib/envblk.h: ... this.
23511
23512 * util/envblk.c: Renamed to ...
23513
23514 * lib/envblk.c: ... this.
23515
23516 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
23517 lib/hexdump.c.
23518 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
23519 (pkglib_MODULES): Add crc.mod.
23520 (hexdump_mod_SOURCES): Add lib/hexdump.c.
23521 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
23522 (crc_mod_SOURCES): New macro.
23523 (crc_mod_CFLAGS): Likewise.
23524 (crc_mod_LDFLAGS): Likewise.
23525
23526 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
23527
23528 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23529
23530 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23531
23532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23533
23534 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23535
23536 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
23537
23538 * commands/help.c: Include <grub/term.h>.
23539 (TERM_WIDTH): Removed. Updated all users.
23540
23541 2008-07-27 Pavel Roskin <proski@gnu.org>
23542
23543 * util/getroot.c (find_root_device): Rephrase a comment to avoid
23544 spurious warnings about a comment within a comment.
23545
23546 2008-07-25 Robert Millan <rmh@aybabtu.com>
23547
23548 * util/getroot.c (find_root_device): Skip devices that match
23549 /dev/dm-[0-9]. This lets the real device be found for any type of
23550 abstraction (LVM, EVMS, RAID..).
23551 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
23552 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
23553 device is found first, find_root_device() will now skip it.
23554
23555 2008-07-24 Pavel Roskin <proski@gnu.org>
23556
23557 * include/grub/types.h: Use __builtin_bswap32() and
23558 __builtin_bswap64() with gcc 4.3 and newer.
23559
23560 2008-07-24 Christian Franke <franke@computer.org>
23561
23562 * util/i386/pc/grub-install.in: If `--debug' is specified,
23563 pass `--verbose' to grub-setup.
23564 Abort script if make_system_path_relative_to_its_root() fails.
23565
23566 2008-07-24 Bean <bean123ch@gmail.com>
23567
23568 * configure.ac: Fixed a bug caused by the previous cygwin patch,
23569 variable `target_platform' should be `platform'.
23570
23571 2008-07-24 Bean <bean123ch@gmail.com>
23572
23573 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
23574 (grub_png_init_fixed_block): New function.
23575 (grub_png_decode_image_data): Handle fixed huffman code compression.
23576
23577 2008-07-24 Bean <bean123ch@gmail.com>
23578
23579 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
23580 (grub_pe2elf_SOURCES): New macro.
23581 (CLEANFILES): Add grub-pe2elf.
23582
23583 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
23584 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
23585 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
23586 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
23587 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
23588 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
23589 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
23590 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
23591 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
23592 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
23593 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
23594 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
23595 (GRUB_PE32_DT_FUNCTION): Likewise.
23596 (GRUB_PE32_REL_I386_DIR32): Likewise.
23597 (GRUB_PE32_REL_I386_REL32): Likewise.
23598 (grub_pe32_symbol): New structure.
23599 (grub_pe32_reloc): Likewise.
23600
23601 * util/grub-pe2elf.c: New file.
23602
23603 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
23604 start symbol in non pc platform.
23605
23606 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
23607
23608 The following patches are from Christian Franke.
23609
23610 * include/grub/dl.h: Remove .previous, gas supports this only
23611 for ELF format.
23612
23613 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
23614 Remove .type, gas supports this only for ELF format.
23615
23616 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
23617 nullbytes in symbol table. This fixes an infinite loop if table is
23618 zero filled.
23619
23620 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
23621 TARGET_IMG_LDFLAGS and EXEEXT.
23622
23623 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
23624 TARGET_IMG_LDFLAGS_AC.
23625 (grub_CHECK_STACK_ARG_PROBE): New function.
23626
23627 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
23628
23629 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
23630
23631 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
23632 to set TARGET_IMG_LD* accordingly.
23633 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
23634 Add call to grub_CHECK_STACK_ARG_PROBE.
23635 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
23636
23637 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
23638
23639 * genmk.rb: Add EXEEXT to CLEANFILES.
23640
23641 2008-07-23 Robert Millan <rmh@aybabtu.com>
23642
23643 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
23644 define the codes for arrows and lines used for the menu).
23645 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
23646 as well.
23647
23648 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
23649 fonts, because the latter are too slow.
23650
23651 2008-07-21 Bean <bean123ch@gmail.com>
23652
23653 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
23654 a20. Run keyboard test last, as it will cause macbook to halt.
23655
23656 2008-07-18 Pavel Roskin <proski@gnu.org>
23657
23658 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
23659 load foreign architecture modules correctly anyway. Keep
23660 support for loading host architecture modules, whether we
23661 compile them or not.
23662
23663 2008-07-17 Pavel Roskin <proski@gnu.org>
23664
23665 * configure.ac: Use -m32 or -m64 regardless of whether we had to
23666 change target_cpu. The compiler default can mismatch target_cpu
23667 in any case.
23668
23669 * disk/efi/efidisk.c: Fix format warnings on x86_64.
23670 * kern/efi/efi.c: Likewise.
23671
23672 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
23673 target compiler is functional.
23674 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
23675 are set up.
23676
23677 * configure.ac: Default to efi platform for x86_64-apple. Allow
23678 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
23679 adjustments from the rest, only do them if target is not
23680 explicitly given. Merge other adjustments with the final sanity
23681 check. Remove an extraneous check for supported CPU. Be
23682 specific which CPU and which platform is not supported.
23683
23684 * configure.ac: Default to pc platform for x86_64.
23685
23686 2008-07-17 Robert Millan <rmh@aybabtu.com>
23687
23688 Partial LinuxBIOS -> Coreboot rename.
23689
23690 * conf/i386-linuxbios.rmk: Renamed to ...
23691 * conf/i386-coreboot.rmk: ... this.
23692 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
23693 * configure.ac: Accept "coreboot" as input platform (but maintain
23694 compatibility with "linuxbios").
23695 * include/grub/i386/linuxbios: Renamed to ...
23696 * include/grub/i386/coreboot: ... this.
23697
23698 2008-07-17 Bean <bean123ch@gmail.com>
23699
23700 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
23701 (appleldr_mod_SOURCE): New variable.
23702 (appleldr_mod_CFLAGS): Likewise.
23703 (appleldr_mod_LDFLAGS): Likewise.
23704 (pci_mod_SOURCES): Likewise.
23705 (pci_mod_CFLAGS): Likewise.
23706 (pci_mod_LDFLAGS): Likewise.
23707 (lspci_mod_SOURCES): Likewise.
23708 (lspci_mod_CFLAGS): Likewise.
23709 (lspci_mod_LDFLAGS): Likewise.
23710
23711 * conf/x86_64-efi.rmk: New file.
23712
23713 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
23714 macro.
23715 (grub_efidisk_write): Likewise.
23716
23717 * include/efi/api.h (efi_call_0): New macro.
23718 (efi_call_1): Likewise.
23719 (efi_call_2): Likewise.
23720 (efi_call_3): Likewise.
23721 (efi_call_4): Likewise.
23722 (efi_call_5): Likewise.
23723 (efi_call_6): Likewise.
23724
23725 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
23726 grub_rescue_cmd_chainloader.
23727
23728 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
23729 (grub_pe32_optional_header): Change some fields based on i386 or
23730 x86_64 platform.
23731 (GRUB_PE32_PE32_MAGIC): Likewise.
23732
23733 * include/grub/efi/uga_draw.h: New file.
23734
23735 * include/grub/elf.h (STN_ABS): New constant.
23736 (R_X86_64_NONE): Relocation constant for x86_64.
23737 (R_X86_64_64): Likewise.
23738 (R_X86_64_PC32): Likewise.
23739 (R_X86_64_GOT32): Likewise.
23740 (R_X86_64_PLT32): Likewise.
23741 (R_X86_64_COPY): Likewise.
23742 (R_X86_64_GLOB_DAT): Likewise.
23743 (R_X86_64_JUMP_SLOT): Likewise.
23744 (R_X86_64_RELATIVE): Likewise.
23745 (R_X86_64_GOTPCREL): Likewise.
23746 (R_X86_64_32): Likewise.
23747 (R_X86_64_32S): Likewise.
23748 (R_X86_64_16): Likewise.
23749 (R_X86_64_PC16): Likewise.
23750 (R_X86_64_8): Likewise.
23751 (R_X86_64_PC8): Likewise.
23752
23753 * include/grub/i386/efi/pci.h: New file.
23754
23755 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
23756 Change it value based on platform.
23757 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
23758 (GRUB_E820_RAM): Likewise.
23759 (GRUB_E820_RESERVED): Likewise.
23760 (GRUB_E820_ACPI): Likewise.
23761 (GRUB_E820_NVS): Likewise.
23762 (GRUB_E820_EXEC_CODE): Likewise.
23763 (GRUB_E820_MAX_ENTRY): Likewise.
23764 (grub_e820_mmap): New structure.
23765 (linux_kernel_header): Change the efi field according to different
23766 kernel version, also field from linux_kernel_header.
23767
23768 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
23769
23770 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
23771 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
23772 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
23773 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
23774 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
23775 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
23776 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
23777 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
23778 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
23779 (GRUB_PCI_ADDR_IO_MASK): Likewise.
23780
23781 * include/grub/x86_64/efi/kernel.h: New file.
23782
23783 * include/grub/x86_64/efi/loader.h: Likewise.
23784
23785 * include/grub/x86_64/efi/machine.h: Likewise.
23786
23787 * include/grub/x86_64/efi/pci.h: Likewise.
23788
23789 * include/grub/x86_64/efi/time.h: Likewise.
23790
23791 * include/grub/x86_64/linux.h: Likewise.
23792
23793 * include/grub/x86_64/setjmp.h: Likewise.
23794
23795 * include/grub/x86_64/time.h: Likewise.
23796
23797 * include/grub/x86_64/types.h: Likewise.
23798
23799 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
23800 GRUB_TARGET_SIZEOF_VOID_P.
23801
23802 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
23803 (grub_efi_locate_handle): Likewise.
23804 (grub_efi_open_protocol): Likewise.
23805 (grub_efi_set_text_mode): Likewise.
23806 (grub_efi_stall): Likewise.
23807 (grub_exit): Likewise.
23808 (grub_reboot): Likewise.
23809 (grub_halt): Likewise.
23810 (grub_efi_exit_boot_services): Likewise.
23811 (grub_get_rtc): Likewise.
23812
23813 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
23814 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
23815 (grub_efi_allocate_pages): Wrap efi calls.
23816 (grub_efi_free_pages): Wrap efi calls.
23817 (grub_efi_get_memory_map): Wrap efi calls.
23818
23819 * kern/x86_64/dl.c: New file.
23820
23821 * kern/x86_64/efi/callwrap.S: Likewise.
23822
23823 * kern/x86_64/efi/startup.S: Likewise.
23824
23825 * loader/efi/appleloader.c: Likewise.
23826
23827 * loader/efi/chainloader.c (cmdline): New variable.
23828 (grub_chainloader_unload): Wrap efi calls.
23829 (grub_chainloader_boot): Likewise.
23830 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
23831 command line.
23832
23833 * loader/efi/chainloader_normal.c (chainloader_command):
23834 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
23835 command line.
23836
23837 * loader/i386/efi/linux.c (allocate_pages): Change allocation
23838 method.
23839 (grub_e820_add_region): New function.
23840 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
23841 booting.
23842 (grub_find_video_card): New function.
23843 (grub_linux_setup_video): New function.
23844 (grub_rescue_cmd_linux): Probe for video information.
23845
23846 * normal/x86_64/setjmp.S: New file.
23847
23848 * term/efi/console.c (map_char): New function.
23849 (grub_console_putchar): Map unicode char.
23850 (grub_console_checkkey): Wrap efi calls.
23851 (grub_console_getkey): Likewise.
23852 (grub_console_getwh): Likewise.
23853 (grub_console_gotoxy): Likewise.
23854 (grub_console_cls): Likewise.
23855 (grub_console_setcolorstate): Likewise.
23856 (grub_console_setcursor): Likewise.
23857
23858 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
23859
23860 2008-07-16 Pavel Roskin <proski@gnu.org>
23861
23862 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
23863 format strings.
23864
23865 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
23866 pointer, not an integer. This fixes a warning and prevents
23867 precision loss on 64-bit systems.
23868 (relocate_addresses): Remove unneeded cast.
23869
23870 2008-07-15 Pavel Roskin <proski@gnu.org>
23871
23872 * kern/i386/ieee1275/init.c: Include grub/cache.h.
23873
23874 * term/ieee1275/ofconsole.c: Disable code unused on i386.
23875
23876 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
23877 Fix comparison between signed and unsigned.
23878
23879 * include/grub/i386/ieee1275/console.h: Declare
23880 grub_console_init() and grub_console_fini().
23881
23882 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
23883 It's empty and unused.
23884
23885 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
23886 beginning to avoid warnings with some compilers.
23887
23888 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
23889 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
23890
23891 2008-07-14 Pavel Roskin <proski@gnu.org>
23892
23893 * kern/env.c (grub_register_variable_hook): Don't copy empty
23894 string, it leaks memory. Pass "" to grub_env_set(), it should
23895 handle constant strings.
23896
23897 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
23898 * commands/cmp.c (grub_cmd_cmp): Likewise.
23899 * kern/dl.c (grub_dl_flush_cache): Likewise.
23900 (grub_dl_load_core): Likewise.
23901 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
23902 (grub_elf64_load_phdrs): Likewise.
23903
23904 2008-07-13 Pavel Roskin <proski@gnu.org>
23905
23906 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
23907 between signed and unsigned.
23908 (LzmaEnc_Finish): Fix warning about an unused parameter.
23909
23910 2008-07-13 Bean <bean123ch@gmail.com>
23911
23912 * Makefile.in (enable_lzo): New rule.
23913
23914 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
23915
23916 * configure.ac (ENABLE_LZO): New option --enable-lzo.
23917
23918 * boot/i386/pc/lnxboot.S: #include <config.h>.
23919
23920 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
23921 its value according to the compression algorithm used, lzo or lzma.
23922
23923 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
23924 compression algorithm according to configure macro.
23925
23926 * kern/i386/pc/startup.S (codestart): Likewise.
23927
23928 * kern/i386/pc/lzma_decode.S: New file.
23929
23930 * include/grub/lib/LzFind.h: Likewise.
23931
23932 * include/grub/lib/LzHash.h: Likewise.
23933
23934 * include/grub/lib/LzmaDec.h: Likewise.
23935
23936 * include/grub/lib/LzmaEnc.h: Likewise.
23937
23938 * include/grub/lib/LzmaTypes.h: Likewise.
23939
23940 * lib/LzFind.c: Likewise.
23941
23942 * lib/LzmaDec.c: Likewise.
23943
23944 * lib/LzmaEnc.c: Likewise.
23945
23946 2008-07-13 Bean <bean123ch@gmail.com>
23947
23948 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
23949 (grub_ext4_extent_header): New structure.
23950 (grub_ext4_extent): Likewise.
23951 (grub_ext4_extent_idx): Likewise.
23952 (grub_ext4_find_leaf): New function.
23953 (grub_ext2_read_block): Handle extents.
23954
23955 2008-07-12 Robert Millan <rmh@aybabtu.com>
23956
23957 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
23958
23959 2008-07-11 Robert Millan <rmh@aybabtu.com>
23960
23961 * util/grub.d/40_custom.in: New file. Example on how to add custom
23962 entries to /etc/grub.d.
23963 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
23964 40_custom (implicitly, by merging all the grub.d rules).
23965
23966 2008-07-11 Pavel Roskin <proski@gnu.org>
23967
23968 * commands/read.c (grub_getline): Fix invalid memory access.
23969 Don't add newline to the variable value.
23970
23971 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
23972 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
23973 (serial_hw_get_port): Check validity of the port number.
23974 (grub_cmd_serial): Check return value of serial_hw_get_port().
23975
23976 2008-07-07 Pavel Roskin <proski@gnu.org>
23977
23978 * boot/i386/pc/diskboot.S (notification_string): Replace
23979 "Loading kernel" with just "loading". This is shorter, less
23980 confusing and saves a few bytes for possible future changes.
23981
23982 2008-07-05 Pavel Roskin <proski@gnu.org>
23983
23984 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
23985 size for ATAPI devices, they are undefined. Output sector
23986 number in decimal form.
23987
23988 * disk/ata.c: Use named constants for status bits.
23989
23990 2008-07-04 Pavel Roskin <proski@gnu.org>
23991
23992 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
23993 grub_addr_t before casting it to the void pointer to fix a
23994 warning. Non-addressable regions are discarded earlier.
23995 (grub_arch_modules_addr): Cast _end to grub_addr_t.
23996 * kern/i386/linuxbios/table.c: Include grub/misc.h.
23997 (check_signature): Don't shadow table_header.
23998 (grub_linuxbios_table_iterate): Cast numeric constants to
23999 grub_linuxbios_table_header_t.
24000 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
24001 grub_stop().
24002
24003 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
24004 prevent warnings.
24005
24006 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
24007 pointer, which can cause warnings. Support 64-bit addresses.
24008
24009 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
24010 of sizeof(long). This fixes PowerPC image generation on x86_64.
24011
24012 2008-07-04 Robert Millan <rmh@aybabtu.com>
24013
24014 This fixes a performance issue when pc & gpt partmap iterators
24015 didn't abort iteration even after our hook found what it was
24016 looking for (often causing expensive probes of non-existent drives).
24017
24018 Some callers relied on previous buggy behaviour, since they would
24019 raise an error when their own hooks caused early abortion of its
24020 iteration.
24021
24022 * kern/device.c (grub_device_open): Improve error message.
24023 * disk/lvm.c (grub_lvm_open): Likewise.
24024 * disk/raid.c (grub_raid_open): Likewise.
24025
24026 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
24027 when hook requests it, independently of grub_errno.
24028 (pc_partition_map_probe): Do not fail when find_func() caused
24029 early abortion of pc_partition_map_iterate().
24030
24031 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
24032 when hook requests it, independently of grub_errno.
24033 (gpt_partition_map_probe): Do not fail when find_func() caused
24034 early abortion of gpt_partition_map_iterate().
24035
24036 * kern/partition.c (grub_partition_iterate): Abort parent iteration
24037 when hook requests it, independently of grub_errno. Do not fail when
24038 part_map_iterate_hook() caused early abortion of p->iterate().
24039
24040 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
24041 when grub_partition_iterate() returned with non-zero.
24042
24043 2008-07-03 Pavel Roskin <proski@gnu.org>
24044
24045 * disk/ata.c (grub_ata_pio_write): Check status before writing,
24046 like we do in grub_ata_pio_read().
24047 (grub_ata_readwrite): Always write individual sectors. Fix the
24048 sector count for the remainder.
24049 (grub_ata_write): Enable writing to ATA devices. Correctly
24050 report error for ATAPI devices.
24051
24052 2008-07-02 Pavel Roskin <proski@gnu.org>
24053
24054 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
24055 warning.
24056
24057 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
24058 for every read sector, we already increment it for the whole
24059 batch. This fixes reading more than 256 sectors at once.
24060
24061 * util/grub-editenv.c (cmd_info): Cast argument to long
24062 explicitly. ptrdiff_t reduces to int on i386.
24063
24064 * util/grub-editenv.c (main): Be specific which parameter is
24065 missing.
24066
24067 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
24068 (memdisk): Make memdisk_orig_addr a pointer.
24069
24070 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
24071 for file offsets, use grub_off_t instead. Fix printf format
24072 warnings.
24073
24074 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
24075 there. Real unexpected warnings should not drown in the noise
24076 about known problems.
24077
24078 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
24079 grub_disk_addr_t for memory addresses.
24080
24081 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
24082 explicitly to fix a warning.
24083
24084 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
24085
24086 * Makefile.in (MODULE_LDFLAGS): New variable.
24087 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
24088 the linker accepts --build-id=none.
24089 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
24090 MODULE_LDFLAGS.
24091 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
24092
24093 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
24094 those in Linux XFS code. Provide a way to access 64-bit parent
24095 inode.
24096 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
24097 the end of struct grub_xfs_dir_header.
24098
24099 2008-07-02 Bean <bean123ch@gmail.com>
24100
24101 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
24102 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24103 and GRUB_IEEE1275_FLAG_NO_ANSI.
24104
24105 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
24106 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24107 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
24108
24109 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
24110 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
24111
24112 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
24113 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
24114
24115 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
24116 esc sequence on non ANSI terminal.
24117 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
24118
24119 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
24120 beginning of file.
24121
24122 2008-07-02 Bean <bean123ch@gmail.com>
24123
24124 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
24125 (grub_editenv_SOURCES): New variable.
24126 (pkglib_MODULES): Add loadenv.mod.
24127 (loadenv_mod_SOURCES): New variable.
24128 (loadenv_mod_CFLAGS): Likewise.
24129 (loadenv_mod_LDFLAGS): Likewise.
24130
24131 * include/grub/envblk.h: New file.
24132
24133 * util/envblk.c: New file.
24134
24135 * util/grub-editenv.c: New file.
24136
24137 * commands/loadenv.c: New file.
24138
24139 2008-07-01 Pavel Roskin <proski@gnu.org>
24140
24141 * include/multiboot2.h (struct multiboot_tag_module): Use char,
24142 not unsigned char. This fixes warnings and is consistent with
24143 other tags.
24144
24145 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
24146
24147 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
24148
24149 * term/tparm.c (analyze): Always set *popcount.
24150
24151 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
24152 cast to fix a warning.
24153
24154 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
24155 cast to suppress a warning.
24156
24157 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
24158 grub_fshelp_read_file() expects.
24159
24160 * fs/fat.c: Fix UUID calculation on big-endian systems. We
24161 write uuid as a 32-bit value in CPU byte order, so declare and
24162 use it as such.
24163
24164 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
24165 long if the format specifier expects it.
24166 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
24167 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24168 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
24169 long to fix a warning.
24170 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
24171 grub_dprintf() arguments to fix warnings.
24172
24173 2008-06-30 Pavel Roskin <proski@gnu.org>
24174
24175 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
24176 install_bsd_part immediately before core.img is embedded or
24177 modified on disk. This fixes core.img verification if core.img
24178 cannot be embedded.
24179
24180 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
24181 core_path to calculate the blocklist.
24182 Patch from Javier Martín <lordhabbit@gmail.com>
24183
24184 2008-06-29 Robert Millan <rmh@aybabtu.com>
24185
24186 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
24187 block to disk block.
24188 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
24189 Patch from Niels Böhm <bitbucket@arcor.de>
24190
24191 2008-06-29 Robert Millan <rmh@aybabtu.com>
24192
24193 * util/update-grub_lib.in (font_path): Search for fonts in
24194 /boot/grub first, which is more likely to be readable (we aren't
24195 deciding where fonts live, just looking for them).
24196
24197 2008-06-26 Pavel Roskin <proski@gnu.org>
24198
24199 * util/biosdisk.c (read_device_map): Don't leave dead map
24200 entries for devices failing stat() check.
24201
24202 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
24203 core_path_dev for the core.img path on the target device.
24204
24205 2008-06-26 Robert Millan <rmh@aybabtu.com>
24206
24207 * disk/fs_uuid.c: New file.
24208 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
24209 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
24210 (fs_uuid_mod_LDFLAGS): New variables.
24211 * include/grub/disk.h (grub_disk_dev_id): Add
24212 `GRUB_DISK_DEVICE_UUID_ID'.
24213 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
24214 implement iterate().
24215
24216 2008-06-26 Robert Millan <rmh@aybabtu.com>
24217
24218 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
24219 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
24220 Linux image includes no initrd.
24221
24222 2008-06-21 Javier Martín <lordhabbit@gmail.com>
24223
24224 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
24225 call to resolve the core image location that effectively appended the
24226 name twice.
24227
24228 2008-06-21 Robert Millan <rmh@aybabtu.com>
24229
24230 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
24231 call from here ...
24232
24233 * util/grub.d/10_hurd.in: ... to here ...
24234 * util/grub.d/10_linux.in: ... and here.
24235
24236 2008-06-19 Robert Millan <rmh@aybabtu.com>
24237
24238 * kern/main.c (grub_main): Export `prefix' variable immediately
24239 after it has been set by grub_machine_set_prefix().
24240
24241 2008-06-19 Robert Millan <rmh@aybabtu.com>
24242
24243 * commands/search.c (search_label, search_fs_uuid, search_file): Print
24244 search result when not saving to variable, not the other way around.
24245 When saving to variable, abort iteration as soon as a match is found.
24246
24247 2008-06-19 Robert Millan <rmh@aybabtu.com>
24248
24249 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
24250 check for partition that provides /boot/grub. Its logic is flawed,
24251 as it prevents prepare_grub_to_access_device() from being called
24252 multiple times.
24253
24254 2008-06-19 Robert Millan <rmh@aybabtu.com>
24255
24256 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
24257 "insmod" command directly when abstraction modules are needed,
24258 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
24259 since it had already been processed).
24260
24261 2008-06-19 Pavel Roskin <proski@gnu.org>
24262
24263 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
24264 changed. This is needed in case GRUB_LIBDIR changes.
24265 * conf/i386-ieee1275.rmk: Likewise.
24266 * conf/i386-linuxbios.rmk: Likewise.
24267 * conf/i386-pc.rmk: Likewise.
24268 * conf/powerpc-ieee1275.rmk: Likewise.
24269
24270 2008-06-18 Pavel Roskin <proski@gnu.org>
24271
24272 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
24273 kernel_elf_symlist.c to symlist.c for consistency with other
24274 architectures. Update all users.
24275 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24276
24277 2008-06-18 Robert Millan <rmh@aybabtu.com>
24278
24279 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
24280 it in prefix.
24281
24282 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
24283 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
24284 a RAID device, run setup() for all members independently on whether
24285 LVM abstraction is being used.
24286 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
24287 If grub-mkimage has set `*install_dos_part == -2', don't override this
24288 value.
24289 Perform *install_dos_part adjustments independently on whether
24290 we're embedding or not.
24291 Clarify error message when image is too big for embedding.
24292 Remove duplicate *install_dos_part stanza.
24293
24294 2008-06-17 Robert Millan <rmh@aybabtu.com>
24295
24296 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
24297 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
24298 variables.
24299 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
24300 values in grub_ofconsole_normal_color and
24301 grub_ofconsole_highlight_color (they're not directly related to
24302 background and foreground).
24303 (grub_ofconsole_setcolorstate): Extract background and foreground
24304 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
24305
24306 2008-06-17 Robert Millan <rmh@aybabtu.com>
24307
24308 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
24309 /boot/grub for the check in last commit, not /boot (they could be
24310 different partitions).
24311
24312 2008-06-16 Robert Millan <rmh@aybabtu.com>
24313
24314 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
24315 asked to setup access for the same partition that provides /boot,
24316 don't bother using UUIDs since our root already has the value we
24317 want.
24318
24319 2008-06-16 Robert Millan <rmh@aybabtu.com>
24320
24321 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
24322 I2O devices.
24323 Patch from Sven Mueller <sven@debian.org>.
24324
24325 2008-06-16 Robert Millan <rmh@aybabtu.com>
24326
24327 * util/update-grub.in: Check for $EUID instead of $UID.
24328 Reported by Vincent Zweije.
24329
24330 2008-06-16 Bean <bean123ch@gmail.com>
24331
24332 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
24333 (grub_ext2_read_block): Likewise.
24334 (grub_ext2_read_inode): Likewise.
24335 (grub_ext2_mount): Likewise.
24336 (grub_ext2_close): Likewise.
24337 (grub_ext3_get_journal): Removed.
24338
24339 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
24340 (grub_reiserfs_read_symlink): Likewise.
24341 (grub_reiserfs_mount): Likewise.
24342 (grub_reiserfs_open): Likewise.
24343 (grub_reiserfs_read): Likewise.
24344 (grub_reiserfs_close): Likewise.
24345 (grub_reiserfs_get_journal): Removed.
24346
24347 * fs/fshelp.c (grub_fshelp_read): Removed.
24348 (grub_fshelp_map_block): Likewise.
24349
24350 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
24351 (grub_fshelp_journal): Likewise.
24352 (grub_fshelp_read): Likewise.
24353 (grub_fshelp_map_block): Likewise.
24354
24355 2008-06-16 Pavel Roskin <proski@gnu.org>
24356
24357 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
24358 floating point anymore.
24359 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
24360
24361 2008-06-15 Pavel Roskin <proski@gnu.org>
24362
24363 * commands/ls.c (grub_ls_list_files): Use integer calculations
24364 for human readable format, avoid floating point use.
24365 * kern/misc.c (grub_ftoa): Remove.
24366 (grub_vsprintf): Remove floating point support.
24367
24368 2008-06-15 Robert Millan <rmh@aybabtu.com>
24369
24370 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
24371 devices.
24372 Reported by Max Vozeler.
24373
24374 2008-06-15 Robert Millan <rmh@aybabtu.com>
24375
24376 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
24377 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
24378 skipped later.
24379 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
24380 the beginning of the prefix.
24381
24382 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
24383 It is assumed that if we have a memdisk, grub-mkimage has set
24384 grub_prefix to include the "(memdisk)" drive in it.
24385
24386 2008-06-15 Robert Millan <rmh@aybabtu.com>
24387
24388 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
24389 Initialize keyboard controller after registering the terminal, so that
24390 grub_printf() can be called from grub_keyboard_controller_init().
24391
24392 2008-06-15 Robert Millan <rmh@aybabtu.com>
24393
24394 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
24395 extent-btree which is written as big endian on disk.
24396 Reported by Alain Greppin <al@chilibi.org>.
24397
24398 2008-06-14 Robert Millan <rmh@aybabtu.com>
24399
24400 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
24401 * util/i386/pc/grub-install.in (modules): Likewise.
24402
24403 2008-06-13 Pavel Roskin <proski@gnu.org>
24404
24405 * commands/ls.c (grub_ls_list_files): Fix format warnings.
24406
24407 2008-06-13 Bean <bean123ch@gmail.com>
24408
24409 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
24410
24411 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
24412
24413 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
24414 to indicate sparse block.
24415
24416 2008-06-12 Pavel Roskin <proski@gnu.org>
24417
24418 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
24419 number, grub_fshelp_read() does it for us.
24420
24421 * fs/fshelp.c (grub_fshelp_read): New function. Implement
24422 linear disk read with journal translation.
24423 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
24424 * include/grub/fshelp.h: Declare grub_fshelp_read().
24425
24426 2008-06-09 Pavel Roskin <proski@gnu.org>
24427
24428 * fs/minix.c (grub_minix_mount): Handle error reading
24429 superblock.
24430
24431 2008-06-08 Robert Millan <rmh@aybabtu.com>
24432
24433 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
24434 don't append the RAID prefix afterwards.
24435 Reported by Clint Adams.
24436
24437 2008-06-08 Robert Millan <rmh@aybabtu.com>
24438
24439 Based on description from Pavel:
24440 * kern/disk.c (grub_disk_check_range): Rename to ...
24441 (grub_disk_adjust_range): ... this. Add a comment explaining the
24442 tasks performed by this function.
24443
24444 2008-06-08 Robert Millan <rmh@aybabtu.com>
24445
24446 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
24447 `num_serial' (for consistency with other variables).
24448 (struct grub_ntfs_data): Add `uuid' member.
24449 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
24450 (grub_ntfs_uuid): New function.
24451 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
24452
24453 2008-06-07 Pavel Roskin <proski@gnu.org>
24454
24455 * util/biosdisk.c (open_device): Revert last change to the
24456 function, it broke installation. The sector needs to be
24457 different dependent on which device is opened.
24458
24459 2008-06-06 Robert Millan <rmh@aybabtu.com>
24460
24461 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
24462 rest of GRUB, and breakage doesn't happen if its value were modified.
24463
24464 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24465 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
24466 a constant (same value).
24467 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
24468 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
24469
24470 2008-06-06 Robert Millan <rmh@aybabtu.com>
24471
24472 * util/biosdisk.c (open_device): Do not modify sector offset when
24473 accessing a partition. kern/disk.c already handles this for us.
24474
24475 2008-06-06 Robert Millan <rmh@aybabtu.com>
24476
24477 * util/grub-emu.c (grub_machine_init): Move code in this function from
24478 here ...
24479 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
24480 segfault in case grub_printf() is called).
24481
24482 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
24483 grub_probe. Update all users not to explicitly add it again.
24484 (grub_device): New variable; contains corresponding device for grubdir.
24485 (fs_module, partmap_module, devabstraction_module): Pass
24486 `--device ${grub_device}' to grub_probe to avoid traversing /dev
24487 every time.
24488
24489 2008-06-05 Robert Millan <rmh@aybabtu.com>
24490
24491 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
24492 is found, print it (same layout as with labels).
24493
24494 2008-06-04 Robert Millan <rmh@aybabtu.com>
24495
24496 * util/biosdisk.c (get_drive): Rename to ...
24497 (find_grub_drive): ... this. Update all users.
24498
24499 (get_os_disk): Rename to ...
24500 (convert_system_partition_to_system_disk): ... this. Update all users.
24501
24502 (find_drive): Rename to ...
24503 (find_system_device): ... this. Update all users.
24504
24505 2008-06-04 Robert Millan <rmh@aybabtu.com>
24506
24507 * util/biosdisk.c (get_os_disk): Handle IDA devices.
24508 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24509 (make_device_map): Likewise.
24510
24511 2008-06-01 Robert Millan <rmh@aybabtu.com>
24512
24513 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
24514 before dereferencing it.
24515
24516 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
24517 union with fat12/fat16-specific ones. Add some new fields, including
24518 `num_serial' for both versions.
24519 (struct grub_fat_data): Add `uuid' member.
24520 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
24521 names. Initialize `data->uuid' using `num_serial'.
24522 (grub_fat_uuid): New function.
24523 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
24524
24525 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
24526 (grub_reiserfs_uuid): New function.
24527 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
24528 member.
24529
24530 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
24531 (grub_xfs_uuid): New function.
24532 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
24533
24534 2008-06-01 Robert Millan <rmh@aybabtu.com>
24535
24536 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
24537 code that is backward compatible with pre-uuid search command.
24538
24539 2008-05-31 Robert Millan <rmh@aybabtu.com>
24540
24541 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
24542 floppies after everything else, to ensure floppy drive isn't accessed
24543 unnecessarily (patch from Bean).
24544
24545 2008-05-31 Robert Millan <rmh@aybabtu.com>
24546
24547 * commands/search.c (search_label, search_fs_uuid, search_file): Do
24548 not print device names when we were asked to set a variable.
24549
24550 2008-05-31 Robert Millan <rmh@aybabtu.com>
24551
24552 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
24553 using "cursor-on" and "cursor-off" commands (understood at least by
24554 the Open Firmware flavour on OLPC).
24555
24556 2008-05-31 Michael Gorven <michael@gorven.za.net>
24557
24558 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
24559 on and off sequences.
24560
24561 2008-05-31 Robert Millan <rmh@aybabtu.com>
24562
24563 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
24564 * util/update-grub.in: Likewise.
24565
24566 2008-05-30 Pavel Roskin <proski@gnu.org>
24567
24568 * util/biosdisk.c (linux_find_partition): Simplify logic and
24569 make the code more universal. Keep special processing for
24570 devfs, but use a simple rule for all other devices. If the
24571 device ends with a number, append 'p' and the partition number.
24572 Otherwise, append only the partition number.
24573
24574 2008-05-30 Robert Millan <rmh@aybabtu.com>
24575
24576 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
24577 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
24578 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
24579 the `root' parameter to Linux.
24580
24581 2008-05-30 Robert Millan <rmh@aybabtu.com>
24582
24583 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
24584 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
24585 --fs_uuid with --fs-uuid.
24586 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
24587 all filesystems support them).
24588
24589 2008-05-30 Robert Millan <rmh@aybabtu.com>
24590
24591 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
24592 grub_printf() flags, since we're printing in units of 2 bytes.
24593
24594 2008-05-30 Robert Millan <rmh@aybabtu.com>
24595
24596 * util/grub.d/00_header.in: Remove obsolete comment referencing
24597 convert_system_path_to_grub_path().
24598 * util/update-grub.in: Likewise.
24599 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
24600 (convert_system_path_to_grub_path): Add a warning message explaining
24601 that this function is deprecated. Rely on is_path_readable_by_grub()
24602 for the readability checks.
24603 (font_path): Use is_path_readable_by_grub() for the readability
24604 check rather than convert_system_path_to_grub_path().
24605
24606 2008-05-30 Robert Millan <rmh@aybabtu.com>
24607
24608 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
24609 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
24610 converting it first.
24611 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
24612 grub.cfg for access to font file, and afterwards call it again to set
24613 the root device.
24614
24615 2008-05-30 Robert Millan <rmh@aybabtu.com>
24616
24617 * commands/search.c (options): Add --fs_uuid option.
24618 (search_fs_uuid): New function.
24619 (grub_cmd_search): Fix --set argument passing.
24620 Use search_fs_uuid() when requested via --fs_uuid.
24621 (grub_search_init): Update help message.
24622 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
24623 and redeclare it as an array of 16-bit words.
24624 (grub_ext2_uuid): New function.
24625 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
24626 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
24627 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
24628 (GRUB_DEVICE_BOOT_UUID): New variables.
24629 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
24630 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
24631 whenever possible.
24632 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
24633 just assume `root' variable has the right value.
24634 * util/grub.d/10_linux.in: Likewise.
24635 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
24636 via PRINT_FS_UUID.
24637 (main): Recognise `-t fs_uuid' argument.
24638
24639 2008-05-30 Robert Millan <rmh@aybabtu.com>
24640
24641 * util/biosdisk.c (map): Redefine structure to hold information
24642 about GRUB drive name.
24643 (get_drive): Reimplement without assuming (and verifying) BIOS-like
24644 drive names.
24645 (call_hook): Remove.
24646 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
24647 member. Assume drive has partitions.
24648 (grub_util_biosdisk_open): Access device names via `.device' struct
24649 member.
24650 (open_device): Likewise.
24651 (find_drive): Likewise.
24652 (read_device_map): Adjust map[] usage to match the new struct
24653 definition. Don't check for duplicates (still possible, but not cheap
24654 anymore).
24655 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
24656 (make_device_name): Remove assumption of BIOS-like drive names.
24657
24658 2008-05-30 Pavel Roskin <proski@gnu.org>
24659
24660 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
24661 compiling execute.c doesn't need grub_script.tab.h anymore.
24662 (normal/command.c_DEPENDENCIES): Likewise.
24663 (normal/function.c_DEPENDENCIES): Likewise.
24664 * conf/i386-ieee1275.rmk: Likewise.
24665 * conf/i386-linuxbios.rmk: Likewise.
24666 * conf/i386-pc.rmk: Likewise.
24667 * conf/powerpc-ieee1275.rmk: Likewise.
24668 * conf/sparc64-ieee1275.rmk: Likewise.
24669
24670 2008-05-29 Pavel Roskin <proski@gnu.org>
24671
24672 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
24673 when scanning metadata for volume group name.
24674
24675 * include/grub/script.h: Don't include grub_script.tab.h. It's
24676 a generated file, which may only be included from the files with
24677 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
24678 use union YYSTYPE, as the later allows forward declaration.
24679 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
24680
24681 2008-05-29 Robert Millan <rmh@aybabtu.com>
24682
24683 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
24684 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
24685 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
24686 (grub_console_checkkey): Add grub_dprintf() call to report unknown
24687 scan codes.
24688
24689 2008-05-29 Robert Millan <rmh@aybabtu.com>
24690
24691 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
24692 control key combinations.
24693
24694 2008-05-29 Robert Millan <rmh@aybabtu.com>
24695
24696 * util/powerpc/ieee1275/grub-install.in: Move from here ...
24697 * util/ieee1275/grub-install.in: ... to here.
24698 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
24699 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
24700 (grub_install_SOURCES): Likewise.
24701
24702 2008-05-29 Robert Millan <rmh@aybabtu.com>
24703
24704 * fs/affs.c: Update copyright year.
24705 * fs/ext2.c: Likewise.
24706 * fs/fshelp.c: Likewise.
24707 * fs/hfsplus.c: Likewise.
24708 * fs/ntfs.c: Likewise.
24709 * fs/xfs.c: Likewise.
24710 * include/grub/fshelp.h: Likewise.
24711 * util/grub-mkdevicemap.c: Likewise.
24712
24713 2008-05-28 Robert Millan <rmh@aybabtu.com>
24714
24715 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
24716 might need to be fatfs to support some firmware implementations
24717 (e.g. OFW or EFI).
24718
24719 2008-05-28 Robert Millan <rmh@aybabtu.com>
24720
24721 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
24722 devices.
24723 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24724 (make_device_map): Likewise.
24725
24726 2008-05-20 Bean <bean123ch@gmail.com>
24727
24728 * fs/fshelp.c (grub_fshelp_map_block): New function.
24729 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
24730 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
24731
24732 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
24733 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
24734 (grub_fshelp_journal): New structure.
24735 (grub_fshelp_map_block): New function prototype.
24736 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
24737 (grub_fshelp_map_block): Likewise.
24738
24739 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
24740 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
24741 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
24742 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
24743 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
24744 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
24745 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
24746 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
24747 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
24748 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
24749 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
24750 (grub_ext2_sblock): New members for journal support.
24751 (grub_ext3_journal_header): New structure.
24752 (grub_ext3_journal_revoke_header): Likewise.
24753 (grub_ext3_journal_block_tag): Likewise.
24754 (grub_ext3_journal_sblock): Likewise.
24755 (grub_fshelp_node): New members logfile and journal.
24756 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
24757 grub_fshelp_map_block to get real block number.
24758 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
24759 number.
24760 (grub_ext2_read_inode): Likewise.
24761 (grub_ext3_get_journal): New function.
24762 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
24763 (grub_ext2_close): Release memory used by journal.
24764
24765 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
24766 (REISERFS_MAGIC_DESC_BLOCK): New macro.
24767 (grub_reiserfs_transaction_header): Renamed to
24768 grub_reiserfs_description_block, replace field data with real_blocks.
24769 (grub_reiserfs_commit_block): New structure.
24770 (grub_reiserfs_data): New member journal.
24771 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
24772 number.
24773 (grub_reiserfs_read_symlink): Likewise.
24774 (grub_reiserfs_iterate_dir): Likewise.
24775 (grub_reiserfs_open): Likewise.
24776 (grub_reiserfs_read): Likewise.
24777 (grub_reiserfs_get_journal): New function.
24778 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
24779 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
24780 using grub_reiserfs_get_journal.
24781 (grub_reiserfs_close): Release memory used by journal.
24782
24783 * fs/affs.c (grub_affs_read_block): Change block type to
24784 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
24785
24786 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
24787
24788 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
24789
24790 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
24791
24792 * fs/udf.c (grub_udf_read_block): Change block type to
24793 grub_disk_addr_t. Use type cast to avoid warning.
24794
24795 * fs/xfs.c (grub_xfs_read_block): Likewise.
24796
24797 2008-05-16 Christian Franke <franke@computer.org>
24798
24799 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
24800 to ensure that break with ESC will always work.
24801 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
24802 Remove ESC from keyboard queue.
24803
24804 2008-05-16 Christian Franke <franke@computer.org>
24805
24806 * util/biosdisk.c: [__CYGWIN__] Add includes.
24807 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
24808 (get_os_disk): Move variable declarations to OS specific
24809 parts to avoid warning.
24810 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
24811 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
24812 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
24813 Cygwin.
24814 * util/getroot.c: [__CYGWIN__] Add includes.
24815 (strip_extra_slashes): Fix "/" case.
24816 [__CYGWIN__] (get_win32_path): New function.
24817 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
24818 [__CYGWIN__] (find_root_device): Disable.
24819 [__CYGWIN__] (get_bootsec_serial): New function.
24820 [__CYGWIN__] (find_cygwin_root_device): Likewise.
24821 [__linux__] (grub_guess_root_device): Add early returns to simplify
24822 structure.
24823 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
24824 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
24825 check for Linux only.
24826
24827 2008-05-15 Bean <bean123ch@gmail.com>
24828
24829 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
24830 keyboard hang problem in apple's intel mac.
24831
24832 2008-05-09 Robert Millan <rmh@aybabtu.com>
24833
24834 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
24835 devices.
24836 * util/grub-mkdevicemap.c (get_virtio_disk_name)
24837 (make_device_map): Likewise.
24838 Reported by Aurelien Jarno <aurel32@debian.org>
24839
24840 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
24841
24842 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
24843 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
24844 (make_device_map): Output entries for xvd type disks.
24845
24846 2008-05-07 Robert Millan <rmh@aybabtu.com>
24847
24848 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
24849 devices.
24850 * util/grub-mkdevicemap.c (get_cciss_disk_name)
24851 (make_device_map): Likewise.
24852 Reported by Roland Dreier <rdreier@cisco.com>
24853
24854 2008-05-07 Robert Millan <rmh@aybabtu.com>
24855
24856 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
24857 grub_strstr() call. Correct a few mistakes in failure path handling.
24858
24859 2008-05-06 Robert Millan <rmh@aybabtu.com>
24860
24861 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24862 Do not print a trailing slash (therefore, the root directory is an
24863 empty string).
24864 (convert_system_path_to_grub_path): Do not remove trailing slash
24865 from make_system_path_relative_to_its_root() output.
24866
24867 * util/i386/pc/grub-install.in: Add trailing slash to output from
24868 make_system_path_relative_to_its_root().
24869
24870 2008-05-06 Robert Millan <rmh@aybabtu.com>
24871
24872 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
24873 ensures that output lines aren't intermangled with those sent to
24874 stderr (via grub_util_info()).
24875 * util/grub-probe.c (grub_refresh): Likewise.
24876 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
24877
24878 2008-05-05 Christian Franke <franke@computer.org>
24879
24880 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
24881 Add Cygwin device names.
24882 (get_ide_disk_name) [__CYGWIN__]: Likewise.
24883 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
24884 (check_device): Return error instead of success on empty name.
24885 (make_device_map): Move label inside linux specific code to
24886 prevent compiler warning.
24887
24888 2008-04-30 Robert Millan <rmh@aybabtu.com>
24889
24890 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
24891 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
24892 first boot option.
24893 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
24894
24895 2008-04-29 Robert Millan <rmh@aybabtu.com>
24896
24897 * docs/grub.cfg: New file (example GRUB configuration).
24898
24899 2008-04-26 Robert Millan <rmh@aybabtu.com>
24900
24901 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
24902 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
24903 and `disk/ieee1275/nand.c'.
24904
24905 2008-04-25 Bean <bean123ch@gmail.com>
24906
24907 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
24908 i386-linuxbios.
24909
24910 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
24911 change the buffer size to 4096 for cdrom device.
24912
24913 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
24914 and nand.mod.
24915 (_linux_mod_SOURCES): New variable.
24916 (_linux_mod_CFLAGS): Likewise.
24917 (_linux_mod_LDFLAGS): Likewise.
24918 (linux_mod_SOURCES): Likewise.
24919 (linux_mod_CFLAGS): Likewise.
24920 (linux_mod_LDFLAGS): Likewise.
24921 (nand_mod_SOURCES): Likewise.
24922 (nand_mod_CFLAGS): Likewise.
24923 (nand_mod_LDFLAGS): Likewise.
24924
24925 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
24926 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
24927 type property. (nand device in olpc don't have this property)
24928
24929 * include/grub/disk.h (grub_disk_dev_id): New macro
24930 GRUB_DISK_DEVICE_NAND_ID.
24931
24932 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
24933 function prototype.
24934 (grub_rescue_cmd_initrd): Likewise.
24935
24936 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
24937 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
24938 ofw_cif_handler and ofw_idt, adjust padding number.
24939
24940 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
24941 GRUB_MACHINE_IEEE1275 is defined.
24942
24943 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
24944 Use NESTED_FUNC_ATTR attribute on the hook parameter.
24945
24946 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
24947 on nested function heap_init.
24948 (grub_upper_mem): New variable for i386-ieee1275.
24949 (grub_get_extended_memory): New function for i386-ieee1275.
24950 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
24951
24952 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
24953 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
24954 property.
24955
24956 * loader/i386/ieee1275/linux.c: New file.
24957
24958 * loader/i386/ieee1275/linux_normal.c: New file.
24959
24960 * disk/ieee1275/nand.c: New file.
24961
24962 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
24963
24964 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
24965 value.
24966 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
24967
24968 2008-04-18 Robert Millan <rmh@aybabtu.com>
24969
24970 Restructures early code path on ieee1275 to unify grub_main() as
24971 the first C function that is executed in every platform.
24972
24973 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
24974 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
24975 cmain().
24976 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
24977 * kern/ieee1275/cmain.c (cmain): Rename to ...
24978 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
24979 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
24980 at the beginning.
24981
24982 2008-04-18 Robert Millan <rmh@aybabtu.com>
24983
24984 * util/update-grub.in: Fix syntax error when setting
24985 `GRUB_PRELOAD_MODULES'.
24986 Reported by Stephane Chazelas <stephane@artesyncp.com>
24987
24988 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
24989
24990 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
24991 section into account, newer toolchains generate unique build ids
24992 * configure.ac: remove the test for --build-id=none acceptance,
24993 we want build ids to be preserved
24994 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
24995 far from other sections don't cause the raw binary images grow
24996 size
24997
24998 2008-04-15 Robert Millan <rmh@aybabtu.com>
24999
25000 * disk/lvm.c: Update copyright year.
25001 * kern/misc.c: Likewise.
25002
25003 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
25004
25005 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
25006 there is no memory left for physical volume name.
25007
25008 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
25009
25010 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
25011 volume name mapping to support bigger than 9 character names properly.
25012
25013 2008-04-13 Robert Millan <rmh@aybabtu.com>
25014
25015 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
25016 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
25017
25018 2008-04-13 Christian Franke <franke@computer.org>
25019
25020 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
25021 to create a floppy emulation boot CD when non emulation mode
25022 does not work.
25023 Enable Joliet CD filesystem extension.
25024
25025 2008-04-13 Robert Millan <rmh@aybabtu.com>
25026
25027 * kern/misc.c (grub_strncat): Fix off-by-one error.
25028 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
25029
25030 * kern/env.c (grub_env_context_close): Clear current context, not
25031 previous one.
25032 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
25033
25034 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
25035
25036 2008-04-13 Robert Millan <rmh@aybabtu.com>
25037
25038 Improve robustness when handling LVM.
25039
25040 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
25041 (and leave `*p' unmodified).
25042 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
25043 through it.
25044 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
25045 iterating through it.
25046 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
25047 through it.
25048 (grub_lvm_scan_device): Check the return value (and fail gracefully
25049 when due) on each grub_lvm_getvalue() or grub_strstr() call.
25050 Don't assume `vg->pvs != NULL' when iterating through it.
25051
25052 2008-04-13 Robert Millan <rmh@aybabtu.com>
25053
25054 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
25055 * genmk.rb (partmap): New variable.
25056 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
25057 (#{partmap}): New target rule.
25058 * genpartmaplist.sh: New file.
25059 * Makefile.in (pkglib_DATA): Add partmap.lst.
25060 (partmap.lst): New target rule.
25061 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
25062 modules (including all partition maps), instead of preloading them.
25063
25064 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
25065
25066 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
25067 `linux-boot-prober' (if installed) to detect other operating
25068 systems which are installed on the computer and add them to
25069 the boot menu.
25070 * conf/common.rmk: Build and install 30_os-prober.
25071
25072 2008-04-12 Robert Millan <rmh@aybabtu.com>
25073
25074 * kern/powerpc/ieee1275/init.c: Move from here ...
25075 * kern/ieee1275/init.c: ... to here. Update all users.
25076
25077 * kern/powerpc/ieee1275/cmain.c: Move from here ...
25078 * kern/ieee1275/cmain.c: ... to here. Update all users.
25079
25080 * kern/powerpc/ieee1275/openfw.c: Move from here ...
25081 * kern/ieee1275/openfw.c: ... to here. Update all users.
25082
25083 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
25084 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
25085
25086 2008-04-10 Pavel Roskin <proski@gnu.org>
25087
25088 * configure.ac: Always use "_cv_" in cache variables for
25089 compatibility with Autoconf 2.62.
25090
25091 2008-04-07 Robert Millan <rmh@aybabtu.com>
25092
25093 Revert grub/machine/init.h addition by Pavel (since it breaks on
25094 i386-ieee1275 and others):
25095 * util/i386/pc/misc.c: Remove grub/machine/init.h.
25096 * util/powerpc/ieee1275/misc.c: Likewise.
25097
25098 2008-04-07 Robert Millan <rmh@aybabtu.com>
25099
25100 * util/grub-probe.c (probe): Improve error message.
25101
25102 2008-04-07 Robert Millan <rmh@aybabtu.com>
25103
25104 * util/biosdisk.c (read_device_map): Skip devices that don't exist
25105 (this prevents the presence of a bogus entry from ruining the whole
25106 thing).
25107
25108 2008-04-06 Pavel Roskin <proski@gnu.org>
25109
25110 * util/biosdisk.c: Include grub/util/biosdisk.h.
25111 * util/grub-fstest.c (execute_command): Make static.
25112 * util/grub-mkdevicemap.c (check_device): Likewise.
25113 * util/i386/pc/misc.c: Include grub/machine/init.h.
25114 * util/powerpc/ieee1275/misc.c: Likewise.
25115 * util/lvm.c: Include grub/util/lvm.h.
25116 * util/misc.c: Include grub/kernel.h, grub/misc.h and
25117 grub/cache.h.
25118 * util/raid.c: Include grub/util/raid.h.
25119 (grub_util_getdiskname): Make static.
25120
25121 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
25122 grub_hostfs_fini(), as they are called from grub_init_all() and
25123 grub_fini_all() respectively. This fixes an infinite loop in
25124 grub-fstest due to double registration of hostfs.
25125 Reported by Christian Franke <Christian.Franke@t-online.de>
25126
25127 2008-04-05 Pavel Roskin <proski@gnu.org>
25128
25129 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
25130 all 8 functions. Otherwise, probe function 0 only.
25131
25132 2008-04-04 Pavel Roskin <proski@gnu.org>
25133
25134 * commands/lspci.c (grub_lspci_iter): Print the bus number
25135 correctly.
25136
25137 * commands/lspci.c (grub_pci_classes): Fix typos.
25138 (grub_lspci_iter): Don't print func twice. Print vendor ID
25139 before device ID, as it's normally done.
25140
25141 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
25142 Fix signedness warnings.
25143 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
25144 Likewise.
25145 * util/ieee1275/get_disk_name.c: Include config.h so that
25146 _GNU_SOURCE is defined and getline() is declared. Mark an
25147 unused argument as such. Fix a signedness warning.
25148
25149 2008-04-02 Pavel Roskin <proski@gnu.org>
25150
25151 * genkernsyms.sh.in: Use more robust assignments for CC and
25152 srcdir. Quote srcdir.
25153 * gensymlist.sh.in: Likewise. Assert at the compile time that
25154 the symbol table is not empty.
25155
25156 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
25157 * fs/cpio.c (grub_cpio_read): Likewise.
25158
25159 2008-04-01 Pavel Roskin <proski@gnu.org>
25160
25161 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
25162 * disk/host.c (grub_host_open): Likewise.
25163 * disk/loopback.c (grub_loopback_open): Likewise.
25164 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
25165 disk->id as in disk/host.c, not a multi-character constant.
25166
25167 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
25168 later is obsolete, potentially dangerous and sets a bad example.
25169 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
25170 * util/misc.c (grub_util_get_image_size): Likewise.
25171
25172 * disk/loopback.c (options): Improve help for "--partitions".
25173
25174 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
25175 options to align them with the short options, e.g. "echo -e".
25176
25177 2008-03-31 Bean <bean123ch@gmail.com>
25178
25179 * video/reader/png.c (grub_png_data): New member is_16bit and
25180 image_data.
25181 (grub_png_decode_image_header): Detect 16 bit png image.
25182 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
25183 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
25184 (grub_video_reader_png): Release memory occupied by image_data.
25185
25186 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
25187 4096 bytes.
25188 (grub_nfs_mount): Skip the test for sector per cluster.
25189
25190 * include/grub/ntfs.h (MAX_SPC): Removed.
25191
25192 2008-03-31 Bean <bean123ch@gmail.com>
25193
25194 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
25195 (grub_probe_SOURCES): Add fs/afs.c.
25196 (grub_fstest_SOURCES): Likewise.
25197 (afs_mod_SOURCES): New variable.
25198 (afs_mod_CFLAGS): Likewise.
25199 (afs_mod_LDFLAGS): Likewise.
25200
25201 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
25202 (grub_emu_SOURCES): Likewise.
25203
25204 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25205
25206 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25207
25208 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25209
25210 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25211
25212 * fs/afs.c: New file.
25213
25214 2008-03-30 Pavel Roskin <proski@gnu.org>
25215
25216 * disk/host.c: Include grub/misc.h to fix a warning.
25217 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
25218 warnings about implicit declarations.
25219
25220 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
25221 variable.
25222 * include/grub/i386/loader.h: Change declaration of
25223 grub_linux_boot() to match what grub_loader_set() expects.
25224 * util/getroot.c (grub_guess_root_device): Return const char* to
25225 fix a warning.
25226 * util/grub-probe.c (probe): Fix a warning about uninitialized
25227 abstraction_name variable.
25228 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
25229 second argument as unused to fix a warning.
25230
25231 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
25232 missing grub_error() call.
25233
25234 * util/update-grub_lib.in: Define datarootdir, since Autoconf
25235 2.60 and newer uses it to define datadir.
25236
25237 * commands/sleep.c: Fix warning about implicit declaration.
25238 * disk/memdisk.c: Likewise.
25239 * loader/aout.c: Likewise.
25240 * loader/i386/bsd_normal.c: Likewise.
25241 * util/grub-probe.c: Likewise.
25242
25243 * commands/i386/cpuid.c (has_longmode): Make static.
25244 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
25245 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
25246
25247 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
25248 GDT. This is more robust, as %ds can change.
25249 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
25250 calling real_to_prot().
25251 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
25252
25253 2008-03-28 Pavel Roskin <proski@gnu.org>
25254
25255 * kern/i386/pc/startup.S: Assert that uncompressed functions
25256 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
25257 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
25258 code, as they push parts of the code (error handlers) beyond
25259 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
25260 code as correctness and size.
25261
25262 2008-03-28 Pavel Roskin <proski@gnu.org>
25263
25264 * kern/i386/pc/startup.S
25265 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
25266 data block address to the real mode, keep offset minimal. This
25267 works around a bug in AWARD BIOS on old Athlon systems, which
25268 makes CD detection hang.
25269
25270 2008-03-26 Pavel Roskin <proski@gnu.org>
25271
25272 * normal/color.c (grub_parse_color_name_pair): Make `name' a
25273 const.
25274 * include/grub/normal.h: Add grub_parse_color_name_pair()
25275 declaration.
25276
25277 2008-03-24 Bean <bean123ch@gmail.com>
25278
25279 * disk/i386/pc/biosdisk.c (cd_start): Removed.
25280 (cd_count): Removed.
25281 (cd_drive): New variable.
25282 (grub_biosdisk_get_drive): Don't check for (cdN) device.
25283 (grub_biosdisk_call_hook): Likewise.
25284 (grub_biosdisk_iterate): Change cdrom detection method.
25285 (grub_biosdisk_open): Replace cd_start with cd_drive.
25286 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
25287 detect cdrom device.
25288
25289 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
25290 Removed.
25291 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
25292 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
25293 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
25294 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
25295 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
25296 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
25297 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
25298 (grub_biosdisk_cdrp): New structure.
25299 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
25300
25301 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
25302
25303 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
25304 device.
25305
25306 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
25307 New function.
25308
25309 2008-03-20 Robert Millan <rmh@aybabtu.com>
25310
25311 Remove 2 TiB limit in ata.mod.
25312 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
25313 (grub_ata_dumpinfo): Print sector count with 0x%llx.
25314 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
25315 grub_uint64_t instead of grub_uint32_t.
25316
25317 2008-03-05 Bean <bean123ch@gmail.com>
25318
25319 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
25320 (grub_multiboot): Set boot device.
25321
25322 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
25323
25324 2008-03-02 Bean <bean123ch@gmail.com>
25325
25326 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
25327 symlink_buffer.
25328
25329 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
25330
25331 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
25332 texinfo.tex.
25333
25334 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
25335 modified.
25336
25337 * docs/fdl.texi: New file.
25338
25339 * docs/mdate-sh: New file. Copied from gnulib.
25340 * docs/texinfo.tex: Likewise.
25341
25342 * config.guess: Updated from gnulib.
25343 * install-sh: Likewise.
25344
25345 2008-02-28 Robert Millan <rmh@aybabtu.com>
25346
25347 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
25348 (aout_mod_SOURCES): New variable.
25349 (aout_mod_CFLAGS): Likewise.
25350 (aout_mod_LDFLAGS): Likewise.
25351
25352 * conf/i386-ieee1275.rmk: Likewise.
25353
25354 2008-02-28 Robert Millan <rmh@aybabtu.com>
25355
25356 * util/update-grub.in: Reorganise terminal validity check. Accept
25357 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
25358 Based on suggestion by Franklin PIAT.
25359
25360 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
25361
25362 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
25363 function.
25364 * util/getroot.c (grub_util_check_block_device): New function that
25365 returns the given argument if it is a block device and returns NULL else.
25366 * util/grub-probe.c (argument_is_device): New variable.
25367 (probe): Promote device_name from a variable to an argument. Receive
25368 device_name from grub_util_check_block_device() if path is NULL and from
25369 grub_guess_root_device() else. Do not free() device_name anymore.
25370 (options): Introduce new parameter '-d, --device'.
25371 (main): Add description of the new parameter to the help screen.
25372 Rename path variable to argument. Set argument_is_device if the '-d'
25373 option is given. Pass argument to probe() depending on
25374 argument_is_device.
25375
25376 2008-02-24 Bean <bean123ch@gmail.com>
25377
25378 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
25379 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
25380 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
25381 (GRUB_ISO9660_VOLDESC_PART): Likewise.
25382 (GRUB_ISO9660_VOLDESC_END): Likewise.
25383 (grub_iso9660_primary_voldesc): New member escape.
25384 (grub_iso9660_data): New member joliet.
25385 (grub_iso9660_convert_string): New function.
25386 (grub_iso9660_mount): Detect joliet extension.
25387 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
25388 (grub_iso9660_iso9660_label): Likewise.
25389
25390 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
25391 (grub_setup_SOURCES): Add fs/udf.c.
25392 (grub_fstest_SOURCES): Likewise.
25393 (udf_mod_SOURCES): New variable.
25394 (udf_mod_CFLAGS): Likewise.
25395 (udf_mod_LDFLAGS): Likewise.
25396
25397 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
25398 (grub_emu_SOURCES): Likewise.
25399
25400 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25401
25402 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25403
25404 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25405
25406 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25407
25408 * fs/udf.c: New file.
25409
25410 2008-02-24 Robert Millan <rmh@aybabtu.com>
25411
25412 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
25413 (normal/lexer.c_DEPENDENCIES): New variables.
25414 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25415 (normal/lexer.c_DEPENDENCIES): Likewise.
25416 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
25417 (normal/lexer.c_DEPENDENCIES): Likewise.
25418 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
25419 (normal/lexer.c_DEPENDENCIES): Likewise.
25420 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25421 (normal/lexer.c_DEPENDENCIES): Likewise.
25422 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25423 (normal/lexer.c_DEPENDENCIES): Likewise.
25424
25425 2008-02-23 Robert Millan <rmh@aybabtu.com>
25426
25427 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
25428 since they were intended to be in hex. This didn't break previously
25429 because of a bug in gpt_partition_map_iterate() (see below).
25430
25431 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
25432 when checking the validity of GPT header.
25433 Remove `partno', since it always provides the same information as `i'.
25434
25435 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
25436
25437 * include/grub/efi/time.h: Fix a wrong comment.
25438
25439 2008-02-19 Pavel Roskin <proski@gnu.org>
25440
25441 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
25442 message.
25443
25444 2008-02-19 Bean <bean123ch@gmail.com>
25445
25446 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
25447 (aout_mod_SOURCES): New variable.
25448 (aout_mod_CFLAGS): Likewise.
25449 (aout_mod_LDFLAGS): Likewise.
25450 (_bsd_mod_SOURCES): New variable.
25451 (_bsd_mod_CFLAGS): Likewise.
25452 (_bsd_mod_LDFLAGS): Likewise.
25453 (bsd_mod_SOURCES): New variable.
25454 (bsd_mod_CFLAGS): Likewise.
25455 (bsd_mod_LDFLAGS): Likewise.
25456
25457 * include/grub/aout.h: New file.
25458
25459 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
25460
25461 * include/grub/i386/bsd.h: New file.
25462
25463 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
25464 to make it public.
25465
25466 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
25467 function is called, so that it's possible to change it inside the hook.
25468 (grub_elf64_load): Likewise.
25469 (grub_elf_file): Don't close the file if elf header is not found.
25470 (grub_elf_close): Close the file if grub_elf_file fails (The new
25471 grub_elf_file won't close it).
25472 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
25473 (grub_elf64_size): Likewise.
25474
25475 * kern/i386/loader.S (grub_unix_real_boot): New function.
25476
25477 * loader/aout.c: New file.
25478
25479 * loader/i386/bsd.c: New file.
25480
25481 * loader/i386/bsd_normal.c: New file.
25482
25483 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
25484
25485 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
25486 can test other formats.
25487
25488 2008-02-19 Robert Millan <rmh@aybabtu.com>
25489
25490 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
25491 (grub_gpt_partition_type_empty): Redefine with macro from
25492 `<grub/gpt_partition.h>'.
25493 (gpt_partition_map_iterate): Adjust partition type comparison.
25494
25495 Export `entry' as partmap-specific `part.data' struct.
25496 (grub_gpt_header, grub_gpt_partentry): Move from here ...
25497
25498 * include/grub/gpt_partition.h (grub_gpt_header)
25499 (grub_gpt_partentry): ... to here (new file).
25500
25501 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
25502
25503 (grub_gpt_partition_type_bios_boot): New const variable, defined
25504 with macro from `<grub/gpt_partition.h>'.
25505
25506 (setup): Replace `first_start' with `embed_region', which keeps
25507 track of the embed region (and is partmap-agnostic).
25508
25509 Replace find_first_partition_start() with find_usable_region(),
25510 which finds a usable region for embedding using partmap-specific
25511 knowledge (supports PC/MSDOS and GPT).
25512
25513 Fix all assumptions that the embed region start at sector 1, using
25514 `embed_region.start' from now on. Similarly, use `embed_region.end'
25515 rather than `first_start' to calculate available size.
25516
25517 In grub_util_info() message, replace "into after the MBR" with an
25518 indication of the specific sector our embed region starts at.
25519
25520 2008-02-19 Robert Millan <rmh@aybabtu.com>
25521
25522 * DISTLIST: Replace `commands/ieee1275/halt.c' and
25523 `commands/ieee1275/reboot.c' with `commands/halt.c' and
25524 `commands/reboot.c'.
25525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25526 (halt_mod_SOURCES): Likewise.
25527 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25528 (halt_mod_SOURCES): Likewise.
25529
25530 2008-02-17 Christian Franke <franke@computer.org>
25531
25532 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
25533
25534 2008-02-17 Robert Millan <rmh@aybabtu.com>
25535
25536 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25537 set `first_start' to 0 for non-PC/MSDOS partition maps.
25538
25539 2008-02-16 Robert Millan <rmh@aybabtu.com>
25540
25541 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25542 do not assume partition map is PC/MSDOS before performing checks that
25543 are specific to that layout.
25544
25545 2008-02-13 Robert Millan <rmh@aybabtu.com>
25546
25547 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
25548 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
25549 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
25550
25551 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
25552
25553 * configure.ac: Only a cosmetic change on the handling of
25554 -fno-stack-protector.
25555
25556 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
25557
25558 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
25559 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
25560 reboot.c.
25561 (grub_install_SOURCES): Add halt.mod and reboot.mod.
25562 (halt_mod_SOURCES): New variable.
25563 (halt_mod_CFLAGS): Likewise.
25564 (halt_mod_LDFLAGS): Likewise.
25565 (reboot_mod_SOURCES): Likewise.
25566 (reboot_mod_CFLAGS): Likewise.
25567 (reboot_mod_LDFLAGS): Likewise.
25568
25569 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
25570 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
25571 reboot.c.
25572 (halt_mod_SOURCES): Likewise.
25573 (reboot_mod_SOURCES): Likewise.
25574
25575 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
25576 commands/i386/pc/reboot.c by commands/reboot.c.
25577 (reboot_mod_SOURCES): Likewise.
25578
25579 * commands/i386/pc/reboot.c: merge this file ...
25580
25581 * commands/ieee1275/reboot.c: ... and this file ...
25582
25583 * commands/reboot.c: ... to this file.
25584 Add some precompiler directive to include the correct header for
25585 each machine.
25586
25587 * commands/ieee1275/halt.c: move this file ...
25588
25589 * commands/halt.c: ... to here.
25590 Add some precompiler directive to include the correct header for
25591 each machine.
25592
25593 * include/grub/efi/efi.h (grub_reboot): New function declaration.
25594 (grub_halt): Likewise.
25595
25596 * kern/efi/efi.c (grub_reboot): New function.
25597 (grub_halt): Likewise.
25598
25599 2008-02-12 Robert Millan <rmh@aybabtu.com>
25600
25601 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
25602 /dev (like it is done for /dev/mapper). This doesn't provide support
25603 for EVMS, but at least it is now easy to identify the problem when it
25604 arises.
25605
25606 2008-02-11 Robert Millan <rmh@aybabtu.com>
25607
25608 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
25609 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
25610 comparing it with -1, not 0.
25611
25612 2008-02-10 Robert Millan <rmh@aybabtu.com>
25613
25614 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
25615 `disk/lvm.c'.
25616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25617 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25618
25619 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
25620 `disk/lvm.c' to the end of the list.
25621 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25622 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25623
25624 2008-02-10 Robert Millan <rmh@aybabtu.com>
25625
25626 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
25627 grub_print_error() instead. This will let user know why we're entering
25628 rescue mode.
25629 Based on suggestions from Sam Morris.
25630
25631 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
25632
25633 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
25634 on remaining N args, instead of "--" arg N times.
25635
25636 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
25637
25638 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
25639 (fill_with_default_glyph): Changed to use unknown_glyph for fill
25640 pattern for unknown glyphs.
25641
25642 2008-02-09 Robert Millan <rmh@aybabtu.com>
25643
25644 * configure.ac: Probe for `help2man'.
25645 * Makefile.in (builddir): New variable.
25646 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
25647 or otherwise add a few flags/options to it.
25648 (install-local): For every executable utility or script that is
25649 installed, invoke $(HELP2MAN) to install a manpage based on --help
25650 output.
25651
25652 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
25653 that it doesn't prevent --help from working in build tree.
25654
25655 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
25656 with `bug-grub@gnu.org'.
25657 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
25658 * util/update-grub.in (usage): New function.
25659 Implement proper argument check, with support for --help and --version
25660 (as well as existing -y).
25661
25662 2008-02-09 Christian Franke <franke@computer.org>
25663
25664 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
25665 avoid overwriting previous output.
25666 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
25667
25668 2008-02-09 Robert Millan <rmh@aybabtu.com>
25669
25670 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
25671 drawing the menu.
25672
25673 2008-02-09 Robert Millan <rmh@aybabtu.com>
25674
25675 * commands/sleep.c: New file.
25676 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
25677 (sleep_mod_SOURCES): New variable.
25678 (sleep_mod_CFLAGS): Likewise.
25679 (sleep_mod_LDFLAGS): Likewise.
25680
25681 2008-02-09 Robert Millan <rmh@aybabtu.com>
25682
25683 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
25684 situations in which we can deduce the RAID size and the superblock
25685 doesn't match it.
25686
25687 2008-02-09 Robert Millan <rmh@aybabtu.com>
25688
25689 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
25690 and return a grub_diskmemberlist_t composed of LVM physical volumes.
25691 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
25692
25693 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
25694 and return a grub_diskmemberlist_t composed of physical array members.
25695 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
25696
25697 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
25698 prototype.
25699 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
25700 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
25701 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
25702
25703 * util/grub-probe.c (probe): Move partmap probing code from here ...
25704 (probe_partmap): ... to here.
25705 (probe): Use probe_partmap() once for the disk we're probing, and
25706 additionally, when such disk contains a memberlist() struct member,
25707 once for each disk that is contained in the structure returned by
25708 memberlist().
25709
25710 2008-02-09 Robert Millan <rmh@aybabtu.com>
25711
25712 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
25713 environment variable to 'all' in order to obtain debug output from
25714 non-util/ code.
25715 * util/i386/pc/grub-setup.c (main): Likewise.
25716
25717 2008-02-08 Robert Millan <rmh@aybabtu.com>
25718
25719 * disk/raid.c (grub_raid_scan_device): Check for
25720 `array->device[sb.this_disk.number]' rather than for
25721 `array->device[sb.this_disk.number]->name', since the latter is not
25722 guaranteed to be accessible.
25723
25724 2008-02-08 Robert Millan <rmh@aybabtu.com>
25725
25726 * disk/raid.c: Update copyright.
25727 * fs/cpio.c: Likewise.
25728 * include/grub/raid.h: Likewise.
25729 * loader/i386/pc/multiboot.c: Likewise.
25730 * util/hostfs.c: Likewise.
25731
25732 2008-02-08 Robert Millan <rmh@aybabtu.com>
25733
25734 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
25735 to a grub_disk_t array.
25736 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
25737 `device[x]'.
25738 (grub_raid_scan_device): Replace `device[x].name' accesses with
25739 `device[x]->name'. Simplify initialization of `array->device[x]'.
25740
25741 2008-02-08 Robert Millan <rmh@aybabtu.com>
25742
25743 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
25744 grub_dprintf() calls.
25745 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
25746 error message.
25747
25748 2008-02-07 Christian Franke <franke@computer.org>
25749
25750 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
25751 instead of fseek and ftell to support large files.
25752 (grub_hostfs_read): Likewise.
25753
25754 2008-02-07 Robert Millan <rmh@aybabtu.com>
25755
25756 Patch from Jeroen Dekkers.
25757 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
25758 failure, since successfully reading all array members might not be
25759 required.
25760
25761 2008-02-06 Robert Millan <rmh@aybabtu.com>
25762
25763 * util/grub-probe.c (probe): Simplify partmap probing (with the
25764 assumption that the first word up to the underscore equals to
25765 the module name).
25766
25767 2008-02-06 Christian Franke <franke@computer.org>
25768
25769 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
25770 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
25771 last block of a cpio or tar stream.
25772 Check for "TRAILER!!!" instead of any empty data
25773 block to detect last block of a cpio stream.
25774 (grub_cpio_dir): Fix constness of variable np.
25775 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
25776 cpio or tar trailer is detected. This fixes a crash
25777 on open of a non existing file.
25778
25779 2008-02-05 Bean <bean123ch@gmail.com>
25780
25781 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
25782 address of entry.
25783 (grub_multiboot_load_elf64): Likewise.
25784 (grub_multiboot): Initialize mbi structure.
25785
25786 * util/grub-fstest.c: Don't include unused header file script.h.
25787
25788 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
25789 of file.
25790 (grub_fstest_SOURCES): Likewise.
25791
25792 2008-02-05 Robert Millan <rmh@aybabtu.com>
25793
25794 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
25795 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
25796 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
25797 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
25798
25799 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
25800 (translation_table): Replace hardcoded values with macros
25801 provided by `<grub/term.h>'.
25802
25803 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
25804 (keyboard_map): Correct/add a few values, with macros provided
25805 by `<grub/term.h>'.
25806 (keyboard_map_shift): Zero values that don't differ from their
25807 `keyboard_map' equivalents.
25808 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
25809 Discard the second scan code that is always sent by Caps lock.
25810 Only use `keyboard_map_shift' when it provides a non-zero value,
25811 otherwise fallback to `keyboard_map'.
25812
25813 2008-02-04 Bean <bean123ch@gmail.com>
25814
25815 * Makefile.in (enable_grub_fstest): New variable.
25816
25817 * conf/common.rmk (grub_fstest_init.lst): New rule.
25818 (grub_fstest_init.h): Likewise.
25819 (grub_fstest_init.c): Likewise.
25820 (util/grub-fstest.c_DEPENDENCIES): New variable.
25821 (grub_fstest_SOURCES): Likewise.
25822
25823 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
25824
25825 * util/grub-fstest.c: New file.
25826
25827 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25828
25829 Make grub-setup handle a separate root device.
25830
25831 * util/i386/pc/grub-setup.c (setup): Always open the root device,
25832 so that the root device can be compared with the destination
25833 device.
25834 When embedding the core image, if the root and destination devices
25835 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
25836 0xFF.
25837 When not embedding, set ROOT_DRIVE to 0xFF.
25838
25839 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25840
25841 Add support for having a grub directory in a different drive. This
25842 is still only the data handling part.
25843
25844 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
25845 (codestart): Save %dh in GRUB_ROOT_DRIVE.
25846 (grub_root_drive): New variable.
25847
25848 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
25849 instead of GRUB_BOOT_DRIVE to construct a device name. Set
25850 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
25851 as it was.
25852
25853 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
25854
25855 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
25856 macro.
25857 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
25858
25859 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
25860 is bogus, because PXE booting does not specify any drive
25861 correctly.
25862
25863 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
25864 am not sure if this is really correct.
25865
25866 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
25867 is always identical to the boot drive when booting from a CD.
25868
25869 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
25870 longer.
25871 (root_drive): New variable.
25872 (real_start): Unconditionally set %dh to ROOT_DRIVE.
25873 (setup_sectors): Push %dx right after popping it, because %dh will
25874 be modified later.
25875 (copy_buffer): Restore %dx.
25876
25877 2008-02-03 Robert Millan <rmh@aybabtu.com>
25878
25879 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
25880 use `cdboot.img' for cdrom images.
25881
25882 2008-02-03 Robert Millan <rmh@aybabtu.com>
25883
25884 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
25885 only setup gfxterm when `font' command has succeeded.
25886
25887 2008-02-03 Robert Millan <rmh@aybabtu.com>
25888
25889 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
25890 (grub_rescue_cmd_multiboot_loader)
25891 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
25892
25893 2008-02-03 Pavel Roskin <proski@gnu.org>
25894
25895 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
25896 %edx and %esi from stack only after grub_gate_a20() is called.
25897 grub_gate_a20() clobbers %edx.
25898
25899 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25900
25901 * configure.ac (AC_INIT): Bumped to 1.96.
25902
25903 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
25904 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
25905 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
25906 video/readers/png.c.
25907
25908 2008-02-03 Bean <bean123ch@gmail.com>
25909
25910 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
25911 (cdboot_img_SOURCES): New variable.
25912 (cdboot_img_ASFLAGS): New variable.
25913 (cdboot_img_LDFLAGS): New variable.
25914
25915 * boot/i386/pc/cdboot.S: New file.
25916
25917 * disk/i386/pc/biosdisk.c (cd_start): New variable.
25918 (cd_count): Likewise.
25919 (grub_biosdisk_get_drive): Add support for cd device.
25920 (grub_biosdisk_call_hook): Likewise.
25921 (grub_biosdisk_iterate): Likewise.
25922 (grub_biosdisk_open): Likewise.
25923 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
25924 (grub_biosdisk_rw): Support reading from cd device.
25925 (GRUB_MOD_INIT): Iterate cd devices.
25926
25927 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
25928 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
25929 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
25930
25931 * kern/i386/pc/init.c (make_install_device): Check for cd device.
25932
25933 2008-02-02 Robert Millan <rmh@aybabtu.com>
25934
25935 * commands/read.c: New file.
25936 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
25937 (read_mod_SOURCES): New variable.
25938 (read_mod_CFLAGS): Likewise.
25939 (read_mod_LDFLAGS): Likewise.
25940
25941 2008-02-02 Robert Millan <rmh@aybabtu.com>
25942
25943 * normal/main.c (grub_normal_execute): Check for `menu->size' when
25944 determining whether menu has to be displayed.
25945
25946 2008-02-02 Marco Gerards <marco@gnu.org>
25947
25948 * bus/pci.c: New file.
25949
25950 * include/grub/pci.h: Likewise.
25951
25952 * include/grub/i386/pc/pci.h: Likewise.
25953
25954 * commands/lspci.c: Likewise.
25955
25956 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
25957 `lspci.mod'.
25958 (pci_mod_SOURCES): New variable.
25959 (pci_mod_CFLAGS): Likewise.
25960 (pci_mod_LDFLAGS): Likewise.
25961 (lspci_mod_SOURCES): Likewise.
25962 (lspci_mod_CFLAGS): Likewise.
25963 (lspci_mod_LDFLAGS): Likewise.
25964
25965 2008-02-02 Bean <bean123ch@gmail.com>
25966
25967 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
25968 (grub_ufs_get_file_block): Fix indirect block calculation problem.
25969
25970 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
25971 (grub_xfs_btree_node): New structure.
25972 (grub_xfs_btree_root): New structure.
25973 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
25974 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
25975 (GRUB_XFS_EXTENT_BLOCK): Likewise.
25976 (GRUB_XFS_EXTENT_SIZE): Likewise.
25977 (grub_xfs_read_block): Support btree format type.
25978 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
25979 Use directory block as basic unit.
25980
25981 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
25982
25983 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
25984 __attribute__ ((__regparm__ (1))).
25985
25986 2008-02-01 Robert Millan <rmh@aybabtu.com>
25987
25988 Correct a mistake in previous commit.
25989
25990 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
25991 top.
25992 (normal/command.c_DEPENDENCIES): New variable.
25993
25994 2008-02-01 Robert Millan <rmh@aybabtu.com>
25995
25996 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
25997 top.
25998 (normal/command.c_DEPENDENCIES): New variable.
25999 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
26000 * conf/i386-ieee1275.rmk: Likewise.
26001 * conf/i386-linuxbios.rmk: Likewise.
26002 * conf/i386-pc.rmk: Likewise.
26003 * conf/sparc64-ieee1275.rmk: Likewise.
26004 * conf/powerpc-ieee1275.rmk: Likewise.
26005 (grub_emu_SOURCES): Add `fs/fshelp.c'.
26006
26007 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
26008
26009 2008-02-01 Robert Millan <rmh@aybabtu.com>
26010
26011 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
26012 call at beginning of function.
26013
26014 2008-01-31 Pavel Roskin <proski@gnu.org>
26015
26016 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
26017 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
26018 (grub_mkrescue_SOURCES): Likewise.
26019 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
26020
26021 2008-01-30 Robert Millan <rmh@aybabtu.com>
26022
26023 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
26024 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
26025 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
26026 (grub_probe_SOURCES): ... to here.
26027
26028 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
26029 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
26030 * conf/i386-ieee1275.rmk: Likewise.
26031 * conf/i386-linuxbios.rmk: Likewise.
26032 * conf/powerpc-ieee1275.rmk: Likewise.
26033
26034 2008-01-30 Tristan Gingold <gingold@free.fr>
26035
26036 * kern/rescue.c: Silently accept empty lines.
26037
26038 2008-01-29 Bean <bean123ch@gmail.com>
26039
26040 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
26041 (real_code_2): Code cleanup and change comment style.
26042 (move_memory): Avoid using 32-bit address mode.
26043
26044 2008-01-29 Bean <bean123ch@gmail.com>
26045
26046 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
26047 (png_mod_SOURCES): New variable.
26048 (png_mod_CFLAGS): Likewise.
26049 (png_mod_LDFLAGS): Likewise.
26050
26051 * video/readers/png.c: New file.
26052
26053 2008-01-28 Robert Millan <rmh@aybabtu.com>
26054
26055 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
26056 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
26057 `ifndef GRUB_MOD_GAP' hack.
26058 * util/elf/grub-mkimage.c (add_segments): Likewise.
26059
26060 2008-01-27 Robert Millan <rmh@aybabtu.com>
26061
26062 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
26063 `GRUB_MOD_GAP' for platforms in which it's not defined.
26064 * util/elf/grub-mkimage.c (add_segments): Likewise.
26065
26066 2008-01-27 Robert Millan <rmh@aybabtu.com>
26067
26068 Get grub-emu to build again (including parallel builds).
26069
26070 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
26071 Split into ...
26072 (util/grub-emu.c_DEPENDENCIES): ... this, ...
26073 (normal/execute.c_DEPENDENCIES): ... this, ...
26074 (grub-emu_DEPENDENCIES): ... and this.
26075
26076 * conf/i386-efi.rmk: Likewise.
26077 * conf/i386-linuxbios.rmk: Likewise.
26078 * conf/i386-ieee1275.rmk: Likewise.
26079 * conf/powerpc-ieee1275.rmk: Likewise.
26080 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
26081
26082 2008-01-27 Robert Millan <rmh@aybabtu.com>
26083
26084 * NEWS: Add a few items.
26085
26086 2008-01-27 Robert Millan <rmh@aybabtu.com>
26087
26088 Fix parallel builds with grub-emu. Based on earlier commit for
26089 grub-probe and grub-setup.
26090
26091 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26092 (util/grub-emu.c_DEPENDENCIES): ... this.
26093 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26094 (util/grub-emu.c_DEPENDENCIES): ... this.
26095 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26096 (util/grub-emu.c_DEPENDENCIES): ... this.
26097 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26098 (util/grub-emu.c_DEPENDENCIES): ... this.
26099 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26100 (util/grub-emu.c_DEPENDENCIES): ... this.
26101
26102 2008-01-27 Pavel Roskin <proski@gnu.org>
26103
26104 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
26105 to create a gap between _end and the modules added to the image
26106 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
26107 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
26108 * util/elf/grub-mkimage.c (add_segments): Likewise.
26109
26110 2008-01-26 Pavel Roskin <proski@gnu.org>
26111
26112 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
26113 just return an error.
26114
26115 2008-01-26 Bean <bean123ch@gmail.com>
26116
26117 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
26118 (grub_reiserfs_get_item): Save offset of the next item.
26119 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
26120
26121 2008-01-25 Robert Millan <rmh@aybabtu.com>
26122
26123 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
26124 make all filesystem sources appear together (possibly fixing omissions
26125 while at it).
26126 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26127 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26128 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26130
26131 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
26132 add `kern/file.c'.
26133 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
26134 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26135 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
26136 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26137
26138 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
26139 (probe): Add a sanity check to make sure of our ability to read
26140 requested files when probing for filesystem type.
26141
26142 * genmk.rb: Update copyright year (2007).
26143
26144 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
26145 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
26146 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
26147 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
26148 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
26149 : Remove function prototypes.
26150
26151 2008-01-25 Robert Millan <rmh@aybabtu.com>
26152
26153 Revert my previous commits (based on wrong assumption of how grub_errno
26154 works).
26155
26156 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
26157 * kern/file.c (grub_file_open): Likewise.
26158
26159 2008-01-24 Pavel Roskin <proski@gnu.org>
26160
26161 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
26162 that hang if GRUB tries to setup colors.
26163 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
26164 colors for firmwares that don't support it.
26165 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
26166 Recognize Open Hack'Ware, set flags to work around its
26167 limitations.
26168
26169 2008-01-24 Robert Millan <rmh@aybabtu.com>
26170
26171 * kern/file.c (grub_file_open): Do not account previous failures of
26172 unrelated functions when grub_errno is checked for.
26173 Reported by Oleg Strikov.
26174
26175 2008-01-24 Bean <bean123ch@gmail.com>
26176
26177 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
26178 (grub_ufs_sblock): New member volume name.
26179 (grub_ufs_find_file): Fix string copy bug.
26180 (grub_ufs_label): Implement this function properly.
26181
26182 * fs/hfs.c (grub_hfs_cnid_type): New enum.
26183 (grub_hfs_iterate_records): Use the correct file number for extents
26184 and catalog file. Fix problem in next index calculation.
26185 (grub_hfs_find_node): Replace recursive function call with loop.
26186 (grub_hfs_iterate_dir): Replace recursive function call with loop.
26187
26188 2008-01-23 Robert Millan <rmh@aybabtu.com>
26189
26190 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
26191 `<grub/symbol.h>' and `<grub/multiboot.h>'.
26192 (grub_multiboot2_real_boot): New function prototype.
26193
26194 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
26195 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
26196
26197 * kern/i386/ieee1275/init.c (grub_os_area_addr)
26198 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
26199
26200 2008-01-23 Robert Millan <rmh@aybabtu.com>
26201
26202 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
26203 #ifdef'ed out grub_printf().
26204
26205 2008-01-23 Robert Millan <rmh@aybabtu.com>
26206
26207 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
26208 grub_dprintf calls, since they make "debug=all" mode unusable.
26209 (grub_console_checkkey): Likewise.
26210
26211 2008-01-23 Robert Millan <rmh@aybabtu.com>
26212
26213 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26214 `term/i386/pc/at_keyboard.c'.
26215 (pkglib_MODULES): Add `serial.mod'.
26216 (serial_mod_SOURCES): New variable.
26217 (serial_mod_CFLAGS): Likewise.
26218 (serial_mod_LDFLAGS): Likewise.
26219
26220 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
26221 `<grub/powerpc/ieee1275/console.h>'.
26222 (grub_keyboard_controller_init): New function prototype.
26223 (grub_console_checkkey): Likewise.
26224 (grub_console_getkey): Likewise.
26225
26226 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
26227 keyboard on i386.
26228
26229 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
26230 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
26231
26232 2008-01-23 Robert Millan <rmh@aybabtu.com>
26233
26234 * kern/i386/pc/init.c (make_install_device): When memdisk image is
26235 present, "(memdisk)/boot/grub" becomes the default prefix.
26236
26237 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
26238 a memdisk tarball with all the modules. Add --overlay=DIR option that
26239 allows users to overlay additional files into the image.
26240
26241 2008-01-23 Robert Millan <rmh@aybabtu.com>
26242
26243 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
26244 and `machine/memory.h'.
26245 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
26246 (_multiboot_mod_SOURCES): New variable.
26247 (_multiboot_mod_CFLAGS): Likewise.
26248 (_multiboot_mod_LDFLAGS): Likewise.
26249 (multiboot_mod_SOURCES): Likewise.
26250 (multiboot_mod_CFLAGS): Likewise.
26251 (multiboot_mod_LDFLAGS): Likewise.
26252
26253 * include/grub/i386/ieee1275/loader.h: New file.
26254
26255 * include/grub/i386/ieee1275/machine.h: Likewise.
26256
26257 * include/grub/i386/ieee1275/memory.h: Likewise.
26258
26259 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
26260 variable declaration.
26261 (grub_os_area_size): Likewise.
26262
26263 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
26264 (grub_lower_mem, grub_upper_mem): New variables.
26265 (grub_stop_floppy): New function (just to make
26266 grub_multiboot2_real_boot() happy).
26267
26268 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
26269 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
26270 (grub_stop): New function.
26271 Include `"../realmode.S"' and `"../loader.S"'.
26272
26273 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
26274 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
26275
26276 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
26277 rely on grub_multiboot2_real_boot() for final boot.
26278
26279 2008-01-22 Robert Millan <rmh@aybabtu.com>
26280
26281 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
26282 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
26283 device that doesn't look like an SD card.
26284 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26285 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
26286 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
26287 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
26288 found.
26289
26290 2008-01-22 Robert Millan <rmh@aybabtu.com>
26291
26292 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
26293 avoid claiming over our own code.
26294
26295 2008-01-22 Bean <bean123ch@gmail.com>
26296
26297 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
26298 (jpeg_mod_SOURCES): New variable.
26299 (jpeg_mod_CFLAGS): Likewise.
26300 (jpeg_mod_LDFLAGS): Likewise.
26301
26302 * video/readers/jpeg.c : New file.
26303
26304 2008-01-22 Bean <bean123ch@gmail.com>
26305
26306 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
26307 there are no more items.
26308
26309 2008-01-21 Robert Millan <rmh@aybabtu.com>
26310
26311 * kern/mm.c (grub_mm_init_region): Improve debug message.
26312
26313 2008-01-21 Robert Millan <rmh@aybabtu.com>
26314
26315 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
26316 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
26317 address.
26318 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
26319 a C macro.
26320 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
26321 Indicates start of upper memory.
26322 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
26323 (generate_image): Abort when image size is big enough to corrupt
26324 upper memory.
26325
26326 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
26327 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
26328 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26329 instead of hardcoding 0xA0000.
26330 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
26331 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26332 instead of hardcoding 0xA0000.
26333
26334 2008-01-21 Robert Millan <rmh@aybabtu.com>
26335
26336 * disk/memdisk.c (memdisk_size): New variable.
26337 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
26338 `memdisk_size'.
26339 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
26340 image to dynamic memory.
26341 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
26342 `memdisk_size'. Free memdisk block.
26343
26344 2008-01-21 Robert Millan <rmh@aybabtu.com>
26345
26346 Fix detection of very small filesystems (like tar).
26347
26348 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
26349 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
26350 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
26351 a problem with this disk).
26352
26353 2008-01-21 Robert Millan <rmh@aybabtu.com>
26354
26355 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
26356 on grub_biosdisk_rw_standard() error.
26357
26358 2008-01-21 Robert Millan <rmh@aybabtu.com>
26359
26360 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
26361 recent changes.
26362 * kern/elf.c: Likewise.
26363 * kern/ieee1275/ieee1275.c: Likewise.
26364 * kern/powerpc/ieee1275/openfw.c: Likewise.
26365 * term/ieee1275/ofconsole.c: Likewise.
26366
26367 2008-01-21 Robert Millan <rmh@aybabtu.com>
26368
26369 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
26370
26371 * include/grub/kernel.h (grub_arch_memdisk_addr)
26372 (grub_arch_memdisk_size): Moved from here ...
26373
26374 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
26375 (grub_arch_memdisk_size): ... to here.
26376
26377 2008-01-21 Robert Millan <rmh@aybabtu.com>
26378
26379 Mostly based on bugfix from Bean.
26380
26381 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
26382 attribute with hook() parameter.
26383 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
26384 declaration.
26385 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
26386 attribute with hook() parameter.
26387 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
26388 declaration.
26389
26390 2008-01-21 Robert Millan <rmh@aybabtu.com>
26391
26392 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
26393 (pkglib_MODULES): Add `memdisk.mod'.
26394 (memdisk_mod_SOURCES): New variable.
26395 (memdisk_mod_CFLAGS): Likewise.
26396 (memdisk_mod_LDFLAGS): Likewise.
26397
26398 * disk/memdisk.c: New file.
26399
26400 * include/grub/disk.h (grub_disk_dev_id): Add
26401 `GRUB_DISK_DEVICE_MEMDISK_ID'.
26402
26403 * include/grub/i386/pc/kernel.h
26404 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
26405 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
26406 (grub_kernel_image_size): New variable declaration.
26407 (grub_total_module_size): Likewise.
26408 (grub_memdisk_image_size): Likewise.
26409
26410 * include/grub/i386/pc/memory.h
26411 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
26412
26413 * include/grub/kernel.h: Include `<grub/symbol.h>'.
26414 (grub_arch_memdisk_addr): New variable declaration.
26415 (grub_arch_memdisk_size): Likewise.
26416
26417 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
26418 (grub_arch_memdisk_size): Likewise.
26419
26420 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
26421 (codestart): Replace hardcoded `0x100000' with
26422 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
26423
26424 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
26425 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
26426 not NULL, append the contents of the file it refers to, at the end of
26427 the compressed kernel image. Initialize `grub_memdisk_image_size'
26428 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
26429 (options): Add "memdisk"|'m' option.
26430 (main): Parse --memdisk|-m option, and pass user-provided path as
26431 parameter to generate_image().
26432
26433 2008-01-20 Robert Millan <rmh@aybabtu.com>
26434
26435 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
26436 grub_dprintf() calls from here ...
26437 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
26438
26439 2008-01-20 Robert Millan <rmh@aybabtu.com>
26440
26441 Fix detection of "real mode" when /options/real-mode? doesn't exist.
26442
26443 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
26444 declaration.
26445 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
26446 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
26447 `GRUB_IEEE1275_FLAG_REAL_MODE'.
26448 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
26449 property).
26450 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
26451 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
26452
26453 2008-01-19 Robert Millan <rmh@aybabtu.com>
26454
26455 Get rid of confusing function (superseded by
26456 `grub_ieee1275_get_integer_property')
26457 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
26458 prototype.
26459 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
26460 function.
26461 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
26462 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
26463 in native endianness from grub_ieee1275_get_integer_property().
26464
26465 2008-01-19 Robert Millan <rmh@aybabtu.com>
26466
26467 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
26468 command after "shut-down", since implementations differ on which
26469 the command for halt is.
26470
26471 2008-01-19 Robert Millan <rmh@aybabtu.com>
26472
26473 * include/grub/i386/linuxbios/console.h: Add header protection.
26474 (grub_keyboard_controller_init): New function prototype.
26475 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
26476 (KEYBOARD_COMMAND_READ): Likewise.
26477 (KEYBOARD_COMMAND_WRITE): Likewise.
26478 (KEYBOARD_SCANCODE_SET1): Likewise.
26479 (grub_keyboard_controller_write): New function.
26480 (grub_keyboard_controller_read): Likewise.
26481 (grub_keyboard_controller_init): Likewise.
26482
26483 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
26484 (grub_console_init): On coreboot/LinuxBIOS, call
26485 grub_keyboard_controller_init().
26486
26487 2008-01-19 Robert Millan <rmh@aybabtu.com>
26488
26489 PowerPC changes provided by Pavel Roskin.
26490
26491 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
26492 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
26493 don't rely on cmain() doing it.
26494 * kern/i386/ieee1275/startup.S (_start): Store %eax in
26495 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
26496
26497 2008-01-16 Robert Millan <rmh@aybabtu.com>
26498
26499 * include/grub/i386/linuxbios/memory.h
26500 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
26501 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
26502 receive `table_header' as argument. Instead, probe for it in the
26503 known memory ranges where it can be present.
26504 (grub_available_iterate): Do not pass a fixed `table_header' address
26505 to grub_linuxbios_table_iterate().
26506
26507 2008-01-15 Robert Millan <rmh@aybabtu.com>
26508
26509 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
26510 * conf/i386-ieee1275.rmk: New file.
26511 * include/grub/i386/ieee1275/console.h: Likewise.
26512 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
26513 * include/grub/i386/ieee1275/kernel.h: Likewise.
26514 * include/grub/i386/ieee1275/time.h: Likewise.
26515 * kern/i386/ieee1275/init.c: Likewise.
26516 * kern/i386/ieee1275/startup.S: Likewise.
26517
26518 2008-01-15 Robert Millan <rmh@aybabtu.com>
26519
26520 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
26521 when pointers are 32-bit (but still do set it to one when they are
26522 64-bit).
26523
26524 2008-01-15 Robert Millan <rmh@aybabtu.com>
26525
26526 * include/grub/ieee1275/ieee1275.h
26527 (grub_ieee1275_get_integer_property): New function prototype.
26528
26529 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
26530 (grub_ieee1275_get_integer_property): New function. Wraps around
26531 grub_ieee1275_get_property() to handle endianness.
26532
26533 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
26534 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
26535 where appropriate.
26536 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
26537 (grub_map): Likewise.
26538 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
26539
26540 2008-01-15 Bean <bean123ch@gmail.com>
26541
26542 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
26543 (grub_script_execute_cmdline): Reset grub_errno.
26544
26545 * normal/main.c (read_config_file): Reset grub_errno.
26546
26547 * normal/parse.y (script_init): New.
26548 (script): Move function and menuentry here.
26549 (delimiter): New.
26550 (command): Add delimiter at the end of command.
26551 (commands): Adjust to match the new command.
26552 (commandblock): Remove grub_script_lexer_record_start.
26553 (menuentry): Add grub_script_lexer_record_start, use the new commands.
26554 (if): Use the new commands.
26555
26556 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
26557
26558 2008-01-15 Robert Millan <rmh@aybabtu.com>
26559
26560 * normal/menu.c (run_menu): Move timeout message from here ...
26561 (print_timeout): ... to here.
26562 (run_menu): Use print_timeout() once during initial draw to print
26563 the whole message, and again in every clock tick to update only
26564 the number of seconds.
26565
26566 2008-01-15 Robert Millan <rmh@aybabtu.com>
26567
26568 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
26569 actual size of `available' from grub_ieee1275_get_property(), and
26570 restrict parsing to that bound.
26571
26572 2008-01-15 Christian Franke <franke@computer.org>
26573
26574 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
26575 (argp_program_version): Remove variable.
26576 (argp_program_bug_address): Likewise.
26577 (options): Convert from struct argp_option to struct option.
26578 (struct arguments): Remove.
26579 (parse_opt): Remove.
26580 (usage): New function.
26581 (main): Replace struct args members by simple variables.
26582 Replace argp_parse() by getopt_long().
26583 Add switch to evaluate options.
26584 Add missing "(...)" around root_dev in prefix string.
26585
26586 2008-01-14 Robert Millan <rmh@aybabtu.com>
26587
26588 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
26589 for grub_ieee1275_exit(), in order to improve portability.
26590
26591 2008-01-14 Robert Millan <rmh@aybabtu.com>
26592
26593 * util/grub.d/10_linux.in (prefix): Define.
26594 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
26595
26596 2008-01-13 Pavel Roskin <proski@gnu.org>
26597
26598 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
26599 grub_errno if no errors have been detected.
26600
26601 2008-01-12 Robert Millan <rmh@aybabtu.com>
26602
26603 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
26604 (grub_util_get_dev_abstraction): New function prototype.
26605
26606 * util/getroot.c: Include `<grub/util/getroot.h>'
26607 (grub_util_get_grub_dev): Move detection of abstraction type to ...
26608 (grub_util_get_dev_abstraction): ... here (new function).
26609
26610 * util/grub-probe.c: Convert PRINT_* to an enum. Add
26611 `PRINT_ABSTRACTION'.
26612 (probe): Probe for abstraction type when requested.
26613 (main): Understand `--target=abstraction'.
26614
26615 * util/i386/efi/grub-install.in: Add abstraction module to core
26616 image when it is found to be necessary.
26617 * util/i386/pc/grub-install.in: Likewise.
26618 * util/powerpc/ieee1275/grub-install.in: Likewise.
26619
26620 * util/update-grub_lib.in (font_path): Return system path without
26621 converting to GRUB path.
26622 * util/update-grub.in: Convert system path returned by font_path()
26623 to a GRUB path. Use `grub-probe -t abstraction' to determine what
26624 abstraction module is needed for loading fonts (if any). Export
26625 that as `GRUB_PRELOAD_MODULES'.
26626 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
26627 insmod commands).
26628
26629 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
26630
26631 Remove some unused code from reiserfs.
26632
26633 * fs/reiserfs.c (struct grub_reiserfs_key)
26634 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
26635 (struct grub_reiserfs_node_body): Removed.
26636 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26637 Likewise.
26638 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26639 Likewise.
26640 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26641 Likewise.
26642 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26643 Likewise.
26644 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26645 Likewise.
26646 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
26647 Likewise.
26648 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26649 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26650 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26651
26652 2008-01-10 Robert Millan <rmh@aybabtu.com>
26653
26654 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
26655 Determines if a file is garbage left by packaging systems, etc.
26656 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
26657 for processing /etc/grub.d scripts.
26658 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
26659 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
26660 as a condition for processing Linux images.
26661
26662 2008-01-10 Pavel Roskin <proski@gnu.org>
26663
26664 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
26665 to compile reiserfs.c on PowerPC.
26666
26667 2008-01-10 Robert Millan <rmh@aybabtu.com>
26668
26669 * kern/device.c (grub_device_iterate): Do not abort device iteration
26670 when one of the devices cannot be opened.
26671 * kern/disk.c (grub_disk_open): Do not account previous failures of
26672 unrelated functions when grub_errno is checked for.
26673
26674 2008-01-08 Robert Millan <rmh@aybabtu.com>
26675
26676 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
26677 `! grub_linux_is_bzimage', change order of address comparison to make
26678 it more intuitive, and improve "too big zImage" error message.
26679
26680 2008-01-08 Robert Millan <rmh@aybabtu.com>
26681
26682 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
26683 `$(update-grub_DATA)'.
26684 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
26685 targets.
26686
26687 2008-01-07 Robert Millan <rmh@aybabtu.com>
26688
26689 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
26690 which instruction is modified by grub-setup during installation
26691 (since it wasn't obvious by only looking at this file).
26692
26693 2008-01-07 Robert Millan <rmh@aybabtu.com>
26694
26695 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
26696 listing actual TODO items.
26697
26698 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26699
26700 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
26701 correctly.
26702 (grub_reiserfs_get_key_offset): Likewise.
26703 (grub_reiserfs_set_key_offset): Likewise.
26704 (grub_reiserfs_set_key_type): Likewise.
26705 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
26706
26707 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
26708 better to remove the bitfield version completely.
26709
26710 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26711
26712 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
26713 allocated from the heap, due to the fshelp implementation.
26714 (grub_reiserfs_dir): Free NODE, due to the same reason.
26715
26716 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26717
26718 Mostly from Vincent Pelletier:
26719
26720 * fs/reiserfs.c: New file.
26721
26722 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
26723 (reiserfs_mod_SOURCES): New variable.
26724 (reiserfs_mod_CFLAGS): Likewise.
26725 (reiserfs_mod_LDFLAGS): Likewise.
26726
26727 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
26728 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
26729 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
26730 normal/color.c.
26731
26732 2008-01-06 Robert Millan <rmh@aybabtu.com>
26733
26734 * normal/color.c: Remove `<grub/env.h>'.
26735
26736 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
26737
26738 * include/grub/normal.h: Include <grub/env.h>.
26739
26740 2008-01-05 Robert Millan <rmh@aybabtu.com>
26741
26742 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
26743 usage example with `(hd0,1)'.
26744 Reported by Samuel Thibault.
26745
26746 2008-01-05 Robert Millan <rmh@aybabtu.com>
26747
26748 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
26749 (grub_linux_boot_zimage): Rename to ...
26750 (grub_linux_boot): ... this.
26751 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
26752 (grub_linux_boot_zimage): Conditionalize zImage copy.
26753
26754 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
26755 (grub_linux_boot_bzimage): Remove prototype.
26756 (grub_linux_boot_zimage): Rename to ...
26757 (grub_linux_boot): ... this.
26758
26759 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
26760 (grub_linux_boot): Remove function.
26761
26762 2008-01-05 Robert Millan <rmh@aybabtu.com>
26763
26764 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
26765 (grub_env_write_color_highlight): Likewise.
26766 (grub_wait_after_message): Likewise.
26767
26768 * normal/color.c: New file.
26769
26770 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26771 (normal_mod_DEPENDENCIES): Likewise.
26772
26773 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26774 (normal_mod_DEPENDENCIES): Likewise.
26775
26776 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26777 (normal_mod_DEPENDENCIES): Likewise.
26778
26779 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26780 (normal_mod_DEPENDENCIES): Likewise.
26781
26782 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
26783 for waiting after a message is printed.
26784 * normal/main.c (read_config_file): Likewise.
26785 (grub_normal_init): Register grub_env_write_color_normal() and
26786 grub_env_write_color_highlight() hooks. Mark `color_normal' and
26787 `color_highlight' variables as global.
26788
26789 * normal/menu.c (grub_wait_after_message): New function.
26790 (grub_color_menu_normal): New variable. Replaces ...
26791 (GRUB_COLOR_MENU_NORMAL): ... this macro.
26792 (grub_color_menu_highlight): New variable. Replaces ...
26793 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
26794 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
26795 `GRUB_TERM_COLOR_STANDARD'.
26796 (print_message): Use `grub_setcolorstate' to reload colors. Rename
26797 `normal_code' and `highlight_code' to `old_color_normal' and
26798 `old_color_highlight', respectively.
26799 (grub_menu_init_page): Update colors when drawing the menu, based on
26800 `menu_color_normal' and `menu_color_highlight' variables.
26801 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
26802 a message is printed.
26803
26804 2008-01-05 Robert Millan <rmh@aybabtu.com>
26805
26806 * kern/env.c (grub_env_context_open): Propagate hooks for global
26807 variables to new context.
26808
26809 * kern/main.c (grub_set_root_dev): Export `root' variable.
26810
26811 2008-01-05 Robert Millan <rmh@aybabtu.com>
26812
26813 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
26814 discs unconditionally, since udev and others have options to provide
26815 them.
26816
26817 2008-01-05 Robert Millan <rmh@aybabtu.com>
26818
26819 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
26820
26821 2008-01-04 Christian Franke <franke@computer.org>
26822
26823 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
26824 of eisa_mmap.
26825
26826 2008-01-03 Pavel Roskin <proski@gnu.org>
26827
26828 * kern/i386/linuxbios/init.c: Put "void" to all function
26829 declarations with no arguments.
26830 * kern/powerpc/ieee1275/init.c: Likewise.
26831 * term/i386/pc/at_keyboard.c: Likewise.
26832 * term/i386/pc/vga_text.c: Likewise.
26833 * util/grub-mkdevicemap.c: Likewise.
26834
26835 2008-01-02 Robert Millan <rmh@aybabtu.com>
26836
26837 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
26838 message when loaded image is out of bounds.
26839 (grub_multiboot_load_elf64): Likewise.
26840
26841 2008-01-02 Pavel Roskin <proski@gnu.org>
26842
26843 * util/grub.d/10_linux.in: Try version without ".old" when
26844 looking for initrd. It's better to use initrd from the newer
26845 kernel of the same version than no initrd at all.
26846
26847 2008-01-01 Robert Millan <rmh@aybabtu.com>
26848
26849 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
26850
26851 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
26852
26853 * include/grub/video.h: Added grub_video_unmap_color and
26854 grub_video_get_active_render_target.
26855 (grub_video_adapter): Added unmap_color and get_active_render_target.
26856
26857 * video/video.c: Added grub_video_unmap_color and
26858 grub_video_get_active_render_target.
26859 (grub_video_get_info): Changed method to accept NULL pointer as an
26860 argument to allow detection of active video adapter.
26861
26862 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
26863 grub_video_vbe_unmap_color_int.
26864 Added grub_video_vbe_unmap_color and
26865 grub_video_vbe_get_active_render_target.
26866 (grub_video_vbe_adapter): Added unmap_color and
26867 get_active_render_target.
26868
26869 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
26870 with grub_video_vbe_unmap_color_int.
26871
26872 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
26873 (DEFAULT_NORMAL_COLOR): Likewise.
26874 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
26875 (DEFAULT_FG_COLOR): Removed.
26876 (DEFAULT_BG_COLOR): Likewise.
26877 (DEFAULT_CURSOR_COLOR): Changed value.
26878 (grub_virtual_screen): Added standard_color_setting,
26879 normal_color_setting, highlight_color_setting and term_color.
26880 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
26881 (bitmap_width): Added.
26882 (bitmap_height): Likewise.
26883 (bitmap): Likewise.
26884 (set_term_color): Likewise.
26885 (grub_virtual_screen_setup): Changed to use new terminal coloring
26886 settings.
26887 (grub_gfxterm_init): Added init for bitmap.
26888 (grub_gfxterm_fini): Added destroy for bitmap.
26889 (redraw_screen_rect): Updated to use background bitmap and new
26890 terminal coloring.
26891 (scroll_up): Added optimization for case when there is no bitmap.
26892 (grub_gfxterm_cls): Fixed to use correct background color.
26893 (grub_virtual_screen_setcolorstate): Changed to use new terminal
26894 coloring.
26895 (grub_virtual_screen_setcolor): Likewise.
26896 (grub_virtual_screen_getcolor): Added.
26897 (grub_gfxterm_background_image_cmd): Likewise.
26898 (grub_video_term): Added setcolor and getcolor.
26899 (MOD_INIT): Added registration of background_image command.
26900 (MOD_TERM): Added unregistration for background_image command.
26901
26902 2007-12-30 Pavel Roskin <proski@gnu.org>
26903
26904 * loader/multiboot_loader.c: Fix multiboot command
26905 unregistration. Fix all typos in the word "multiboot".
26906
26907 2007-12-29 Pavel Roskin <proski@gnu.org>
26908
26909 * util/grub.d/10_linux.in: Refactor search for initrd. Add
26910 support for initrd names used in Fedora.
26911
26912 2007-12-26 Bean <bean123ch@gmail.com>
26913
26914 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
26915 (cpio_mod_SOURCES): New variable.
26916 (cpio_mod_CFLAGS): Likewise.
26917 (cpio_mod_LDFLAGS): Likewise.
26918
26919 * fs/cpio.c: New file.
26920
26921 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
26922
26923 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26924
26925 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26926
26927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26928
26929 2007-12-25 Robert Millan <rmh@aybabtu.com>
26930
26931 * include/grub/term.h (struct grub_term): Add `getcolor' function.
26932 (grub_getcolor): New function.
26933
26934 * kern/term.c (grub_getcolor): New function.
26935 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
26936 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
26937 (print_entry): Set normal and highlight colors to
26938 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
26939 respectively, before printing and restore them to old
26940 values afterwards.
26941 (grub_menu_init_page): Likewise. Fill an additional colored space
26942 that would otherwise be left blank.
26943
26944 * term/efi/console.c (grub_console_getcolor): New function.
26945 (struct grub_console_term.getcolor): New variable.
26946 * term/i386/pc/console.c (grub_console_getcolor): New function.
26947 (struct grub_console_term.getcolor): New variable.
26948 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
26949 (struct grub_console_term.getcolor): New variable.
26950
26951 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
26952 (struct grub_console_term.setcolor): Remove variable.
26953 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
26954 (struct grub_console_term.setcolor): Remove variable.
26955 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
26956 (struct grub_console_term.setcolor): Remove variable.
26957 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
26958 (struct grub_console_term.setcolor): Remove variable.
26959
26960 2007-12-25 Robert Millan <rmh@aybabtu.com>
26961
26962 * configure.ac: Search for possible unifont.hex locations, and
26963 define UNIFONT_HEX if found.
26964
26965 * Makefile.in (UNIFONT_HEX): Define variable.
26966 (DATA): Rename to ...
26967 (PKGLIB): ... this. Update all users.
26968 (PKGDATA): New variable.
26969 (pkgdata_IMAGES): Rename to ...
26970 (pkglib_IMAGES): ... this. Update all users.
26971 (pkgdata_MODULES): Rename to ...
26972 (pkglib_MODULES): ... this. Update all users.
26973 (pkgdata_PROGRAMS): Rename to ...
26974 (pkglib_PROGRAMS): ... this. Update all users.
26975 (pkgdata_DATA): Rename to ...
26976 (pkglib_DATA): ... this. Update all users.
26977 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
26978 (unicode.pff, ascii.pff): New rules.
26979 (all-local): Add `$(PKGDATA)' dependency.
26980 (install-local): Process `$(PKGDATA)'.
26981
26982 * util/update-grub_lib.in (font_path): Search for *.pff files in
26983 a few more locations, including `${pkgdata}'.
26984
26985 2007-12-23 Robert Millan <rmh@aybabtu.com>
26986
26987 Patch from Bean <bean123ch@gmail.com>:
26988 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
26989 `size'.
26990
26991 2007-12-21 Bean <bean123ch@gmail.com>
26992
26993 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
26994 (ntfscomp_mod_SOURCES): New variable.
26995 (ntfscomp_mod_CFLAGS): Likewise.
26996 (ntfscomp_mod_LDFLAGS): Likewise.
26997
26998 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
26999 (grub_probe_SOURCES): Likewise.
27000 (grub_emu_SOURCES): Likewise.
27001
27002 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27003 (grub_emu_SOURCES): Likewise.
27004
27005 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27006 (grub_emu_SOURCES): Likewise.
27007
27008 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27009 (grub_emu_SOURCES): Likewise.
27010
27011 * fs/ntfs.c (grub_ntfscomp_func): New variable.
27012 (read_run_list): Renamed to grub_ntfs_read_run_list.
27013 (decomp_nextvcn): Moved to ntfscomp.c.
27014 (decomp_getch): Likewise.
27015 (decomp_get16): Likewise.
27016 (decomp_block): Likewise.
27017 (read_block): Likewise.
27018 (read_data): Partially moved to ntfscomp.c.
27019 (fixup): Change unsigned to grub_uint16_t.
27020 (read_mft): Change unsigned long to grub_uint32_t.
27021 (read_attr): Likewise.
27022 (read_data): Likewise.
27023 (read_run_data): Likewise.
27024 (read_run_list): Likewise.
27025 (read_mft): Likewise.
27026
27027 * fs/ntfscomp.c: New file.
27028
27029 * include/grub/ntfs.h: New file.
27030
27031 2007-12-16 Robert Millan <rmh@aybabtu.com>
27032
27033 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
27034 IDE disk check, since Linux is known to support 20 IDE disks.
27035 Reported by Colin Watson.
27036
27037 2007-12-15 Bean <bean123ch@gmail.com>
27038
27039 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
27040 (lnxboot_img_SOURCES): New variable.
27041 (lnxboot_img_ASFLAGS): Likewise.
27042 (lnxboot_img_LDFLAGS): Likewise.
27043
27044 * boot/i386/pc/lnxboot.S: New file.
27045
27046 2007-11-24 Pavel Roskin <proski@gnu.org>
27047
27048 * configure.ac: Test if '--build-id=none' is supported by the
27049 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
27050 objcopy to generate incorrect binary files (binutils
27051 2.17.50.0.18-1 as shipped by Fedora 8).
27052 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
27053 linking, so that build ID doesn't break the test.
27054
27055 2007-11-24 Pavel Roskin <proski@gnu.org>
27056
27057 * include/grub/i386/time.h: use "void" in the argument list
27058 of grub_cpu_idle().
27059 * include/grub/powerpc/time.h: Likewise.
27060 * include/grub/sparc64/time.h: Likewise.
27061
27062 2007-11-18 Christian Franke <franke@computer.org>
27063
27064 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
27065 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
27066 This fixes the problem that function keys did not work in grub-emu.
27067
27068 2007-11-18 Christian Franke <franke@computer.org>
27069
27070 * disk/host.c (grub_host_open): Remove attribute unused from
27071 name parameter. Add check for "host". This fixes the problem
27072 that grub-emu does not find partitions.
27073
27074 2007-11-18 Christian Franke <franke@computer.org>
27075
27076 * util/hostfs.c (is_dir): New function.
27077 (grub_hostfs_dir): Handle missing dirent.d_type case.
27078 (grub_hostfs_read): Add missing fseek().
27079 (grub_hostfs_label): Clear label pointer. This fixes a crash
27080 of grub-emu on "ls (host)".
27081
27082 2007-11-18 Christian Franke <franke@computer.org>
27083
27084 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
27085 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
27086 to 64 bit boundary by default.
27087
27088 2007-11-18 Bean <bean123ch@gmail.com>
27089
27090 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
27091 (hexdump_mod_SOURCES): New variable.
27092 (hexdump_mod_CFLAGS): Likewise.
27093 (hexdump_mod_LDFLAGS): Likewise.
27094
27095 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27096
27097 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27098
27099 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27100
27101 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27102
27103 * include/grub/hexdump.h: New file.
27104
27105 * commands/hexdump.c: New file.
27106
27107 2007-11-10 Robert Millan <rmh@aybabtu.com>
27108
27109 * commands/i386/pc/play.c (beep_off): Switch order of arguments
27110 in grub_outb() calls.
27111 (beep_on): Likewise.
27112
27113 2007-11-10 Christian Franke <franke@computer.org>
27114
27115 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
27116 (grub_menu_run): Likewise.
27117
27118 2007-11-10 Robert Millan <rmh@aybabtu.com>
27119
27120 * include/grub/i386/efi/machine.h: New file.
27121 * include/grub/i386/linuxbios/machine.h: Likewise.
27122 * include/grub/i386/pc/machine.h: Likewise.
27123 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27124 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27125
27126 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
27127 (serial_hw_io_addr): New variable.
27128 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
27129 instead of `(unsigned short *) 0x400'.
27130
27131 2007-11-10 Bean <bean123ch@gmail.com>
27132
27133 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
27134
27135 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27136
27137 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
27138 (vga_mod_SOURCES): Added.
27139 (vga_mod_CFLAGS): Likewise.
27140 (vga_mod_LDFLAGS): Likewise.
27141
27142 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
27143 grub_outb() calls.
27144 (set_map_mask): Likewise.
27145 (set_read_map): Likewise.
27146 (set_read_address): Likewise.
27147 (vga_font): Removed variable.
27148 (get_vga_glyph): Removed function.
27149 (invalidate_char): Likewise.
27150 (write_char): Changed to use grub_font_get_glyph() for font
27151 information.
27152 (grub_vga_putchar): Likewise.
27153 (grub_vga_getcharwidth): Likewise.
27154
27155 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27156
27157 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
27158 flags.
27159 (pxeboot_img_LDFLAGS): Likewise.
27160 (diskboot_img_LDFLAGS): Likewise.
27161 (kernel_img_LDFLAGS): Likewise.
27162
27163 2007-11-06 Robert Millan <rmh@aybabtu.com>
27164
27165 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
27166 in grub_outb() calls.
27167 (serial_hw_init): Likewise.
27168
27169 2007-11-05 Robert Millan <rmh@aybabtu.com>
27170
27171 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
27172 spaces. Skip non-regular files.
27173
27174 2007-11-05 Robert Millan <rmh@aybabtu.com>
27175
27176 * kern/disk.c (grub_disk_firmware_fini)
27177 (grub_disk_firmware_is_tainted): New variables.
27178
27179 * include/grub/disk.h (grub_disk_firmware_fini)
27180 (grub_disk_firmware_is_tainted): Likewise.
27181
27182 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
27183 (grub_disk_biosdisk_fini): ... to here.
27184 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
27185 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
27186 is set. Register grub_disk_biosdisk_fini() in
27187 `grub_disk_firmware_fini'.
27188
27189 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
27190 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
27191 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
27192 to finish existing firmware disk interface.
27193
27194 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
27195 (ata_mod_SOURCES): New variable.
27196 (ata_mod_CFLAGS): Likewise.
27197 (ata_mod_LDFLAGS): Likewise.
27198
27199 2007-11-05 Robert Millan <rmh@aybabtu.com>
27200
27201 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
27202 (grub_ata_wait): Reimplement using grub_millisleep().
27203
27204 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
27205 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
27206
27207 2007-11-03 Marco Gerards <marco@gnu.org>
27208
27209 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
27210 (CRTC_ADDR_PORT): New macro.
27211 (CRTC_DATA_PORT): Likewise.
27212 (CRTC_CURSOR): Likewise.
27213 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27214 (CRTC_CURSOR_ADDR_LOW): Likewise.
27215 (update_cursor): New function.
27216 (grub_console_real_putchar): Call `update_cursor'.
27217 (grub_console_gotoxy): Likewise.
27218 (grub_console_cls): Set the default color when clearing the
27219 screen.
27220 (grub_console_setcursor): Implemented.
27221
27222 2007-11-03 Marco Gerards <marco@gnu.org>
27223
27224 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
27225 become activate.
27226 (grub_ata_pio_write): Likewise.
27227
27228 (grub_atapi_identify): Wait after issuing an ATA command.
27229 (grub_atapi_packet): Likewise.
27230 (grub_ata_identify): Likewise.
27231 (grub_ata_readwrite): Likewise.
27232
27233 2007-11-03 Marco Gerards <marco@gnu.org>
27234
27235 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
27236 (grub_ata_pio_write): Likewise.
27237 (grub_ata_readwrite): Use `grub_error', instead of
27238 returning `grub_errno'.
27239
27240 2007-11-03 Marco Gerards <marco@gnu.org>
27241
27242 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
27243 grub_ata_pio_write once for every single sector, instead of for
27244 multiple sectors.
27245
27246 2007-10-31 Robert Millan <rmh@aybabtu.com>
27247
27248 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
27249
27250 * conf/i386-linuxbios.rmk: New file.
27251
27252 * kern/i386/pc/hardware.c: Likewise.
27253 * term/i386/pc/at_keyboard.c: Likewise.
27254 * term/i386/pc/vga_text.c: Likewise.
27255
27256 * include/grub/i386/linuxbios/boot.h: Likewise.
27257 * include/grub/i386/linuxbios/console.h: Likewise.
27258 * include/grub/i386/linuxbios/init.h: Likewise.
27259 * include/grub/i386/linuxbios/kernel.h: Likewise.
27260 * include/grub/i386/linuxbios/loader.h: Likewise.
27261 * include/grub/i386/linuxbios/memory.h: Likewise.
27262 * include/grub/i386/linuxbios/serial.h: Likewise.
27263 * include/grub/i386/linuxbios/time.h: Likewise.
27264
27265 * kern/i386/linuxbios/init.c: Likewise.
27266 * kern/i386/linuxbios/startup.S: Likewise.
27267 * kern/i386/linuxbios/table.c: Likewise.
27268
27269 2007-10-31 Marco Gerards <marco@gnu.org>
27270
27271 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
27272 (ata_mod_SOURCES): New variable.
27273 (ata_mod_CFLAGS): Likewise.
27274 (ata_mod_LDFLAGS): Likewise.
27275
27276 * disk/ata.c: New file.
27277
27278 * include/grub/disk.h (grub_disk_dev_id): Add
27279 `GRUB_DISK_DEV_ATA_ID'.
27280
27281 2007-10-31 Robert Millan <rmh@aybabtu.com>
27282
27283 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
27284 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
27285
27286 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
27287 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
27288
27289 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
27290 `<grub/types.h>'.
27291
27292 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
27293
27294 2007-10-27 Robert Millan <rmh@aybabtu.com>
27295
27296 * include/grub/types.h (ULONG_MAX): Define macro.
27297
27298 2007-10-22 Robert Millan <rmh@aybabtu.com>
27299
27300 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
27301 `"../realmode.S"'.
27302 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
27303
27304 2007-10-22 Robert Millan <rmh@aybabtu.com>
27305
27306 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
27307 (pkgdata_MODULES): Add `biosdisk.mod'.
27308 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
27309 variables.
27310
27311 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
27312 (grub_biosdisk_init): Replace with ...
27313 (GRUB_MOD_INIT(biosdisk)): ... this.
27314 (grub_biosdisk_fini): Replace with ...
27315 (GRUB_MOD_FINI(biosdisk)): ... this.
27316
27317 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
27318 (grub_machine_init): Remove call to grub_biosdisk_init().
27319 (grub_machine_fini): Remove call to grub_machine_fini().
27320
27321 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
27322
27323 2007-10-22 Robert Millan <rmh@aybabtu.com>
27324
27325 * include/grub/time.h: New file.
27326 * include/grub/i386/time.h: Likewise.
27327 * include/grub/powerpc/time.h: Likewise.
27328 * include/grub/sparc64/time.h: Likewise.
27329
27330 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
27331 instances to ...
27332 (KERNEL_MACHINE_TIME_HEADER): ... this.
27333 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27334 instances to ...
27335 (KERNEL_MACHINE_TIME_HEADER): ... this.
27336 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27337 instances to ...
27338 (KERNEL_MACHINE_TIME_HEADER): ... this.
27339
27340 * kern/i386/efi/init.c: Include `<grub/time.h>'.
27341 (grub_millisleep): New function.
27342 * kern/i386/pc/init.c: Include `<grub/time.h>'.
27343 (grub_millisleep): New function.
27344 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
27345 Remove `grub/machine/time.h' include.
27346 (grub_millisleep): New function.
27347 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
27348 Remove `grub/machine/time.h' include.
27349 (grub_millisleep): New function.
27350
27351 * include/grub/misc.h (grub_div_roundup): New function.
27352
27353 * kern/misc.c: Include `<grub/time.h>'.
27354 (grub_millisleep_generic): New function.
27355
27356 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
27357 Add `time.h'.
27358 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
27359 Add `time.h'.
27360 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
27361 `machine/time.h'. Add `time.h'.
27362 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27363
27364 2007-10-21 Robert Millan <rmh@aybabtu.com>
27365
27366 * include/grub/misc.h (grub_max): New function.
27367
27368 2007-10-21 Robert Millan <rmh@aybabtu.com>
27369
27370 * util/misc.c (grub_util_info): Call fflush() before returning.
27371
27372 2007-10-20 Robert Millan <rmh@aybabtu.com>
27373
27374 * genmk.rb (Image): Copy `extra_flags' from here ...
27375 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
27376
27377 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
27378 to `argc' and `args' arguments.
27379
27380 2007-10-17 Robert Millan <rmh@aybabtu.com>
27381
27382 * kern/i386/loader.S: New file.
27383
27384 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
27385 * kern/i386/loader.S (grub_linux_prot_size)... to here.
27386 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
27387 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
27388 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
27389 * kern/i386/loader.S (grub_linux_real_addr)... to here.
27390 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
27391 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
27392 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
27393 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
27394 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
27395 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
27396 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
27397 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
27398
27399 * kern/i386/realmode.S: New file.
27400
27401 * kern/i386/pc/startup.S (protstack): Moved from here ...
27402 * kern/i386/realmode.S (protstack)... to here.
27403 * kern/i386/pc/startup.S (gdt): Moved from here ...
27404 * kern/i386/realmode.S (gdt)... to here.
27405 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
27406 * kern/i386/realmode.S (prot_to_real)... to here.
27407
27408 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
27409 `kern/i386/realmode.S'.
27410
27411 2007-10-17 Robert Millan <rmh@aybabtu.com>
27412
27413 * include/grub/i386/loader.h: New file.
27414
27415 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
27416 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27417 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27418 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27419 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
27420 * include/grub/i386/loader.h (grub_linux_prot_size)
27421 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27422 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27423 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27424 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
27425
27426 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
27427
27428 2007-10-15 Robert Millan <rmh@aybabtu.com>
27429
27430 * normal/misc.c (grub_normal_print_device_info): Do not probe for
27431 filesystem when dev->disk is unset.
27432 Do probe for filesystem even when dev->disk->has_partitions is set.
27433 In case a filesystem is found, always report it.
27434 In case it isn't, if dev->disk->has_partitions is set, report that
27435 a partition table was found instead of reporting that no filesystem
27436 could be identified.
27437
27438 2007-10-12 Robert Millan <rmh@aybabtu.com>
27439
27440 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
27441 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
27442
27443 * include/grub/types.h (grub_host_to_target16): New macro.
27444 (grub_host_to_target32): Likewise.
27445 (grub_host_to_target64): Likewise.
27446 (grub_target_to_host16): Likewise.
27447 (grub_target_to_host32): Likewise.
27448 (grub_target_to_host64): Likewise.
27449
27450 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27451 Renamed from to ...
27452 (GRUB_MOD_ALIGN): ...this. Update all users.
27453
27454 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
27455 grub_host_to_target32.
27456 Replace grub_be_to_cpu32 with grub_target_to_host32.
27457 (load_modules): Likewise.
27458 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
27459 Replace grub_be_to_cpu32 with grub_target_to_host32.
27460 Replace grub_cpu_to_be16 with grub_host_to_target16.
27461 Replace grub_cpu_to_be32 grub_host_to_target32.
27462
27463 2007-10-12 Robert Millan <rmh@aybabtu.com>
27464
27465 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
27466 * util/elf/grub-mkimage.c: ... here.
27467
27468 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
27469 `util/powerpc/ieee1275/grub-mkimage.c'.
27470
27471 2007-10-07 Robert Millan <rmh@aybabtu.com>
27472
27473 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
27474 and make it easier to figure out.
27475 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
27476 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
27477 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
27478 leave us with less than HEAP_MIN_SIZE total heap.
27479 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
27480
27481 2007-10-03 Robert Millan <rmh@aybabtu.com>
27482
27483 * include/grub/i386/io.h: New file.
27484 * commands/i386/pc/play.c (inb): Removed.
27485 (outb): Removed.
27486 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27487 with grub_outb().
27488 * term/i386/pc/serial.c (inb): Removed.
27489 (outb): Removed.
27490 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27491 with grub_outb().
27492 * term/i386/pc/vga.c (inb): Removed.
27493 (outb): Removed.
27494 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27495 with grub_outb().
27496
27497 2007-10-02 Robert Millan <rmh@aybabtu.com>
27498
27499 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
27500 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27501 Reported by Marcin Kurek.
27502
27503 2007-09-07 Robert Millan <rmh@aybabtu.com>
27504
27505 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
27506 SmartFirmware version updates (as released by Sven Luther), and avoid
27507 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
27508 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
27509 known broken.
27510
27511 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27512
27513 From Hitoshi Ozeki:
27514 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
27515 when merging two regions.
27516
27517 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27518
27519 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
27520 * normal/completion.c (grub_normal_do_completion): Likewise.
27521 Reported by Hitoshi Ozeki.
27522
27523 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27524
27525 Do not use devices at boot in chainloading.
27526
27527 * loader/i386/pc/chainloader.c (boot_drive): New variable.
27528 (boot_part_addr): Likewise.
27529 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
27530 with BOOT_DRIVE and BOOT_PART_ADDR.
27531 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
27532 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
27533
27534 2007-08-29 Robert Millan <rmh@aybabtu.com>
27535
27536 Patch from Simon Peter <dn.tlp@gmx.net>:
27537 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
27538 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
27539 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
27540 util/i386/pc/grub-setup.c_DEPENDENCIES.
27541 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
27542 util/grub-probe.c_DEPENDENCIES.
27543 * conf/powerpc-ieee1275.rmk: Likewise.
27544
27545 2007-08-28 Robert Millan <rmh@aybabtu.com>
27546
27547 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
27548 to tell grub-mkdevicemap how to name devices.
27549 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
27550 feature).
27551
27552 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
27553 util/i386/get_disk_name.c.
27554 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
27555 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
27556 util/ieee1275/get_disk_name.c.
27557
27558 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
27559
27560 * DISTLIST: Add util/i386/get_disk_name.c and
27561 util/ieee1275/get_disk_name.c.
27562
27563 * util/grub-mkdevicemap.c: Replace device naming logic with
27564 grub_util_get_disk_name() calls.
27565
27566 2007-08-20 Robert Millan <rmh@aybabtu.com>
27567
27568 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
27569 (so that it works for both plural and singular quantities).
27570
27571 2007-08-05 Robert Millan <rmh@aybabtu.com>
27572
27573 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
27574 so that [xz] isn't taken into account when determining order.
27575
27576 2007-08-02 Marco Gerards <marco@gnu.org>
27577
27578 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
27579 `include/multiboot2.h', `include/grub/elfload.h',
27580 `include/multiboot.h', `include/grub/multiboot.h',
27581 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
27582 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
27583 `kern/elf.c', `loader/multiboot_loader.c',
27584 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
27585 `loader/i386/pc/multiboot2.c',
27586 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
27587 `util/i386/pc/grub-mkrescue.in'. Remove
27588 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
27589 `include/grub/i386/pc/util/biosdisk.h' and
27590 `include/grub/powerpc/ieee1275/multiboot.h'.
27591
27592 2007-08-02 Bean <bean123ch@gmail.com>
27593
27594 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
27595 (ntfs_mod_SOURCES): New variable.
27596 (ntfs_mod_CFLAGS): Likewise.
27597 (ntfs_mod_LDFLAGS): Likewise.
27598
27599 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
27600 (grub_probe_SOURCES): Likewise.
27601 (grub_emu_SOURCES): Likewise.
27602
27603 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27604 (grub_emu_SOURCES): Likewise.
27605
27606 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27607 (grub_emu_SOURCES): Likewise.
27608
27609 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
27610
27611 * fs/ntfs.c: New file.
27612
27613 2007-08-02 Bean <bean123ch@gmail.com>
27614
27615 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
27616
27617 * file.h (grub_file): Likewise.
27618
27619 * fshelp.h (grub_fshelp_read_file): Likewise.
27620
27621 * util/i386/pc/grub-setup.c (setup): Likewise.
27622 (save_first_sector): Likewise.
27623 (save_blocklists): Likewise.
27624
27625 * fs/affs.c (grub_affs_read_file): Likewise.
27626
27627 * fs/ext2.c (grub_ext2_read_file): Likewise.
27628
27629 * fs/fat.c (grub_fat_read_data): Likewise.
27630
27631 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
27632
27633 * fs/hfs.c (grub_hfs_read_file): Likewise.
27634
27635 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27636
27637 * fs/jfs.c (grub_jfs_read_file): Likewise.
27638
27639 * fs/minix.c (grub_minix_read_file): Likewise.
27640
27641 * fs/sfs.c (grub_sfs_read_file): Likewise.
27642
27643 * fs/ufs.c (grub_ufs_read_file): Likewise.
27644
27645 * fs/xfs.c (grub_xfs_read_file): Likewise.
27646
27647 * command/blocklist.c (read_blocklist): Likewise.
27648 (print_blocklist): Likewise.
27649
27650 2007-08-02 Marco Gerards <marco@gnu.org>
27651
27652 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
27653 `util/hostfs.c'.
27654
27655 * disk/host.c: New file.
27656
27657 * util/hostfs.c: Likewise.
27658
27659 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
27660 return `GRUB_ERR_BAD_FS'.
27661 * fs/sfs.c (grub_sfs_mount): Likewise.
27662 * fs/xfs.c (grub_xfs_mount): Likewise.
27663
27664 * include/grub/disk.h (enum grub_disk_dev_id): Add
27665 `GRUB_DISK_DEVICE_HOST_ID'.
27666
27667 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
27668
27669 2007-07-24 Jerone Young <jerone@gmail.com>
27670
27671 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
27672 modules for compilation.
27673 * conf/powerpc-ieee1275.rmk: Likewise.
27674
27675 * include/multiboot.h: Move multiboot definitions to one file. Rename
27676 many definitions to not get grub specific.
27677 * include/multiboot2.h: Create header with multiboot 2 definitions.
27678 * include/grub/multiboot.h: Header for grub specific function
27679 prototypes and definitions.
27680 * include/grub/multiboot2.h: Likewise.
27681 * include/grub/multiboot_loader.h: Likewise.
27682 * include/grub/i386/pc/multiboot.h: Removed.
27683 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
27684
27685 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
27686 and 2 to allow for one multiboot and module commands.
27687 * loader/multiboot2.c: Add multiboot2 functionality.
27688 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
27689 and definition names.
27690 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
27691 2 functions.
27692 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
27693 ieee1275 specific multiboot2 code.
27694
27695 * kern/i386/pc/startup.S: Change headers and definition names for
27696 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
27697
27698 2007-07-22 Robert Millan <rmh@aybabtu.com>
27699
27700 * geninitheader.sh: Process file specified in first parameter rather
27701 than hardcoding grub_modules_init.lst.
27702 * geninit.sh: Likewise. Also, construct header name dynamically rather
27703 than hardcoding grub_modules_init.h.
27704
27705 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
27706 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
27707 grub_probe_init.[ch] and grub_setup_init.[ch].
27708
27709 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
27710 grub_modules_init.h with grub_emu_init.h.
27711 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
27712 grub_probe_init.[ch] files.
27713 * conf/i386-efi.rmk: Likewise.
27714 * conf/i386-pc.rmk: Likewise.
27715 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
27716 grub_setup_init.[ch] files.
27717
27718 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
27719 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
27720 to initialize modules rather than a list of hardcoded functions.
27721 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
27722 grub_init_all() to initialize modules rather than a list of hardcoded
27723 functions.
27724
27725 2007-07-22 Robert Millan <rmh@aybabtu.com>
27726
27727 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27728 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
27729
27730 2007-07-22 Robert Millan <rmh@aybabtu.com>
27731
27732 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27733 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
27734 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
27735 flag when running on SmartFirmware.
27736 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
27737 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
27738 was set.
27739
27740 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27741 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
27742 rather than decreasing it.
27743
27744 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
27745 there's not enough space to do it, fail in the same way as when it
27746 can't be done because there are no partitions.
27747
27748 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
27749 when nvsetenv failed.
27750
27751 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27752
27753 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
27754 because this rule is automatically generated.
27755 (grub-mkrescue): Removed for the same reason as above.
27756
27757 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27758
27759 Migrate to GNU General Public License Version 3.
27760
27761 * COPYING: Replaced with the plain text version of GPLv3.
27762
27763 * config.guess: Updated from gnulib.
27764 * config.sub: Likewise.
27765
27766 * geninit.sh: Output a GPLv3 copyright notice.
27767 * geninitheader.sh: Likewise.
27768 * genmodsrc.sh: Likewise.
27769 * gensymlist.sh.in: Likewise.
27770
27771 * boot/i386/pc/boot.S: Upgraded to GPLv3.
27772 * boot/i386/pc/diskboot.S: Likewise.
27773 * boot/i386/pc/pxeboot.S: Likewise.
27774 * commands/blocklist.c: Likewise.
27775 * commands/boot.c: Likewise.
27776 * commands/cat.c: Likewise.
27777 * commands/cmp.c: Likewise.
27778 * commands/configfile.c: Likewise.
27779 * commands/echo.c: Likewise.
27780 * commands/help.c: Likewise.
27781 * commands/ls.c: Likewise.
27782 * commands/search.c: Likewise.
27783 * commands/terminal.c: Likewise.
27784 * commands/test.c: Likewise.
27785 * commands/videotest.c: Likewise.
27786 * commands/i386/cpuid.c: Likewise.
27787 * commands/i386/pc/halt.c: Likewise.
27788 * commands/i386/pc/play.c: Likewise.
27789 * commands/i386/pc/reboot.c: Likewise.
27790 * commands/i386/pc/vbeinfo.c: Likewise.
27791 * commands/i386/pc/vbetest.c: Likewise.
27792 * commands/ieee1275/halt.c: Likewise.
27793 * commands/ieee1275/reboot.c: Likewise.
27794 * commands/ieee1275/suspend.c: Likewise.
27795 * disk/loopback.c: Likewise.
27796 * disk/lvm.c: Likewise.
27797 * disk/raid.c: Likewise.
27798 * disk/efi/efidisk.c: Likewise.
27799 * disk/i386/pc/biosdisk.c: Likewise.
27800 * disk/ieee1275/ofdisk.c: Likewise.
27801 * font/manager.c: Likewise.
27802 * fs/affs.c: Likewise.
27803 * fs/ext2.c: Likewise.
27804 * fs/fat.c: Likewise.
27805 * fs/fshelp.c: Likewise.
27806 * fs/hfs.c: Likewise.
27807 * fs/hfsplus.c: Likewise.
27808 * fs/iso9660.c: Likewise.
27809 * fs/jfs.c: Likewise.
27810 * fs/minix.c: Likewise.
27811 * fs/sfs.c: Likewise.
27812 * fs/ufs.c: Likewise.
27813 * fs/xfs.c: Likewise.
27814 * hello/hello.c: Likewise.
27815 * include/grub/acorn_filecore.h: Likewise.
27816 * include/grub/arg.h: Likewise.
27817 * include/grub/bitmap.h: Likewise.
27818 * include/grub/boot.h: Likewise.
27819 * include/grub/cache.h: Likewise.
27820 * include/grub/device.h: Likewise.
27821 * include/grub/disk.h: Likewise.
27822 * include/grub/dl.h: Likewise.
27823 * include/grub/elfload.h: Likewise.
27824 * include/grub/env.h: Likewise.
27825 * include/grub/err.h: Likewise.
27826 * include/grub/file.h: Likewise.
27827 * include/grub/font.h: Likewise.
27828 * include/grub/fs.h: Likewise.
27829 * include/grub/fshelp.h: Likewise.
27830 * include/grub/gzio.h: Likewise.
27831 * include/grub/hfs.h: Likewise.
27832 * include/grub/kernel.h: Likewise.
27833 * include/grub/loader.h: Likewise.
27834 * include/grub/lvm.h: Likewise.
27835 * include/grub/misc.h: Likewise.
27836 * include/grub/mm.h: Likewise.
27837 * include/grub/net.h: Likewise.
27838 * include/grub/normal.h: Likewise.
27839 * include/grub/parser.h: Likewise.
27840 * include/grub/partition.h: Likewise.
27841 * include/grub/pc_partition.h: Likewise.
27842 * include/grub/raid.h: Likewise.
27843 * include/grub/rescue.h: Likewise.
27844 * include/grub/script.h: Likewise.
27845 * include/grub/setjmp.h: Likewise.
27846 * include/grub/symbol.h: Likewise.
27847 * include/grub/term.h: Likewise.
27848 * include/grub/terminfo.h: Likewise.
27849 * include/grub/tparm.h: Likewise.
27850 * include/grub/types.h: Likewise.
27851 * include/grub/video.h: Likewise.
27852 * include/grub/efi/api.h: Likewise.
27853 * include/grub/efi/chainloader.h: Likewise.
27854 * include/grub/efi/console.h: Likewise.
27855 * include/grub/efi/console_control.h: Likewise.
27856 * include/grub/efi/disk.h: Likewise.
27857 * include/grub/efi/efi.h: Likewise.
27858 * include/grub/efi/pe32.h: Likewise.
27859 * include/grub/efi/time.h: Likewise.
27860 * include/grub/i386/linux.h: Likewise.
27861 * include/grub/i386/setjmp.h: Likewise.
27862 * include/grub/i386/types.h: Likewise.
27863 * include/grub/i386/efi/kernel.h: Likewise.
27864 * include/grub/i386/efi/loader.h: Likewise.
27865 * include/grub/i386/efi/time.h: Likewise.
27866 * include/grub/i386/pc/biosdisk.h: Likewise.
27867 * include/grub/i386/pc/boot.h: Likewise.
27868 * include/grub/i386/pc/chainloader.h: Likewise.
27869 * include/grub/i386/pc/console.h: Likewise.
27870 * include/grub/i386/pc/init.h: Likewise.
27871 * include/grub/i386/pc/kernel.h: Likewise.
27872 * include/grub/i386/pc/loader.h: Likewise.
27873 * include/grub/i386/pc/memory.h: Likewise.
27874 * include/grub/i386/pc/multiboot.h: Likewise.
27875 * include/grub/i386/pc/serial.h: Likewise.
27876 * include/grub/i386/pc/time.h: Likewise.
27877 * include/grub/i386/pc/vbe.h: Likewise.
27878 * include/grub/i386/pc/vbeblit.h: Likewise.
27879 * include/grub/i386/pc/vbefill.h: Likewise.
27880 * include/grub/i386/pc/vbeutil.h: Likewise.
27881 * include/grub/i386/pc/vga.h: Likewise.
27882 * include/grub/ieee1275/ieee1275.h: Likewise.
27883 * include/grub/ieee1275/ofdisk.h: Likewise.
27884 * include/grub/powerpc/libgcc.h: Likewise.
27885 * include/grub/powerpc/setjmp.h: Likewise.
27886 * include/grub/powerpc/types.h: Likewise.
27887 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
27888 * include/grub/powerpc/ieee1275/console.h: Likewise.
27889 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
27890 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27891 * include/grub/powerpc/ieee1275/loader.h: Likewise.
27892 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
27893 * include/grub/powerpc/ieee1275/time.h: Likewise.
27894 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
27895 * include/grub/sparc64/libgcc.h: Likewise.
27896 * include/grub/sparc64/setjmp.h: Likewise.
27897 * include/grub/sparc64/types.h: Likewise.
27898 * include/grub/sparc64/ieee1275/console.h: Likewise.
27899 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27900 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27901 * include/grub/sparc64/ieee1275/time.h: Likewise.
27902 * include/grub/util/biosdisk.h: Likewise.
27903 * include/grub/util/getroot.h: Likewise.
27904 * include/grub/util/lvm.h: Likewise.
27905 * include/grub/util/misc.h: Likewise.
27906 * include/grub/util/raid.h: Likewise.
27907 * include/grub/util/resolve.h: Likewise.
27908 * io/gzio.c: Likewise.
27909 * kern/device.c: Likewise.
27910 * kern/disk.c: Likewise.
27911 * kern/dl.c: Likewise.
27912 * kern/elf.c: Likewise.
27913 * kern/env.c: Likewise.
27914 * kern/err.c: Likewise.
27915 * kern/file.c: Likewise.
27916 * kern/fs.c: Likewise.
27917 * kern/loader.c: Likewise.
27918 * kern/main.c: Likewise.
27919 * kern/misc.c: Likewise.
27920 * kern/mm.c: Likewise.
27921 * kern/parser.c: Likewise.
27922 * kern/partition.c: Likewise.
27923 * kern/rescue.c: Likewise.
27924 * kern/term.c: Likewise.
27925 * kern/efi/efi.c: Likewise.
27926 * kern/efi/init.c: Likewise.
27927 * kern/efi/mm.c: Likewise.
27928 * kern/i386/dl.c: Likewise.
27929 * kern/i386/efi/init.c: Likewise.
27930 * kern/i386/efi/startup.S: Likewise.
27931 * kern/i386/pc/init.c: Likewise.
27932 * kern/i386/pc/lzo1x.S: Likewise.
27933 * kern/i386/pc/startup.S: Likewise.
27934 * kern/ieee1275/ieee1275.c: Likewise.
27935 * kern/powerpc/cache.S: Likewise.
27936 * kern/powerpc/dl.c: Likewise.
27937 * kern/powerpc/ieee1275/cmain.c: Likewise.
27938 * kern/powerpc/ieee1275/crt0.S: Likewise.
27939 * kern/powerpc/ieee1275/init.c: Likewise.
27940 * kern/powerpc/ieee1275/openfw.c: Likewise.
27941 * kern/sparc64/cache.S: Likewise.
27942 * kern/sparc64/dl.c: Likewise.
27943 * kern/sparc64/ieee1275/init.c: Likewise.
27944 * kern/sparc64/ieee1275/openfw.c: Likewise.
27945 * loader/efi/chainloader.c: Likewise.
27946 * loader/efi/chainloader_normal.c: Likewise.
27947 * loader/i386/efi/linux.c: Likewise.
27948 * loader/i386/efi/linux_normal.c: Likewise.
27949 * loader/i386/pc/chainloader.c: Likewise.
27950 * loader/i386/pc/chainloader_normal.c: Likewise.
27951 * loader/i386/pc/linux.c: Likewise.
27952 * loader/i386/pc/linux_normal.c: Likewise.
27953 * loader/i386/pc/multiboot.c: Likewise.
27954 * loader/i386/pc/multiboot_normal.c: Likewise.
27955 * loader/powerpc/ieee1275/linux.c: Likewise.
27956 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27957 * normal/arg.c: Likewise.
27958 * normal/cmdline.c: Likewise.
27959 * normal/command.c: Likewise.
27960 * normal/completion.c: Likewise.
27961 * normal/execute.c: Likewise.
27962 * normal/function.c: Likewise.
27963 * normal/lexer.c: Likewise.
27964 * normal/main.c: Likewise.
27965 * normal/menu.c: Likewise.
27966 * normal/menu_entry.c: Likewise.
27967 * normal/misc.c: Likewise.
27968 * normal/parser.y: Likewise.
27969 * normal/script.c: Likewise.
27970 * normal/i386/setjmp.S: Likewise.
27971 * normal/powerpc/setjmp.S: Likewise.
27972 * normal/sparc64/setjmp.S: Likewise.
27973 * partmap/acorn.c: Likewise.
27974 * partmap/amiga.c: Likewise.
27975 * partmap/apple.c: Likewise.
27976 * partmap/gpt.c: Likewise.
27977 * partmap/pc.c: Likewise.
27978 * partmap/sun.c: Likewise.
27979 * term/gfxterm.c: Likewise.
27980 * term/terminfo.c: Likewise.
27981 * term/efi/console.c: Likewise.
27982 * term/i386/pc/console.c: Likewise.
27983 * term/i386/pc/serial.c: Likewise.
27984 * term/i386/pc/vesafb.c: Likewise.
27985 * term/i386/pc/vga.c: Likewise.
27986 * term/ieee1275/ofconsole.c: Likewise.
27987 * util/biosdisk.c: Likewise.
27988 * util/console.c: Likewise.
27989 * util/genmoddep.c: Likewise.
27990 * util/getroot.c: Likewise.
27991 * util/grub-emu.c: Likewise.
27992 * util/grub-mkdevicemap.c: Likewise.
27993 * util/grub-probe.c: Likewise.
27994 * util/lvm.c: Likewise.
27995 * util/misc.c: Likewise.
27996 * util/raid.c: Likewise.
27997 * util/resolve.c: Likewise.
27998 * util/update-grub.in: Likewise.
27999 * util/update-grub_lib.in: Likewise.
28000 * util/grub.d/00_header.in: Likewise.
28001 * util/grub.d/10_hurd.in: Likewise.
28002 * util/grub.d/10_linux.in: Likewise.
28003 * util/i386/efi/grub-install.in: Likewise.
28004 * util/i386/efi/grub-mkimage.c: Likewise.
28005 * util/i386/pc/grub-install.in: Likewise.
28006 * util/i386/pc/grub-mkimage.c: Likewise.
28007 * util/i386/pc/grub-mkrescue.in: Likewise.
28008 * util/i386/pc/grub-setup.c: Likewise.
28009 * util/i386/pc/misc.c: Likewise.
28010 * util/powerpc/ieee1275/grub-install.in: Likewise.
28011 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
28012 * util/powerpc/ieee1275/misc.c: Likewise.
28013 * video/bitmap.c: Likewise.
28014 * video/video.c: Likewise.
28015 * video/i386/pc/vbe.c: Likewise.
28016 * video/i386/pc/vbeblit.c: Likewise.
28017 * video/i386/pc/vbefill.c: Likewise.
28018 * video/i386/pc/vbeutil.c: Likewise.
28019 * video/readers/tga.c: Likewise.
28020
28021 2007-07-02 Robert Millan <rmh@aybabtu.com>
28022
28023 * conf/i386-efi.rmk: Replace obsolete reference to
28024 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
28025 with util/getroot.c.
28026 * conf/powerpc-ieee1275.rmk: Likewise.
28027 * conf/sparc64-ieee1275.rmk: Likewise.
28028
28029 * util/grub-emu.c (main): Fix unchecked pointer handling.
28030
28031 2007-07-02 Robert Millan <rmh@aybabtu.com>
28032
28033 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
28034 invocation to fail, in order to support partition-less media.
28035
28036 * util/i386/pc/grub-install.in: Likewise.
28037
28038 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
28039 which fs or partmap modules are needed (akin to its sister scripts).
28040
28041 Also use grub-probe to get rid of unportable /proc/mounts check.
28042
28043 Print the same informational message that the other scripts do, before
28044 exiting.
28045
28046 2007-06-23 Robert Millan <rmh@aybabtu.com>
28047
28048 * util/update-grub_lib.in (font_path): New function. Determine whether
28049 a font file can be found and, if so, echo the GRUB path to it.
28050
28051 * util/update-grub.in: Handle multiple terminals depending on user
28052 input, platform availability and font file presence. Propagate
28053 variables of our findings to /etc/grub.d/ children.
28054
28055 * util/grub.d/00_header.in: Handle multiple terminals, based on
28056 environment setup by update-grub.
28057
28058 2007-06-23 Robert Millan <rmh@aybabtu.com>
28059
28060 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
28061
28062 2007-06-21 Robert Millan <rmh@aybabtu.com>
28063
28064 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
28065 indicate end of data section in kernel image.
28066 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
28067 GRUB_KERNEL_MACHINE_DATA_END.
28068
28069 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
28070 space for it.
28071 * kern/i386/efi/startup.S: Likewise.
28072
28073 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
28074 during image generation. Implement --prefix option to override this
28075 patch.
28076 * util/i386/efi/grub-mkimage.c: Likewise.
28077
28078 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
28079 code to make path relative to its root into a separate function.
28080
28081 * util/i386/pc/grub-install.in: Use newly provided
28082 make_system_path_relative_to_its_root() to convert ${grubdir}, then
28083 pass the result to grub-install --prefix.
28084
28085 2007-06-13 Robert Millan <rmh@aybabtu.com>
28086
28087 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
28088 DEFAULT_DEVICE_MAP.
28089 * util/grub-emu.c: Use above definitions from misc.h instead of
28090 defining them.
28091 * util/grub-mkdevicemap.c: Likewise.
28092 * util/i386/pc/grub-setup.c: Likewise.
28093 * util/grub-probe.c: Likewise.
28094 (probe): Abort with grub_util_error() when either
28095 grub_guess_root_device or grub_util_get_grub_dev fails.
28096
28097 2007-06-12 Robert Millan <rmh@aybabtu.com>
28098
28099 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
28100 "pager" assignment.
28101 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
28102 "pcdata".
28103 * util/grub-probe.c (probe): Likewise for "drive_name".
28104
28105 2007-06-11 Robert Millan <rmh@aybabtu.com>
28106
28107 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
28108 not just the cdrom one.
28109
28110 2007-06-11 Robert Millan <rmh@aybabtu.com>
28111
28112 * util/i386/pc/grub-mkrescue.in: Add "set -e".
28113 Add --pkglibdir=DIR option to override pkglibdir.
28114 Mention --image-type=TYPE in help output.
28115 Fix --grub-mkimage (it was a no-op).
28116 Abort gracefully when no parameter is given.
28117
28118 2007-06-11 Robert Millan <rmh@aybabtu.com>
28119
28120 * util/i386/pc/grub-mkrescue.in: New file.
28121 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
28122 * Makefile.in: Handle bin_SCRIPTS.
28123
28124 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
28125
28126 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
28127 list of video modes.
28128
28129 2007-06-06 Robert Millan <rmh@aybabtu.com>
28130
28131 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
28132 file doesn't exist, or if it is in a filesystem grub can't read.
28133
28134 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
28135 not abort if GRUB_DRIVE could not be defined. Rearrange generated
28136 header comment to fit in 80 columns when the variables are resolved.
28137
28138 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
28139 could be identified by update-grub. Remove redundant check for
28140 unifont.pff existence (since convert_system_path_to_grub_path now
28141 handles that).
28142
28143 2007-06-04 Robert Millan <rmh@aybabtu.com>
28144
28145 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
28146
28147 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
28148
28149 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
28150
28151 2007-06-04 Robert Millan <rmh@aybabtu.com>
28152
28153 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
28154
28155 * include/grub/partition.h: Declare grub_apple_partition_map_init and
28156 grub_apple_partition_map_fini.
28157
28158 * util/biosdisk.c
28159 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
28160 to access >2 TiB disks).
28161
28162 Print disk->total_sectors with %llu instead of %lu, since this
28163 variable is always 64-bit (prevents wrong disk size from being displayed
28164 on either >2 TiB disk or big-endian CPU).
28165
28166 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
28167 into a generic case that supports all (sane) partition maps.
28168
28169 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
28170 breaks big-endian.
28171
28172 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
28173 and grub_apple_partition_map_fini() after that.
28174
28175 2007-06-01 Robert Millan <rmh@aybabtu.com>
28176
28177 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
28178
28179 * util/grub.d/00_header.in: Only enable gfxterm when
28180 convert_system_path_to_grub_path() succeeds.
28181
28182 2007-05-20 Robert Millan <rmh@aybabtu.com>
28183
28184 * util/update-grub_lib.in: New file.
28185 * DISTLIST: Add update-grub_lib.in.
28186 * conf/common.rmk: Generate update-grub_lib and install it in
28187 $(lib_DATA).
28188 * Makefile.in: Add install routine for $(lib_DATA).
28189
28190 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
28191 function provided by update-grub_lib to support arbitrary paths of
28192 unifont.pff.
28193 * util/update-grub.in: Use convert_system_path_to_grub_path() to
28194 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
28195
28196 2007-05-19 Robert Millan <rmh@aybabtu.com>
28197
28198 * commands/i386/cpuid.c: New module.
28199 * DISTLIST: Add it.
28200 * conf/i386-efi.rmk: Enable cpuid.mod.
28201 * conf/i386-pc.rmk: Likewise.
28202
28203 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28204
28205 * kern/disk.c (grub_disk_read): Check return value of
28206 grub_realloc().
28207
28208 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28209
28210 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
28211 arrays.
28212 * disk/raid.c (grub_raid_open): Likewise.
28213
28214 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28215
28216 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
28217 stack instead of on the heap.
28218
28219 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
28220 before doing a read on it.
28221
28222 * configure.ac: Only use -fno-stack-protector for the target
28223 environment.
28224
28225 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28226
28227 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
28228 __attribute_ ((unused)) to mode_type argument.
28229
28230 * util/getroot.c (grub_guess_root_device): Fix #endif.
28231
28232 * kern/misc.c (memcmp): Fix prototype.
28233
28234 * include/grub/partition.h [GRUB_UTIL]
28235 (grub_gpt_partition_map_init): Add prototype.
28236 (grub_gpt_partition_map_fini): Likewise.
28237
28238 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
28239 at the right place.
28240
28241 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
28242 (grub_fat_read_data): Likewise.
28243 (grub_fat_find_dir): Likewise.
28244
28245 * font/manager.c (find_glyph): Make table a const.
28246 (grub_font_get_glyph): Remove bitmap from if statement.
28247
28248 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
28249
28250 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
28251 code, first search for device in /dev/mapper, then in /dev.
28252 (grub_util_get_grub_dev): New function.
28253 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
28254 prototype.
28255 * util/grub-probe.c (probe): Remove check for RAID, call
28256 grub_util_get_grub_dev() instead of
28257 grub_util_biosdisk_get_grub_dev().
28258 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
28259 grub_util_biosdisk_get_grub_dev().
28260 * util/i386/pc/grub-setup.c (main): Likewise.
28261
28262 2007-05-16 Robert Millan <rmh@aybabtu.com>
28263
28264 * DISTLIST: Update for the latest changes.
28265 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
28266 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
28267 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
28268 grub/util/biosdisk.h.
28269 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
28270 grub/util/biosdisk.h.
28271
28272 2007-05-16 Robert Millan <rmh@aybabtu.com>
28273
28274 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
28275
28276 2007-05-16 Robert Millan <rmh@aybabtu.com>
28277
28278 * util/i386/efi/grub-install.in: New.
28279 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
28280 newly added grub-install.
28281 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
28282 include.
28283 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
28284 grub/util/biosdisk.h.
28285 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
28286 grub/util/biosdisk.h.
28287
28288 2007-05-16 Robert Millan <rmh@aybabtu.com>
28289
28290 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
28291 * include/grub/util/biosdisk.h: ... here.
28292 * util/i386/pc/biosdisk.c: Moved to ...
28293 * util/biosdisk.c: ... here.
28294 * util/i386/pc/getroot.c: Moved to ...
28295 * util/getroot.c: ... here.
28296 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
28297 * util/grub-mkdevicemap.c: ... here.
28298 * util/i386/pc/grub-probe.c: Moved to ...
28299 * util/grub-probe.c: ... here.
28300
28301 2007-05-15 Robert Millan <rmh@aybabtu.com>
28302
28303 * util/update-grub.in: Remove duplicated line in grub.cfg header
28304 message.
28305
28306 2007-05-13 Robert Millan <rmh@aybabtu.com>
28307
28308 * util/update-grub.in: Fix a few assumptions about the devices holding
28309 /, /boot and /boot/grub being the same.
28310 * util/grub.d/00_header.in: Likewise.
28311 * util/grub.d/10_hurd.in: Likewise.
28312 * util/grub.d/10_linux.in: Likewise.
28313
28314 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
28315 patterns. Use that to define the `.old' suffix as older than `'.
28316
28317 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
28318
28319 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
28320 the grub.cfg header message.
28321
28322 2007-05-11 Robert Millan <rmh@aybabtu.com>
28323
28324 * util/update-grub.in: Create device.map if it doesn't already exist,
28325 before attempting to run grub-probe.
28326 Check for grub-probe and grub-mkdevicemap with the same code
28327 grub-install is using.
28328 Remove test mode.
28329
28330 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
28331
28332 * Makefile.in: Add the datarootdir autoconf variable.
28333
28334 2007-05-09 Robert Millan <rmh@aybabtu.com>
28335
28336 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
28337 fail gracefully if dev->disk->partition == NULL.
28338
28339 2007-05-07 Robert Millan <rmh@aybabtu.com>
28340
28341 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
28342 determine partition map module.
28343 * util/i386/pc/grub-install.in: Use this feature to decide which
28344 partition module to load, instead of hardcoding pc and gpt.
28345
28346 2007-05-07 Robert Millan <rmh@aybabtu.com>
28347
28348 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
28349 source directory differs from build directory.
28350
28351 2007-05-05 Robert Millan <rmh@aybabtu.com>
28352
28353 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
28354 initialisation.
28355
28356 2007-05-05 Robert Millan <rmh@aybabtu.com>
28357
28358 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
28359
28360 2007-05-05 Robert Millan <rmh@aybabtu.com>
28361
28362 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
28363 command-line arguments via ${GRUB_CMDLINE_LINUX}.
28364
28365 2007-05-05 Robert Millan <rmh@aybabtu.com>
28366
28367 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
28368 (grub_probe_SOURCES): Likewise.
28369 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
28370 GPT and initialize dos_part and bsd_part accordingly.
28371 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
28372 install_bsd_part.
28373 (main): Activate gpt module for use during partition identification,
28374 and deactivate it afterwards.
28375 * util/i386/pc/grub-install.in: Add gpt module to core.img.
28376 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
28377 partition identification, and deactivate it afterwards.
28378
28379 2007-05-05 Robert Millan <rmh@aybabtu.com>
28380
28381 * term/i386/pc/console.c (grub_console_fini): Call
28382 grub_term_set_current() before grub_term_unregister().
28383
28384 2007-05-04 Robert Millan <rmh@aybabtu.com>
28385
28386 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
28387 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
28388 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
28389 and update-grub_DATA.
28390 * conf/common.rmk: Build and install update-grub components.
28391 * conf/common.mk: Regenerate.
28392 * util/update-grub.in: New. Core of update-grub.
28393 * util/grub.d/00_header.in: New. Generates grub.cfg header.
28394 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
28395 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
28396 * util/grub.d/README: New. Document grub.d directory layout.
28397
28398 2007-05-01 Robert Millan <rmh@aybabtu.com>
28399
28400 * util/grub-emu.c: Move initialization functions
28401 grub_util_biosdisk_init() and grub_init_all() before
28402 grub_util_biosdisk_get_grub_dev(), which relies on them.
28403
28404 2007-04-19 Robert Millan <rmh@aybabtu.com>
28405
28406 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
28407 it is used later.
28408
28409 2007-04-18 Jerone Young <jerone@gmail.com>
28410
28411 * kernel/elf.c: Add missing parenthesis for conditional statement
28412 stanza.
28413
28414 2007-04-10 Jerone Young <jerone@gmail.com>
28415
28416 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
28417 continue on and look for device node with real device name.
28418
28419 2007-04-10 Jerone Young <jerone@gmail.com>
28420
28421 * configure.ac: Add argument for autoconf to use transformation
28422 ability.
28423 * Makefile.in: Add autoconf package transformation code.
28424 * util/i386/pc/grub-install.in: Likewise.
28425 * util/powerpc/ieee1275/grub-install.in: Likewise.
28426
28427 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28428
28429 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
28430 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
28431 (EXT2_REVISION): Likewise.
28432 (EXT2_INODE_SIZE): Likewise.
28433 (struct grub_ext2_block_group): Added a missing member
28434 "used_dirs".
28435 (grub_ext2_read_inode): Divide by the inode size in a superblock
28436 instead of 128 to obtain INODES_PER_BLOCK.
28437 Use the macro EXT2_INODE_SIZE instead of directly using
28438 SBLOCK->INODE_SIZE.
28439
28440 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28441
28442 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
28443 superblock instead of the structure size to compute an
28444 offset. This fixes the problem that GRUB could not read a
28445 filesystem when inode size is different from 128-byte.
28446
28447 2007-03-05 Marco Gerards <marco@gnu.org>
28448
28449 * normal/main.c (read_config_file): When "menu" is not set, create
28450 an initial context.
28451
28452 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28453
28454 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
28455 (HEAP_LIMIT): New macro.
28456 (grub_claim_heap): Claim memory up to `heaplimit'.
28457
28458 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28459
28460 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
28461 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
28462 (_start): Likewise.
28463 (grub_arch_modules_addr): Return address after `_end'.
28464 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
28465 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
28466 (add_segments): Calculate `_end' from phdr size and location.
28467 (ALIGN_UP): Moved to ...
28468 * include/grub/misc.h: here.
28469 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
28470 New macro.
28471 (GRUB_IEEE1275_MODULE_BASE): Removed.
28472
28473 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28474
28475 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
28476 loop boundary.
28477
28478 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28479
28480 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
28481 All users updated.
28482 (grub_elf64_load_hook_t): Likewise.
28483 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
28484 debug output.
28485
28486 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28487
28488 * kern/mm.c: Update copyright.
28489 (grub_mm_debug): Correct syntax error.
28490 (grub_mm_dump_free): New function.
28491 (grub_debug_free): Call `grub_free'.
28492 * include/grub/mm.h: Update copyright.
28493 (grub_mm_dump_free): Add declaration.
28494
28495 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28496
28497 * include/grub/ieee1275/ieee1275.h: Update copyright.
28498 * kern/powerpc/ieee1275/init.c: Likewise.
28499 * kern/powerpc/ieee1275/openfw.c: Likewise.
28500
28501 * loader/powerpc/ieee1275/linux.c: Likewise.
28502 * include/grub/elfload.h: Likewise.
28503 * kern/elf.c: Likewise.
28504 (grub_elf32_load): Pass `base' and `size' parameters. Update all
28505 callers.
28506 (grub_elf64_load): Likewise.
28507 (grub_elf32_load_segment): Move to a nested function.
28508 (grub_elf64_load_segment): Likewise.
28509
28510 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28511
28512 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
28513 prototype.
28514 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
28515 (grub_heap_len): Likewise.
28516 (HEAP_SIZE): New macro.
28517 (grub_claim_heap): New function.
28518 (grub_machine_init): Don't claim heap directly. Call
28519 `grub_claim_heap'.
28520 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
28521 (grub_available_iterate): New function.
28522
28523 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
28524
28525 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
28526 * configure.ac: Use it for testing the HOST and TARGET compilers.
28527
28528 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
28529
28530 * Makefile.in (enable_grub_emu): New variable.
28531 * configure.ac (--enable-grub-emu): New option.
28532 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
28533 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
28534 * conf/i386-pc.rmk: Likewise.
28535 * conf/powerpc-ieee1275.rmk: Likewise.
28536 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
28537
28538 2006-12-12 Marco Gerards <marco@gnu.org>
28539
28540 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
28541
28542 * kern/env.c (grub_env_unset): Don't free the member `value' when
28543 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
28544 pointer.
28545
28546 * normal/main.c (current_menu): Removed.
28547 (free_menu): Unset the `menu' environment variable.
28548 (grub_normal_menu_addentry): Make use of the environment variable
28549 `menu', instead of using the global `current_menu'. Allocate
28550 memory for the sourcecode of this entry.
28551 (read_config_file): New argument `nested', changed all callers.
28552 Only in the case of a new context, initialize a new menu. Set the
28553 `menu' environment variable.
28554 (grub_normal_execute): Don't set and unset the environment
28555 variable `menu' here anymore. Only free the menu when leaving the
28556 context.
28557
28558 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
28559 leak.
28560
28561 2006-12-11 Marco Gerards <marco@gnu.org>
28562
28563 * normal/menu_entry.c (run): Fix off by one bug so the last line
28564 is executed. Move the loader check to outside the loop.
28565
28566 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
28567
28568 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
28569
28570 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
28571
28572 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
28573 the number of sectors. Reported by Andrey Shuvikov
28574 <mr_hyro@yahoo.com>.
28575
28576 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
28577
28578 * kern/disk.c (grub_disk_read): When there is a read error, always
28579 try to read only the necessary data.
28580
28581 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
28582 disk/raid.c.
28583 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
28584 prototype.
28585 [GRUB_UTIL] (grub_raid_fini): Likewise.
28586 [GRUB_UTIL] (grub_lvm_init): Likewise.
28587 [GRUB_UTIL] (grub_lvm_fini): Likewise.
28588 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
28589 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
28590 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
28591 and grub_raid_fini().
28592
28593 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28594
28595 * include/grub/types.h (__unused): Rename to UNUSED.
28596 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
28597 (grub_elf64_size): Likewise.
28598
28599 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28600
28601 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
28602 grub_error_push and grub_error_pop in the error-handling path.
28603 (grub_elf32_load_segment): Only call grub_file_read with non-zero
28604 length.
28605
28606 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28607
28608 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
28609 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28611 (kernel_elf_SOURCES): Likewise.
28612 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
28613 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
28614 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28615 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28616 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
28617 (elf_mod_SOURCES): New variable.
28618 (elf_mod_CFLAGS): Likewise.
28619 (elf_mod_LDFLAGS): Likewise.
28620 * include/grub/types.h (__unused): New macro.
28621 * include/grub/elfload.h: New file.
28622 * kern/elf.c: Likewise.
28623 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
28624 (ELF32_LOADMASK): New macro.
28625 (ELF64_LOADMASK): Likewise.
28626 (vmlinux): Removed.
28627 (grub_linux_load32): New function.
28628 (grub_linux_load64): Likewise.
28629 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
28630 Use grub_elf_t instead of grub_file_t.
28631
28632 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
28633
28634 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
28635 `catch_result' to struct set_color_args.
28636
28637 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28638
28639 * normal/menu.c: Include grub/script.h.
28640 * normal/menu_entry.c: Likewise.
28641 * include/grub/normal.h: Do not include grub/script.h.
28642
28643 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28644
28645 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
28646
28647 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28648
28649 * kern/disk.c (grub_disk_open): Print debug messages when opening a
28650 disk.
28651 (grub_disk_close): Print debug messages when closing a disk.
28652 (grub_disk_read): Print debug messages when disk read fails.
28653 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
28654 filesystem type.
28655 * kern/partition.c: Include misc.h.
28656 (grub_partition_iterate): Print debug messages when detecting
28657 partition type.
28658
28659 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28660
28661 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
28662 is negative.
28663 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
28664
28665 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
28666
28667 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28668 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
28669
28670 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
28671
28672 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
28673 instead of sizeof(lv). Patch by Michael Guntsche.
28674
28675 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
28676
28677 * disk/lvm.c: Rename VGS to VG_LIST.
28678 (grub_lvm_iterate): Change VGS->LV to VG-LV.
28679 (grub_lvm_open): Likewise.
28680 Thanks to Michael Guntsche for finding this bug.
28681
28682 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28683
28684 * configure.ac (AC_INIT): Bumped to 1.95.
28685
28686 2006-10-14 Robert Millan <rmh@aybabtu.com>
28687
28688 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
28689 with "/dev/.static/dev/md".
28690
28691 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28692
28693 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
28694 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
28695 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
28696 DRIVE_NAME are always freed.
28697
28698 * util/i386/pc/biosdisk.c (make_device_name): Add one into
28699 DOS_PART, as a DOS partition is counted from one instead of zero
28700 now. Reported by Robert Millan.
28701
28702 2006-10-14 Robert Millan <rmh@aybabtu.com>
28703
28704 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
28705 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
28706 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
28707 string returned by grub_guess_root_device.
28708 * util/i386/pc/grub-setup.c: Likewise.
28709 * util/i386/pc/grub-probefs.c: Likewise.
28710
28711 * util/i386/pc/grub-probefs.c: Rename to ...
28712 * util/i386/pc/grub-probe.c: ... this.
28713 * DISTLIST: Remove grub-probefs, add grub-probe.
28714 * conf/i386-efi.rmk: Likewise.
28715 * conf/i386-pc.rmk: Likewise.
28716 * util/i386/pc/grub-install.in: Likewise.
28717
28718 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
28719 choose which information we want to print.
28720
28721 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28722
28723 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
28724 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
28725 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
28726 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
28727 video/readers/tga.c and video/i386/pc/vbeutil.c.
28728
28729 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
28730
28731 Added support for RAID and LVM.
28732
28733 * disk/lvm.c: New file.
28734 * disk/raid.c: Likewise.
28735 * include/grub/lvm.h: Likewise.
28736 * include/grub/raid.h: Likewise.
28737 * include/grub/util/lvm.h: Likewise.
28738 * include/grub/util/raid.h: Likewise.
28739 * util/lvm.c: Likewise.
28740 * util/raid.c: Likewise.
28741
28742 * include/grub/disk.h (grub_disk_dev_id): Add
28743 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
28744 (grub_disk_get_size): New prototype.
28745 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
28746 returns a partition.
28747 (grub_disk_get_size): New function.
28748
28749 * kern/i386/pc/init.c (make_install_device): Copy the prefix
28750 verbatim if grub_install_dos_part is -2.
28751
28752 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
28753 and LVM devices.
28754
28755 * util/i386/pc/grub-setup.c (setup): New argument
28756 MUST_EMBED. Force embedding of GRUB when the argument is
28757 true. Close FILE before returning.
28758 (main): Add support for RAID and LVM.
28759
28760 * conf/common.rmk: Add RAID and LVM modules.
28761 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
28762 util/lvm.c.
28763 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
28764
28765 * kern/misc.c (grub_strstr): New function.
28766 * include/grub/misc.h (grub_strstr): New prototype.
28767
28768 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
28769
28770 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
28771
28772 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
28773
28774 * kern/misc.c (grub_strtoull): Guess the base only if not
28775 specified.
28776
28777 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28778
28779 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
28780 PowerMac support.
28781
28782 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28783
28784 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
28785
28786 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
28787 Remove `flags' argument. All callers changed.
28788 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
28789 (IEEE1275_IHANDLE_INVALID): New variable.
28790 (IEEE1275_CELL_INVALID): New variable.
28791 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28792 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
28793 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
28794 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
28795 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
28796 codes from Open Firmware. All callers updated.
28797 (grub_ieee1275_next_property): Directly return Open Firmware return
28798 code.
28799 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28800 Standardize error checking from `grub_ieee1275_get_property'.
28801 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
28802 `devalias' to `aliases'. Correct comments. Consolidate error paths.
28803
28804 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28805
28806 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
28807 `instance_to_package_args' to `instance_to_path_args'.
28808
28809 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
28810 `grub_ieee1275_chosen'.
28811
28812 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
28813 `grub_ieee1275_interpret'.
28814
28815 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28816
28817 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
28818
28819 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28820
28821 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
28822 (__cmpdi): Likewise.
28823
28824 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
28825 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
28826 `grub_ssize_t'.
28827
28828 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
28829
28830 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
28831 to type `grub_ssize_t'.
28832 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
28833
28834 2006-09-22 Marco Gerards <marco@gnu.org>
28835
28836 * normal/script.c (grub_script_create_cmdmenu): Skip leading
28837 newlines.
28838
28839 2006-09-22 Marco Gerards <marco@gnu.org>
28840
28841 * commands/echo.c: New file.
28842
28843 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
28844
28845 * conf/common.rmk (echo_mod_SOURCES): New variable.
28846 (echo_mod_CFLAGS): Likewise.
28847 (echo_mod_LDFLAGS): Likewise.
28848
28849 2006-09-22 Marco Gerards <marco@gnu.org>
28850
28851 * normal/main.c (get_line): Malloc memory instead of using
28852 preallocated memory. Removed the arguments `cmdline' and
28853 `max_len'. Updated all callers.
28854
28855 2006-09-22 Marco Gerards <marco@gnu.org>
28856
28857 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
28858 (normal_mod_DEPENDENCIES): Likewise.
28859
28860 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
28861 (normal_mod_DEPENDENCIES): Likewise.
28862
28863 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
28864
28865 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
28866
28867 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
28868 programs.
28869 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
28870 (normal_mod_DEPENDENCIES): Likewise.
28871 * conf/i386-pc.mk: Regenerate.
28872 * conf/i386-efi.mk: Likewise
28873 * conf/common.mk: Likewise.
28874 * conf/powerpc-ieee1275.mk: Likewise.
28875 * conf/sparc64-ieee1275.mk: Likewise.
28876
28877 2006-09-22 Robert Millan <rmh@aybabtu.com>
28878
28879 Sync with i386 version.
28880 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
28881 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
28882
28883 2006-09-21 Robert Millan <rmh@aybabtu.com>
28884
28885 Import from GRUB Legacy (lib/device.c):
28886 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
28887 (init_device_map) [__linux__]: Add support for I2O devices.
28888
28889 2006-09-14 Marco Gerards <marco@gnu.org>
28890
28891 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
28892 `-melf_i386'.
28893
28894 2006-09-14 Robert Millan <rmh@aybabtu.com>
28895
28896 * util/i386/pc/grub-install.in: Skip menu.lst when removing
28897 /boot/grub/*.lst.
28898
28899 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
28900
28901 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
28902 before adding it to device.map.
28903
28904 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
28905
28906 * genmk.rb: Let GCC generate dependencies the first time it
28907 compiles a file; using the -MD option.
28908 * conf/common.mk: Regenerate.
28909 * conf/i386-pc.mk: Likewise.
28910 * conf/i386-efi.mk: Likewise.
28911 * conf/powerpc-ieee1275.mk: Likewise.
28912 * conf/sparc64-ieee1275.mk: Likewise.
28913
28914 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
28915
28916 Move the prototypes of grub_setjmp and grub_longjmp to
28917 cpu/setjmp.h, so that each architecture may specify different
28918 attributes.
28919
28920 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
28921 (grub_longjmp): Likewise.
28922 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
28923 (grub_longjmp): Likewise.
28924 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
28925 (grub_longjmp): Likewise.
28926
28927 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
28928 [!GRUB_UTIL] (grub_longjmp): Removed.
28929
28930 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
28931
28932 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
28933 "color!" method does not return any value.
28934
28935 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28936
28937 * include/grub/bitmap.h: New file.
28938
28939 * include/grub/i386/pc/vbeutil.h: Likewise.
28940
28941 * video/bitmap.c: Likewise.
28942
28943 * video/readers/tga.c: Likewise.
28944
28945 * video/i386/pc/vbeutil.c: Likewise.
28946
28947 * commands/videotest.c: Code cleanup and updated to reflect to new
28948 video API.
28949
28950 * term/gfxterm.c: Likewise.
28951
28952 * video/video.c: Likewise.
28953
28954 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
28955 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
28956 (bitmap_mod_SOURCES): New entry.
28957 (bitmap_mod_CFLAGS): Likewise.
28958 (bitmap_mod_LDFLAGS): Likewise.
28959 (tga_mod_SOURCES): Likewise.
28960 (tga_mod_CFLAGS): Likewise.
28961 (tga_mod_LDFLAGS): Likewise.
28962
28963 * include/grub/video.h (grub_video_blit_operators): New enum type.
28964 (grub_video_render_target): Changed as forward declaration and moved
28965 actual definition to be video driver specific.
28966 (grub_video_adapter.blit_bitmap): Added blitting operator.
28967 (grub_video_adapter.blit_render_target): Likewise.
28968 (grub_video_blit_bitmap): Likewise.
28969 (grub_video_blit_render_target): Likewise.
28970
28971 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
28972 driver specific render target definition.
28973 (grub_video_vbe_map_rgba): Added driver internal helper.
28974 (grub_video_vbe_unmap_color): Updated to use
28975 grub_video_i386_vbeblit_info.
28976 (grub_video_vbe_get_video_ptr): Likewise.
28977
28978 * include/grub/i386/pc/vbeblit.h
28979 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
28980 grub_video_i386_vbeblit_info.
28981 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28982 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28983 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28984 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28985 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28986 (grub_video_i386_vbeblit_index_index): Likewise.
28987 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
28988 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28989 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28990 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
28991 operator.
28992 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
28993 operator.
28994
28995 * video/i386/pc/vbeblit.c: Updated to reflect changes on
28996 include/grub/i386/pc/vbeblit.h.
28997
28998 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
28999 Updated to use grub_video_i386_vbeblit_info.
29000 (grub_video_i386_vbefill_R8G8B8): Likewise.
29001 (grub_video_i386_vbefill_index): Likewise.
29002 (grub_video_i386_vbefill): Added generic filler.
29003
29004 * video/i386/pc/vbefill.c: Updated to reflect changes on
29005 include/grub/i386/pc/vbefill.h.
29006
29007 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
29008 grub_video_i386_vbeblit_info.
29009 (grub_video_vbe_unmap_color): Likewise.
29010 (grub_video_vbe_blit_glyph): Likewise.
29011 (grub_video_vbe_scroll): Likewise.
29012 (grub_video_vbe_draw_pixel): Removed function.
29013 (grub_video_vbe_get_pixel): Likewise.
29014 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
29015 updated code to use it.
29016 (common_blitter): Added common blitter for render target and bitmap.
29017 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
29018 (grub_video_vbe_blit_render_target): Likewise.
29019
29020 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
29021
29022 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
29023 is in text mode if there is no console control protocol instance
29024 available.
29025
29026 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29027
29028 * include/grub/video.h: Code cleanup.
29029
29030 * include/grub/i386/pc/vbe.h: Likewise.
29031
29032 * video/i386/pc/vbe.c: Likewise.
29033
29034 * video/i386/pc/vbeblit.c: Likewise.
29035
29036 * video/i386/pc/vbefill.c: Likewise.
29037
29038 * video/video.c: Likewise. Also added more comments.
29039
29040 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29041
29042 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
29043 (struct grub_biosdisk_dap): Likewise.
29044
29045 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
29046 linkage settings for all functions.
29047
29048 2006-07-12 Marco Gerards <marco@gnu.org>
29049
29050 * configure.ac (--enable-mm-debug): Fix typo.
29051
29052 * genkernsyms.sh.in: Use proper quoting for `CC'.
29053
29054 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
29055
29056 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
29057 (normal_mod_ASFLAGS): Remove "-m32".
29058
29059 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
29060
29061 * util/misc.c: Include config.h.
29062 [!HAVE_MEMALIGN]: Do not include malloc.h.
29063 (grub_memalign): Use posix_memalign, if present. Then, use
29064 memalign, if present. Otherwise, emit an error.
29065
29066 * util/grub-emu.c: Do not include malloc.h.
29067
29068 * include/grub/util/misc.h: Include unistd.h. This is required for
29069 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
29070 D. Eades III <hde@foobar-qux.org>.
29071
29072 * configure.ac (AC_GNU_SOURCE): Added.
29073 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
29074 type.
29075
29076 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
29077
29078 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
29079 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
29080
29081 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
29082
29083 * include/grub/types.h (grub_host_addr_t): Rename to
29084 grub_target_addr_t.
29085 (grub_host_off_t): Rename to grub_target_off_t.
29086 (grub_host_size_t): Rename to grub_target_size_t.
29087 (grub_host_ssize_t): Rename to grub_target_ssize_t.
29088 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
29089
29090 * include/grub/kernel.h (struct grub_module_header): Change type
29091 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
29092 (grub_module_info): Likewise.
29093
29094 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29095
29096 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
29097 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
29098 Velazquez <jesus.velazquez@gmail.com>.
29099
29100 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29101
29102 Count partitions from 1 instead of 0 in the string representation
29103 of partitions. Still use 0-based internally.
29104
29105 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
29106 (sun_partition_map_iterate): Use grub_partition_t instead of
29107 struct grub_partition *. Cast DESC->START_CYLINDER to
29108 grub_uint64_t after converting the endian.
29109 (sun_partition_map_probe): Subtract 1 for PARTNUM.
29110 (sun_partition_map_get_name): Add 1 to P->INDEX.
29111
29112 * partmap/pc.c (grub_partition_parse): Subtract 1 for
29113 PCDATA->DOS_PART.
29114 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
29115
29116 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
29117 zero instead of one.
29118 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
29119 (gpt_partition_map_get_name): Add 1 into P->INDEX.
29120
29121 * partmap/apple.c (apple_partition_map_iterate): Change the type
29122 of POS to unsigned.
29123 (apple_partition_map_probe): Subtract 1 for PARTNUM.
29124 (apple_partition_map_get_name): Add 1 into P->INDEX.
29125
29126 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
29127 of POS to unsigned.
29128 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
29129 calculate the offset of a partition.
29130 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
29131 (amiga_partition_map_get_name): Add 1 into P->INDEX.
29132
29133 * partmap/acorn.c (acorn_partition_map_find): Change the type of
29134 SECTOR to grub_disk_addr_t.
29135 (acorn_partition_map_iterate): Likewise.
29136 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
29137 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
29138 top.
29139 (acorn_partition_map_get_name): Add 1 into P->INDEX.
29140
29141 * kern/i386/pc/init.c (make_install_device): Add 1 into
29142 GRUB_INSTALL_DOS_PART.
29143
29144 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
29145 conditional.
29146
29147 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29148
29149 Clean up the code to support 64-bit addressing in disks and
29150 files. This change is not enough for filesystems yet.
29151
29152 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
29153 type of "start" to grub_uint64_t.
29154 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
29155 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
29156 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
29157 convert addresses.
29158
29159 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
29160 to grub_disk_addr_t.
29161
29162 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
29163 string.
29164
29165 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29166
29167 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
29168 to char *.
29169
29170 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
29171
29172 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
29173
29174 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
29175
29176 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
29177 to grub_off_t, to detect an error from grub_file_seek.
29178 (grub_multiboot_load_elf32): Likewise.
29179
29180 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
29181 maximum unsigned long value when an overflow is detected.
29182 (grub_strtoull): New function.
29183 (grub_divmod64): Likewise.
29184 (grub_lltoa): use grub_divmod64.
29185
29186 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
29187 grub_disk_addr_t.
29188 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
29189 the pointer to next character. Use grub_strtoull instead of
29190 grub_strtoul.
29191 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
29192 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
29193 respectively.
29194
29195 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
29196 return value is signed.
29197 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
29198 test if OFFSET is less than zero, as OFFSET is unsigned now.
29199
29200 * kern/disk.c (struct grub_disk_cache): Change the type of
29201 "sector" to grub_disk_addr_t.
29202 (grub_disk_cache_get_index): Change the type of SECTOR to
29203 grub_disk_addr_t. Calculate the hash with SECTOR casted to
29204 unsigned after shifting.
29205 (grub_disk_cache_invalidate): Change the type of SECTOR to
29206 grub_disk_addr_t.
29207 (grub_disk_cache_unlock): Likewise.
29208 (grub_disk_cache_store): Likewise.
29209 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
29210 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
29211 grub_disk_addr_t and grub_uint64_t, respectively.
29212 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
29213 body, as the value of OFFSET is tweaked by
29214 grub_disk_check_range. Change the types of START_SECTOR, LEN and
29215 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
29216 respectively.
29217 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
29218 body, as the value of OFFSET is tweaked by
29219 grub_disk_check_range. Change the types of LEN and N to
29220 grub_size_t.
29221
29222 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
29223 and "saved_offset" to grub_off_t.
29224 (test_header): Cast BUF to char *.
29225 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
29226 to char *.
29227 (grub_gzio_read): Change the types of OFFSET and SIZE to
29228 grub_off_t and grub_size_t, respectively.
29229
29230 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
29231 Removed.
29232 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
29233 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
29234 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
29235 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
29236 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
29237
29238 * include/grub/types.h (grub_off_t): Unconditionally set to
29239 grub_uint64_t.
29240 (grub_disk_addr_t): Changed to grub_uint64_t.
29241
29242 * include/grub/partition.h (struct grub_partition): Change the
29243 types of "start", "len" and "offset" to grub_disk_addr_t,
29244 grub_uint64_t and grub_disk_addr_t, respectively.
29245 (grub_partition_get_start): Return grub_disk_addr_t.
29246 (grub_partition_get_len): Return grub_uint64_t.
29247
29248 * include/grub/misc.h (grub_strtoull): New prototype.
29249 (grub_divmod64): Likewise.
29250
29251 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
29252 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
29253 grub_off_t, respectively.
29254 All callers and references changed.
29255
29256 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
29257 grub_size_t in "read".
29258 All callers and references changed.
29259
29260 * include/grub/file.h (struct grub_file): Change the types of
29261 "offset" and "size" to grub_off_t and grub_off_t,
29262 respectively. Change the type of SECTOR to grub_disk_addr_t in
29263 "read_hook".
29264 (grub_file_read): Change the type of LEN to grub_size_t.
29265 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
29266 grub_off_t.
29267 (grub_file_size): Return grub_off_t.
29268 (grub_file_tell): Likewise.
29269 All callers and references changed.
29270
29271 * include/grub/disk.h (struct grub_disk_dev): Change the types of
29272 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
29273 "write".
29274 (struct grub_disk): Change the type of "total_sectors" to
29275 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
29276 "read_hook".
29277 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
29278 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
29279 (grub_disk_write): Likewise.
29280 All callers and references changed.
29281
29282 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
29283 char * for grub_strncmp to silence gcc.
29284 (grub_iso9660_mount): Likewise.
29285 (grub_iso9660_mount): Likewise.
29286 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
29287 return statement.
29288 (grub_iso9660_iterate_dir): Likewise.
29289 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
29290
29291 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
29292 LEN to grub_disk_addr_t and grub_size_t, respectively.
29293
29294 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29295
29296 * fs/jfs.c (grub_jfs_read_file): Likewise.
29297
29298 * fs/minix.c (grub_jfs_read_file): Likewise.
29299
29300 * fs/sfs.c (grub_jfs_read_file): Likewise.
29301
29302 * fs/ufs.c (grub_jfs_read_file): Likewise.
29303
29304 * fs/xfs.c (grub_jfs_read_file): Likewise.
29305
29306 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
29307 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
29308 respectively.
29309
29310 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
29311 BLKNR to -1 instead of returning GRUB_ERRNO.
29312 (grub_ext2_read_file): Change the types of SECTOR and
29313 LEN to grub_disk_addr_t and grub_size_t, respectively.
29314
29315 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
29316 LEN to grub_disk_addr_t and grub_size_t, respectively.
29317
29318 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
29319 grub_file_read.
29320
29321 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
29322 string. Do not cast SECTOR explicitly.
29323
29324 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
29325 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
29326 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
29327 grub_disk_addr_t and grub_size_t, respectively. If the sector is
29328 over 2TB and LBA mode is not supported, raise an error.
29329 (get_safe_sectors): New function.
29330 (grub_biosdisk_read): Use get_safe_sectors.
29331 (grub_biosdisk_write): Likewise.
29332
29333 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
29334 (grub_efidisk_write): Likewise.
29335
29336 * disk/loopback.c (delete_loopback): Cosmetic changes.
29337 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
29338 correctly.
29339 (grub_loopback_open): Likewise.
29340 (grub_loopback_read): Likewise. Also, change the type of POS to
29341 grub_off_t, and fix the usage of grub_memset.
29342
29343 * commands/i386/pc/play.c: Include grub/machine/time.h.
29344
29345 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
29346 print FILE->SIZE.
29347
29348 * commands/configfile.c: Include grub/env.h.
29349
29350 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
29351 GRUB_ERRNO directly instead. Change the type of POS to
29352 grub_off_t. Follow the coding standard.
29353
29354 * commands/blocklist.c: Include grub/partition.h.
29355 (grub_cmd_blocklist): Return an error if the underlying device is
29356 not a disk. Take the starting sector of a partition into account,
29357 if a partition is used.
29358
29359 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
29360 a length field.
29361 (lba_mode): Support 64-bit addresses.
29362 (chs_mode): Likewise.
29363 (copy_buffer): Adapted to the new offsets of a length field and a
29364 segment field.
29365 (blocklist_default_start): Allocate 64-bit space.
29366
29367 * boot/i386/pc/boot.S (force_lba): Removed.
29368 (boot_drive): Moved to under KERNEL_SECTOR.
29369 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
29370 space.
29371 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
29372 is useless.
29373 (lba_mode): Refactored to support a 64-bit address. More size
29374 optimization.
29375 (setup_sectors): Likewise.
29376
29377 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29378
29379 * DISTLIST: Added include/grub/i386/linux.h. Removed
29380 include/grub/i386/pc/linux.h
29381
29382 * configure.ac (AC_INIT): Bumped to 1.94.
29383
29384 * config.guess: Updated from gnulib.
29385 * config.sub: Likewise.
29386 * install-sh: Likewise.
29387 * mkinstalldirs: Likewise.
29388
29389 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29390
29391 * conf/common.rmk (grub_modules_init.lst): Depended on
29392 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
29393 MODSRCFILES.
29394
29395 * genmk.rb (PModule::rule): Reverted the previous change.
29396
29397 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29398
29399 * conf/common.rmk (grub_modules_init.lst): Depends on
29400 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
29401 that the target does not exist before producing.
29402 (grub_modules_init.h): Remove the target before generating.
29403 (grub_emu_init.c): Likewise.
29404
29405 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
29406
29407 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
29408
29409 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
29410 for the target-specific tests. Make sure that we also have the
29411 up-to-date target variables for those tests.
29412
29413 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29414
29415 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
29416 (PModule::rule): Likewise.
29417
29418 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29419
29420 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
29421 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
29422 target-specific flags should be prefixed.
29423 (PModule::rule): Likewise.
29424
29425 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
29426
29427 * configure.ac (CMP): Check if cmp is available explicitly.
29428
29429 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
29430
29431 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
29432 (target_cpu): New variable.
29433 (pkglibdir): Use target_cpu instead of host_cpu.
29434
29435 * util/i386/pc/grub-install.in (host_cpu): Removed.
29436 (target_cpu): New variable.
29437 (pkglibdir): Use target_cpu instead of host_cpu.
29438
29439 * util/genmoddep.c: Removed.
29440
29441 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
29442 instead of GRUB_HOST_SIZEOF_VOID_P.
29443 * kern/dl.c: Likewise.
29444
29445 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
29446 ...
29447 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29448 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29449 (GRUB_TARGET_SIZEOF_LONG): ... this.
29450 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29451 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29452 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29453 to ...
29454 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29455 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29456 (GRUB_TARGET_SIZEOF_LONG): ... this.
29457 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29458 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29459 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29460 to ...
29461 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29462 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29463 (GRUB_TARGET_SIZEOF_LONG): ... this.
29464 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29465 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29466
29467 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
29468 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
29469 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
29470 instead of GRUB_HOST_SIZEOF_LONG.
29471 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
29472 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
29473 GRUB_CPU_WORDS_BIGENDIAN.
29474 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
29475 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
29476 grub_host_ssize_t.
29477
29478 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
29479 (genmoddep_SOURCES): Likewise.
29480 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
29481 (genmoddep_SOURCES): Likewise.
29482 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
29483 (genmoddep_SOURCES): Likewise.
29484 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
29485 Likewise.
29486 (genmoddep_SOURCES): Likewise.
29487
29488 * genmoddep.awk: New file.
29489
29490 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
29491 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
29492 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
29493 (PModule::rule): Likewise.
29494 (Program::rule): Likewise.
29495 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
29496 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
29497 respectively.
29498
29499 * configure.ac: Rewritten intensively to use host and target
29500 instead of build and host, respectively.
29501
29502 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
29503 (host_cpu): Removed.
29504 (target_cpu): New variable.
29505 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
29506 (BUILD_CC): Removed.
29507 (BUILD_CFLAGS): Likewise.
29508 (BUILD_CPPFLAGS): Likewise.
29509 (TARGET_CC): New variable.
29510 (TARGET_CFLAGS): Likewise.
29511 (TARGET_CPPFLAGS): Likewise.
29512 (TARGET_LDFLAGS): Likewise.
29513 (AWK): Likewise.
29514 (include): Use target_cpu instead of host_cpu.
29515 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
29516
29517 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
29518
29519 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
29520
29521 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
29522 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
29523 field 'false' to 'exec_on_false'.
29524 (grub_script_create_cmdif): Renamed argument names to reflect above
29525 changes.
29526
29527 * normal/execute.c (grub_script_execute_cmdif): Likewise.
29528
29529 * normal/script.c (grub_script_create_cmdif): Likewise.
29530
29531 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
29532
29533 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
29534 top.
29535 (grub_hfsplus_btree_recptr): Likewise.
29536 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
29537 FILEBLOCK both to pass a block number and store next block
29538 number.
29539 (grub_hfsplus_read_block): Rewritten heavily to support an extent
29540 overflow file correctly. Specify errors appropriately, because
29541 fshelp expects that GRUB_ERRNO is set when fails. Reuse
29542 grub_hfsplus_btree_recptr to get the pointer to a found key.
29543 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
29544 is found.
29545
29546 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
29547 linux.mod.
29548 (_linux_mod_SOURCES): New variable.
29549 (_linux_mod_CFLAGS): Likewise.
29550 (_linux_mod_LDFLAGS): Likewise.
29551 (linux_mod_SOURCES): Likewise.
29552 (linux_mod_CFLAGS): Likewise.
29553 (linux_mod_LDFLAGS): Likewise.
29554
29555 * DISTLIST: Added loader/i386/efi/linux.c,
29556 loader/i386/efi/linux_normal.c and
29557 include/grub/i386/efi/loader.h.
29558
29559 * loader/i386/efi/linux.c: New file.
29560 * loader/i386/efi/linux_normal.c: Likewise.
29561 * include/grub/i386/efi/loader.h: Likewise.
29562
29563 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
29564
29565 * commands/blocklist.c: New file.
29566
29567 * DISTLIST: Added commands/blocklist.c.
29568
29569 * term/efi/console.c (grub_console_highlight_color): Use a lighter
29570 color for the background, and a darker color for the foreground.
29571 (grub_console_checkkey): Return READ_KEY.
29572 (grub_console_cls): Set the background to
29573 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
29574
29575 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
29576
29577 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
29578 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
29579
29580 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
29581 prototype.
29582
29583 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
29584 BG. The spec is wrong again.
29585
29586 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
29587 prototype.
29588 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
29589
29590 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29591 commands/blocklist.c.
29592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29593
29594 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
29595 (blocklist_mod_SOURCES): New variable.
29596 (blocklist_mod_CFLAGS): Likewise.
29597 (blocklist_mod_LDFLAGS): Likewise.
29598
29599 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
29600
29601 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
29602 duplication.
29603 (lba_mode): Use %eax more intensively to reduce the code size.
29604
29605 2006-05-20 Marco Gerards <marco@gnu.org>
29606
29607 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
29608
29609 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
29610 for `menuentry'.
29611 (script): Accept leading newlines.
29612 (newlines): New rule to describe 0 or more newlines.
29613 (commands): Accept `command' with trailing newline. Fixed the
29614 order in which arguments were passed to `grub_script_add_cmd'.
29615 Accept commands separated by newlines.
29616 (function): Changed to accept newlines.
29617 (menuentry) Rewritten.
29618
29619 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
29620 front of the list, instead of to the end.
29621
29622 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
29623
29624 * util/i386/pc/grub-install.in (bindir): New variable.
29625 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
29626 Shaver <lbgwjl@gmail.com>.
29627
29628 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
29629
29630 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
29631 grub/machine/linux.h
29632 * loader/i386/pc/linux.c: Likewise.
29633
29634 * include/grub/i386/pc/linux.h: Moved to ...
29635 * include/grub/i386/linux.h: ... here.
29636
29637 * include/grub/i386/linux.h (struct linux_kernel_params): New
29638 struct.
29639
29640 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
29641
29642 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
29643 checking.
29644 (grub_video_vbe_blit_glyph): Likewise.
29645 (grub_video_vbe_blit_bitmap): Likewise.
29646 (grub_video_vbe_blit_render_target): Likewise.
29647
29648 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
29649
29650 * configure.ac (--with-platform): Properly quote the square
29651 brackets.
29652
29653 2006-05-08 Marco Gerards <marco@gnu.org>
29654
29655 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
29656 this...
29657 (kernel_elf_HEADERS): ...to this. Updated all users.
29658 (grubof_symlist.c): Renamed from this...
29659 (kernel_elf_symlist.c): ...to this. Updated all users.
29660 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29661 (grubof_SOURCES): Renamed from this...
29662 (kernel_elf_SOURCES): ...to this.
29663 (grubof_HEADERS): Renamed from this...
29664 (kernel_elf_HEADERS): ...to this.
29665 (grubof_CFLAGS): Renamed from this...
29666 (kernel_elf_CFLAGS): ...to this.
29667 (grubof_ASFLAGS): Renamed from this...
29668 (kernel_elf_ASFLAGS): ...to this.
29669 (grubof_LDFLAGS): Renamed from this...
29670 (kernel_elf_LDFLAGS): ...to this.
29671
29672 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
29673 this...
29674 (kernel_elf_HEADERS): ...to this. Updated all users.
29675 (grubof_symlist.c): Renamed from this...
29676 (kernel_elf_symlist.c): ...to this. Updated all users.
29677 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29678 (grubof_SOURCES): Renamed from this...
29679 (kernel_elf_SOURCES): ...to this.
29680 (grubof_HEADERS): Renamed from this...
29681 (kernel_elf_HEADERS): ...to this.
29682 (grubof_CFLAGS): Renamed from this...
29683 (kernel_elf_CFLAGS): ...to this.
29684 (grubof_ASFLAGS): Renamed from this...
29685 (kernel_elf_ASFLAGS): ...to this.
29686 (grubof_LDFLAGS): Renamed from this...
29687 (kernel_elf_LDFLAGS): ...to this.
29688
29689 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
29690 `kernel.elf' instead of `grubof'.
29691
29692 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
29693
29694 Add --with-platform to configure. Use pkglibdir instead of
29695 pkgdatadir. This is reported by Roger Leigh.
29696
29697 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
29698 (host_vendor): Likewise.
29699 (host_os): Likewise.
29700 (pkgdatadir): Likewise.
29701 (platform): New variable.
29702 (pkglibdir): Likewise.
29703 Use PKGLIBDIR instead of PKGDATADIR.
29704
29705 * util/i386/pc/grub-install.in (datadir): Removed.
29706 (host_vendor): Likewise.
29707 (host_os): Likewise.
29708 (pkgdatadir): Likewise.
29709 (platform): New variable.
29710 (pkglibdir): Likewise.
29711 Use PKGLIBDIR instead of PKGDATADIR.
29712
29713 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
29714 instead of GRUB_DATADIR.
29715 (main): Likewise.
29716 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29717 (main): Likewise.
29718 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29719 (main): Likewise.
29720
29721 * configure.ac (--with-platform): New option.
29722 Use PLATFORM instead of HOST_VENDOR to specify a platform.
29723
29724 * Makefile.in: Include a makefile based on PLATFORM instead of
29725 HOST_VENDOR.
29726 (pkgdatadir): Not appended by the machine type.
29727 (pkglibdir): Appended by the machine type.
29728 (host_vendor): Removed.
29729 (platform): New variable.
29730 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
29731 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
29732 (uninstall): Likewise.
29733
29734 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
29735
29736 Use the environment context in the menu. Remove the commands
29737 "default" and "timeout", and use variables instead.
29738
29739 * normal/menu.c: Include grub/env.h.
29740 (print_entry): Cast TITLE to silence gcc.
29741 (get_timeout): New function.
29742 (set_timeout): Likewise.
29743 (get_entry_number): Likewise.
29744 (run_menu): Use a default entry, a fallback entry and a timeout
29745 in the environment variables "default", "fallback" and
29746 "timeout". Also, tweak the default entry if it is not within the
29747 current menu entries.
29748 (grub_menu_run): Use a fallback entry in the environment variable
29749 "fallback".
29750
29751 * normal/main.c (read_config_file): Do not initialize
29752 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
29753 NEWMENU->TIMEOUT.
29754 (grub_normal_execute): Use a data slot to store the menu.
29755
29756 * include/grub/normal.h (struct grub_menu): Removed default_entry,
29757 fallback_entry and timeout.
29758 (struct grub_menu_list): Removed.
29759 (grub_menu_list_t): Likewise.
29760 (struct grub_context): Likewise.
29761 (grub_context_t): Likewise.
29762 (grub_context_get): Likewise.
29763 (grub_context_get_current_menu): Likewise.
29764 (grub_context_push_menu): Likewise.
29765 (grub_context_pop_menu): Likewise.
29766 (grub_default_init): Likewise.
29767 (grub_default_fini): Likewise.
29768 (grub_timeout_init): Likewise.
29769 (grub_timeout_fini): Likewise.
29770
29771 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
29772 and timeout.mod.
29773 (normal_mod_SOURCES): Removed normal/context.c.
29774
29775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
29776 commands/default.c, commands/timeout.c and normal/context.c.
29777 (normal_mod_SOURCES): Removed normal/context.c.
29778
29779 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
29780 commands/timeout.c and normal/context.c.
29781 (normal_mod_SOURCES): Removed normal/context.c.
29782
29783 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
29784 commands/default.c, commands/timeout.c and normal/context.c.
29785 (normal_mod_SOURCES): Removed normal/context.c.
29786
29787 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
29788 timeout.mod.
29789 (default_mod_SOURCES): Removed.
29790 (default_mod_CFLAGS): Likewise.
29791 (default_mod_LDFLAGS): Likewise.
29792 (timeout_mod_SOURCES): Removed.
29793 (timeout_mod_CFLAGS): Likewise.
29794 (timeout_mod_LDFLAGS): Likewise.
29795
29796 * DISTLIST: Removed commands/default.c, commands/timeout.c and
29797 normal/context.c.
29798
29799 * commands/default.c: Removed.
29800 * commands/timeout.c: Likewise.
29801 * normal/context.c: Likewise.
29802
29803 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
29804
29805 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
29806
29807 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
29808
29809 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
29810 "next" to "prev" for readability.
29811 (struct grub_env_sorted_var): New struct.
29812 (grub_env_context): Renamed to ...
29813 (initial_context): ... this.
29814 (grub_env_var_context): Renamed to ...
29815 (current_context): ... this.
29816 (grub_env_find): Look only at CURRENT_CONTEXT.
29817 (grub_env_context_open): Rewritten to copy exported variables from
29818 previous context.
29819 (grub_env_context_close): Rewritten according to the new
29820 scheme. Also, add an assertion to prevent the initial context from
29821 removed.
29822 (grub_env_insert): Removed the code for the sorted list.
29823 (grub_env_remove): Likewise.
29824 (grub_env_export): Simply mark the variable with
29825 GRUB_ENV_VAR_GLOBAL.
29826 (grub_env_set): A cosmetic change for naming consistency.
29827 (grub_env_get): Likewise.
29828 (grub_env_unset): Likewise.
29829 (grub_env_iterate): Rewritten to sort variables within this
29830 function.
29831 (grub_register_variable_hook): Fixed for naming consistency. Call
29832 grub_env_find again, only if NAME is not found at the first time.
29833 (mangle_data_slot_name): New function.
29834 (grub_env_set_data_slot): Likewise.
29835 (grub_env_get_data_slot): Likewise.
29836 (grub_env_unset_data_slot): Likewise.
29837
29838 * include/grub/env.h (grub_env_var_type): New enum.
29839 (GRUB_ENV_VAR_LOCAL): New constant.
29840 (GRUB_ENV_VAR_GLOBAL): Likewise.
29841 (GRUB_ENV_VAR_DATA): Likewise.
29842 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
29843 "type".
29844 (grub_env_set): Replace VAR with NAME for consistency.
29845 (grub_register_variable_hook): Likewise.
29846 (grub_env_export): Specify the name of the argument.
29847 (grub_env_set_data_slot): New prototype.
29848 (grub_env_get_data_slot): Likewise.
29849 (grub_env_unset_data_slot): Likewise.
29850
29851 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29852
29853 Extend the loader so that GRUB can accept a loader which comes
29854 back to GRUB when a loaded image exits. Also, this change adds
29855 support for a chainloader on EFI.
29856
29857 * term/efi/console.c: Include grub/misc.h.
29858 (grub_console_checkkey): Display a scan code on the top for
29859 debugging. This will be removed once the EFI port gets stable.
29860 Correct the scan code mapping.
29861
29862 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
29863 allocate memory from larger regions, in order to reduce the number
29864 of allocated regions. Otherwise, the MacOSX loader panics.
29865 (filter_memory_map): Avoid less than 1MB for compatibility with
29866 other loaders.
29867 (add_memory_regions): Allocate from the tail of a region, if
29868 possible, to avoid allocating a region near to 1MB, for the MacOSX
29869 loader.
29870
29871 * kern/efi/init.c (grub_efi_set_prefix): Specify
29872 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
29873
29874 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
29875 argument IMAGE_HANDLE and specify it to get a loaded image.
29876 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
29877 grub_efi_get_loaded_image.
29878 (grub_efi_get_filename): Divide the length by the size of
29879 grub_efi_char16_t.
29880 (grub_efi_get_device_path): New function.
29881 (grub_efi_print_device_path): Print End Device Path nodes. Divide
29882 the length by the size of grub_efi_char16_t for a file path device
29883 path node.
29884
29885 * kern/loader.c (grub_loader_noreturn): New variable.
29886 (grub_loader_set): Accept a new argument NORETURN. Set
29887 GRUB_LOADER_NORETURN to NORETURN.
29888 All callers changed.
29889 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
29890 grub_machine_fini.
29891
29892 * include/grub/efi/efi.h (grub_efi_get_device_path): New
29893 prototype.
29894 (grub_efi_get_loaded_image): Take an argument to specify an image
29895 handle.
29896
29897 * include/grub/loader.h (grub_loader_set): Added one more argument
29898 NORETURN.
29899
29900 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
29901 instead of grub_efi_open_protocol.
29902 (grub_efidisk_get_device_name): Likewise.
29903 (grub_efidisk_close): Print a newline.
29904 (grub_efidisk_get_device_handle): Fixed to use
29905 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
29906 GRUB_EFI_DEVICE_PATH_TYPE.
29907
29908 * disk/efi/efidisk.c (device_path_guid): Moved to ...
29909 * kern/efi/efi.c (device_path_guid): ... here.
29910
29911 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
29912 chain.mod.
29913 (kernel_mod_HEADERS): Added efi/disk.h.
29914 (_chain_mod_SOURCES): New variable.
29915 (_chain_mod_CFLAGS): Likewise.
29916 (_chain_mod_LDFLAGS): Likewise.
29917 (chain_mod_SOURCES): Likewise.
29918 (chain_mod_CFLAGS): Likewise.
29919 (chain_mod_LDFLAGS): Likewise.
29920
29921 * DISTLIST: Added include/grub/efi/chainloader.h,
29922 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
29923
29924 * include/grub/efi/chainloader.h: New file.
29925 * loader/efi/chainloader.c: Likewise.
29926 * loader/efi/chainloader_normal.c: Likewise.
29927
29928 2006-04-30 Marco Gerards <marco@gnu.org>
29929
29930 * commands/configfile.c (grub_cmd_source): New function.
29931 (GRUB_MOD_INIT): Register the commands `source' and `.'.
29932 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
29933
29934 2006-04-30 Marco Gerards <marco@gnu.org>
29935
29936 * normal/execute.c (grub_script_execute_cmd): Change the return
29937 type to `grub_err_t'. Correctly return the error.
29938 (grub_script_execute_cmdline): In case a command line is not a
29939 command or a function, try to interpret it as an assignment.
29940
29941 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29942
29943 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
29944 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
29945 skip a node whose name is obviously invalid as UTF-16,
29946 i.e. contains a NUL character. Stop the iteration when the last
29947 directory entry is found. Instead of using the return value of
29948 grub_hfsplus_btree_iterate_node, store the value in RET and use
29949 it, because the iterator can be stopped by the last directory
29950 entry.
29951
29952 2006-04-30 Marco Gerards <marco@gnu.org>
29953
29954 * include/grub/env.h (grub_env_export): New prototype. Reported
29955 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
29956
29957 2006-04-30 Marco Gerards <marco@gnu.org>
29958
29959 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
29960 size of the extents in a catalog file record.
29961
29962 2006-04-29 Marco Gerards <marco@gnu.org>
29963
29964 * commands/configfile.c (grub_cmd_configfile): Execute the
29965 configfile within its own context.
29966
29967 * include/grub/env.h (grub_env_context_open): New prototype.
29968 (grub_env_context_close): Likewise.
29969
29970 * kern/env.c (grub_env): Removed.
29971 (grub_env_sorted): Likewise.
29972 (grub_env_context): New variable.
29973 (grub_env_var_context): Likewise.
29974 (grub_env_find): Search both the active context and the global
29975 context.
29976 (grub_env_context_open): New function.
29977 (grub_env_context_close): Likewise.
29978 (grub_env_insert): Likewise.
29979 (grub_env_remove): Likewise.
29980 (grub_env_export): Likewise.
29981 (grub_env_set): Changed to use helper functions to avoid code
29982 duplication.
29983 (grub_env_iterate): Rewritten so both the current context and the
29984 global context are being used.
29985
29986 * normal/command.c (export_command): New function.
29987 (grub_command_init): Register the `export' function.
29988
29989 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
29990
29991 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
29992 explicitly to suppress gcc's warnings.
29993 * fs/fat.c (grub_fat_find_dir): Likewise.
29994 (grub_fat_label): Likewise.
29995 * fs/xfs.c (grub_xfs_read_inode): Likewise.
29996 (grub_xfs_mount): Likewise.
29997 (grub_xfs_label): Likewise.
29998 * fs/affs.c (grub_affs_mount): Likewise.
29999 (grub_affs_label): Likewise.
30000 (grub_affs_iterate_dir): Likewise.
30001 * fs/sfs.c (grub_sfs_mount): Likewise.
30002 (grub_sfs_iterate_dir): Likewise.
30003 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
30004 * fs/hfs.c (grub_hfs_mount): Likewise.
30005 (grub_hfs_cmp_catkeys): Likewise.
30006 (grub_hfs_find_dir): Likewise.
30007 (grub_hfs_dir): Likewise.
30008 (grub_hfs_label): Likewise.
30009 * fs/jfs.c (grub_jfs_mount): Likewise.
30010 (grub_jfs_opendir): Likewise.
30011 (grub_jfs_getent): Likewise.
30012 (grub_jfs_lookup_symlink): Likewise.
30013 (grub_jfs_label): Likewise.
30014 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
30015 (grub_hfsplus_iterate_dir): Likewise.
30016 (grub_hfsplus_btree_iterate_node): Made static.
30017
30018 * util/grub-emu.c (prefix): New variable.
30019 (grub_machine_set_prefix): New function.
30020 (main): Do not set the environment variable "prefix" here. Only
30021 set PREFIX, which is used later by grub_machine_set_prefix.
30022
30023 * include/grub/video.h: Do not include grub/symbol.h.
30024 (grub_video_register): Not exported. This symbol is not defined in
30025 the kernel.
30026 (grub_video_unregister): Likewise.
30027 (grub_video_iterate): Likewise.
30028 (grub_video_setup): Likewise.
30029 (grub_video_restore): Likewise.
30030 (grub_video_get_info): Likewise.
30031 (grub_video_get_blit_format): Likewise.
30032 (grub_video_set_palette): Likewise.
30033 (grub_video_get_palette): Likewise.
30034 (grub_video_set_viewport): Likewise.
30035 (grub_video_get_viewport): Likewise.
30036 (grub_video_map_color): Likewise.
30037 (grub_video_map_rgb): Likewise.
30038 (grub_video_map_rgba): Likewise.
30039 (grub_video_fill_rect): Likewise.
30040 (grub_video_blit_glyph): Likewise.
30041 (grub_video_blit_bitmap): Likewise.
30042 (grub_video_blit_render_target): Likewise.
30043 (grub_video_scroll): Likewise.
30044 (grub_video_swap_buffers): Likewise.
30045 (grub_video_create_render_target): Likewise.
30046 (grub_video_delete_render_target): Likewise.
30047 (grub_video_set_active_render_target): Likewise.
30048
30049 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
30050 Undefined.
30051 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
30052
30053 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
30054 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30055 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30056 instead of $(srcdir)/genkernsyms.sh.
30057
30058 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
30059 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30060 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30061 instead of $(srcdir)/genkernsyms.sh.
30062
30063 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
30064 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30065 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30066 instead of $(srcdir)/genkernsyms.sh.
30067
30068 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
30069 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30070 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30071 instead of $(srcdir)/genkernsyms.sh.
30072
30073 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
30074 genkernsyms.sh.
30075
30076 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
30077 genkernsyms.sh.
30078 (gensymlist.sh): New target.
30079 (genkernsyms.sh): Likewise.
30080
30081 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
30082 genkernsyms.sh.in and gensymlist.sh.in.
30083
30084 * genkernsyms.sh: Removed.
30085 * gensymlist.sh: Likewise.
30086
30087 * genkernsyms.sh.in: New file.
30088 * gensymlist.sh.in: Likewise.
30089
30090 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30091
30092 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
30093 clobber "prefix", since we may have already set it manually.
30094
30095 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30096
30097 * kern/misc.c (abort): New alias for grub_abort.
30098
30099 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
30100
30101 A new machine-specific function "grub_machine_set_prefix" is
30102 defined. This is called after loading modules, so that a prefix
30103 initialization can use modules. Also, this change adds an
30104 intensive debugging feature for the memory manager via the
30105 configure option "--enable-mm-debug".
30106
30107 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
30108 PART.LEN.
30109
30110 * kern/sparc64/ieee1275/init.c (abort): Removed.
30111 (grub_stop): Likewise.
30112 (grub_exit): New function.
30113 (grub_set_prefix): Renamed to ...
30114 (grub_machine_set_prefix): ... this.
30115 (grub_machine_init): Do not call grub_set_prefix.
30116
30117 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
30118 (grub_machine_set_prefix): ... this.
30119 (grub_machine_init): Do not call grub_set_prefix.
30120
30121 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
30122 (grub_machine_init): Do not set the prefix here.
30123
30124 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
30125
30126 * kern/efi/init.c: Include grub/mm.h.
30127 (grub_efi_set_prefix): New function.
30128
30129 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
30130 (grub_efi_get_filename): New function.
30131 (grub_print_device_path): Renamed to ...
30132 (grub_efi_print_device_path): ... this.
30133
30134 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
30135 [MM_DEBUG] (grub_realloc): Likewise.
30136 [MM_DEBUG] (grub_free): Likewise.
30137 [MM_DEBUG] (grub_memalign): Likewise.
30138 [MM_DEBUG] (grub_mm_debug): New variable.
30139 [MM_DEBUG] (grub_debug_malloc): New function.
30140 [MM_DEBUG] (grub_debug_free): New function.
30141 [MM_DEBUG] (grub_debug_realloc): New function.
30142 [MM_DEBUG] (grub_debug_memalign): New function.
30143
30144 * kern/misc.c (grub_abort): Print a newline to distinguish
30145 the message.
30146
30147 * kern/main.c (grub_main): Call grub_machine_set_prefix and
30148 grub_set_root_dev after loading modules. This is necessary when
30149 setting a prefix depends on modules.
30150
30151 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
30152 (grub_efi_print_device_path): ... this.
30153 (grub_efi_get_filename): New prototype.
30154 (grub_efi_set_prefix): Likewise.
30155
30156 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
30157 and grub/disk.h.
30158 (grub_efidisk_get_device_handle): New prototype.
30159 (grub_efidisk_get_device_name): Likewise.
30160
30161 * include/grub/mm.h: Include config.h.
30162 (MM_DEBUG): Removed.
30163 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
30164 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
30165 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
30166 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
30167 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
30168 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
30169 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
30170 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
30171 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
30172
30173 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
30174
30175 * disk/efi/efidisk.c: Include grub/partition.h.
30176 (iterate_child_devices): New function.
30177 (add_device): First, compare only last device path nodes, so that
30178 devices are sorted by the types.
30179 (grub_efidisk_get_device_handle): New function.
30180 (grub_efidisk_get_device_name): Likewise.
30181
30182 * configure.ac (--enable-mm-debug): New option to enable the
30183 memory manager debugging feature. This makes the binary much
30184 bigger, so is disabled by default.
30185
30186 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
30187
30188 Use grub_abort instead of grub_stop, and grub_exit must be
30189 define in each architecture now. Also, this change adds support
30190 for EFI disks.
30191
30192 * util/i386/pc/grub-probefs.c: Include grub/term.h.
30193 (grub_getkey): New function.
30194 (grub_term_get_current): Likewise.
30195
30196 * util/i386/pc/grub-setup.c: Include grub/term.h.
30197 (grub_getkey): New function.
30198 (grub_term_get_current): Likewise.
30199
30200 * util/misc.c (grub_stop): Renamed to ...
30201 (grub_exit): ... this.
30202
30203 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
30204 (grub_exit): ... this.
30205 (grub_machine_init): Use grub_abort instead of abort.
30206 (grub_stop): Removed.
30207
30208 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
30209 abort.
30210
30211 * kern/i386/pc/startup.S (grub_exit): New function.
30212 (cold_reboot): New label.
30213
30214 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
30215 (grub_efi_init): Call grub_efidisk_init.
30216 (grub_efi_fini): Call grub_efidisk_fini.
30217
30218 * kern/efi/efi.c: Include grub/mm.h.
30219 (grub_efi_console_control_guid): Renamed to ...
30220 (console_control_guid): ... this.
30221 (grub_efi_loaded_image_guid): Renamed to ...
30222 (loaded_image_guid): ... this.
30223 (grub_efi_locate_handle): New function.
30224 (grub_efi_open_protocol): Likewise.
30225 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
30226 GRUB_EFI_CONSOLE_CONTROL_GUID.
30227 (grub_efi_exit): Removed.
30228 (grub_stop): Likewise.
30229 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
30230 (grub_exit): New function.
30231 (grub_print_device_path): Likewise.
30232
30233 * kern/rescue.c (grub_rescue_cmd_exit): New function.
30234 (grub_enter_rescue_mode): Register "exit".
30235
30236 * kern/misc.c (grub_real_dprintf): A cosmetic change.
30237 (grub_abort): New function.
30238
30239 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
30240
30241 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
30242
30243 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
30244
30245 * include/grub/efi/efi.h (grub_efi_exit): Removed.
30246 (grub_print_device_path): New prototype.
30247 (grub_efi_locate_handle): Likewise.
30248 (grub_efi_open_protocol): Likewise.
30249
30250 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
30251 * disk/efi/efidisk.c: Likewise.
30252
30253 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
30254
30255 * include/grub/efi/console_control.h
30256 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
30257
30258 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
30259 last 8 bytes as an array.
30260 (GRUB_EFI_DISK_IO_GUID): New macro.
30261 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
30262 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
30263 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
30264 grub_uint8_t.
30265 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
30266 (struct grub_efi_device_path): Rename the member "sub_type" to
30267 "subtype".
30268 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
30269 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
30270 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
30271 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
30272 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
30273 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
30274 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
30275 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
30276 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
30277 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
30278 (struct grub_efi_pci_device_path): New structure.
30279 (grub_efi_pci_device_path_t): New type.
30280 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
30281 (struct grub_efi_pccard_device_path): New structure.
30282 (grub_efi_pccard_device_path_t): New type.
30283 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
30284 (struct grub_efi_memory_mapped_device_path): New structure.
30285 (grub_efi_memory_mapped_device_path_t): New type.
30286 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
30287 (struct grub_efi_vendor_device_path): New structure.
30288 (grub_efi_vendor_device_path_t): New type.
30289 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
30290 (struct grub_efi_controller_device_path): New structure.
30291 (grub_efi_controller_device_path_t): New type.
30292 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
30293 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
30294 (struct grub_efi_acpi_device_path): New structure.
30295 (grub_efi_acpi_device_path_t): New type.
30296 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
30297 (struct grub_efi_expanded_acpi_device_path): New structure.
30298 (grub_efi_expanded_acpi_device_path_t): New type.
30299 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
30300 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
30301 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
30302 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
30303 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
30304 (struct grub_efi_atapi_device_path): New structure.
30305 (grub_efi_atapi_device_path_t): New type.
30306 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
30307 (struct grub_efi_fibre_channel_device_path): New structure.
30308 (grub_efi_fibre_channel_device_path_t): New type.
30309 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
30310 (struct grub_efi_1394_device_path): New structure.
30311 (grub_efi_1394_device_path_t): New type.
30312 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
30313 (struct grub_efi_usb_device_path): New structure.
30314 (grub_efi_usb_device_path_t): New type.
30315 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
30316 (struct grub_efi_usb_class_device_path): New structure.
30317 (grub_efi_usb_class_device_path_t): New type.
30318 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
30319 (struct grub_efi_i2o_device_path): New structure.
30320 (grub_efi_i2o_device_path_t): New type.
30321 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
30322 (struct grub_efi_mac_address_device_path): New structure.
30323 (grub_efi_mac_address_device_path_t): New type.
30324 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
30325 (struct grub_efi_ipv4_device_path): New structure.
30326 (grub_efi_ipv4_device_path_t): New type.
30327 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
30328 (struct grub_efi_ipv6_device_path): New structure.
30329 (grub_efi_ipv6_device_path_t): New type.
30330 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
30331 (struct grub_efi_infiniband_device_path): New structure.
30332 (grub_efi_infiniband_device_path_t): New type.
30333 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
30334 (struct grub_efi_uart_device_path): New structure.
30335 (grub_efi_uart_device_path_t): New type.
30336 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
30337 (struct grub_efi_vendor_messaging_device_path): New structure.
30338 (grub_efi_vendor_messaging_device_path_t): New type.
30339 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
30340 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
30341 (struct grub_efi_hard_drive_device_path): New structure.
30342 (grub_efi_hard_drive_device_path_t): New type.
30343 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
30344 (struct grub_efi_cdrom_device_path): New structure.
30345 (grub_efi_cdrom_device_path_t): New type.
30346 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
30347 (struct grub_efi_vendor_media_device_path): New structure.
30348 (grub_efi_vendor_media_device_path_t): New type.
30349 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
30350 (struct grub_efi_file_path_device_path): New structure.
30351 (grub_efi_file_path_device_path_t): New type.
30352 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
30353 (struct grub_efi_protocol_device_path): New structure.
30354 (grub_efi_protocol_device_path_t): New type.
30355 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
30356 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
30357 (struct grub_efi_bios_device_path): New structure.
30358 (grub_efi_bios_device_path_t): New type.
30359 (struct grub_efi_disk_io): New structure.
30360 (grub_efi_disk_io_t): New type.
30361 (struct grub_efi_block_io_media): New structure.
30362 (grub_efi_block_io_media_t): New type.
30363 (struct grub_efi_block_io): New structure.
30364 (grub_efi_block_io_t): New type.
30365
30366 * include/grub/misc.h (grub_stop): Removed.
30367 (grub_exit): New prototype.
30368 (grub_abort): Likewise.
30369
30370 * include/grub/disk.h (enum grub_disk_dev_id): Added
30371 GRUB_DISK_DEVICE_EFIDISK_ID.
30372
30373 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
30374 disk/efi/efidisk.c.
30375 (kernel_syms.lst): Remove the target if an error occurs.
30376
30377 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
30378
30379 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
30380 as it was simply too buggy.
30381
30382 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
30383
30384 * kern/misc.c (grub_lltoa): New function.
30385 (grub_vsprintf): Added support for the long long suffix,
30386 i.e. "ll".
30387
30388 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
30389
30390 * Makefile.in (LDFLAGS): Add variable.
30391 (LD): Remove variable.
30392 * configure.ac: Add -m32 to LDFLAGS.
30393 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
30394 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
30395 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
30396 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
30397 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
30398 variables.
30399 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
30400 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
30401 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
30402
30403 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
30404
30405 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
30406 length for unknown glyph.
30407
30408 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30409
30410 Add support for pre-loaded modules into the EFI port.
30411
30412 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
30413 completely. Accept one more argument DIR. The caller has changed.
30414
30415 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
30416
30417 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
30418 (grub_efi_loaded_image_guid): New variable.
30419 (grub_efi_get_loaded_image): New function.
30420 (grub_arch_modules_addr): Likewise.
30421
30422 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
30423 prototype.
30424
30425 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
30426 (struct grub_efi_loaded_image): New structure.
30427 (grub_efi_loaded_image_t): New type.
30428
30429 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30430
30431 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
30432 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
30433 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
30434
30435 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
30436
30437 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
30438
30439 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
30440
30441 * DISTLIST: Added include/grub/efi/console.h,
30442 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
30443 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30444
30445 * include/grub/efi/console.h: New file.
30446 * include/grub/efi/time.h: Likewise.
30447 * include/grub/i386/efi/kernel.h: Likewise.
30448 * kern/efi/init.c: Likewise.
30449 * kern/efi/mm.c: Likewise.
30450 * term/efi/console.c: Likewise.
30451
30452 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
30453 (grub_stop): Removed.
30454 (grub_get_rtc): Likewise.
30455 (grub_machine_init): Simply call grub_efi_init.
30456 (grub_machine_fini): Call grub_efi_fini.
30457
30458 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
30459 (grub_efi_output_string): Removed.
30460 (grub_efi_stall): New function.
30461 (grub_stop): Likewise.
30462 (grub_get_rtc): Likewise.
30463
30464 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
30465 (grub_efi_stall): New prototype.
30466 (grub_efi_allocate_pages): Likewise.
30467 (grub_efi_free_pages): Likewise.
30468 (grub_efi_get_memory_map): Likewise.
30469 (grub_efi_mm_init): Likewise.
30470 (grub_efi_mm_fini): Likewise.
30471 (grub_efi_init): Likewise.
30472 (grub_efi_fini): Likewise.
30473
30474 * include/grub/i386/efi/time.h: Do not include
30475 grub/symbol.h. Include grub/efi/time.h.
30476 (GRUB_TICKS_PER_SECOND): Removed.
30477 (grub_get_rtc): Likewise.
30478
30479 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
30480 Added padding. The EFI spec is buggy.
30481 (GRUB_EFI_BLACK): New macro.
30482 (GRUB_EFI_BLUE): Likewise.
30483 (GRUB_EFI_GREEN): Likewise.
30484 (GRUB_EFI_CYAN): Likewise.
30485 (GRUB_EFI_RED): Likewise.
30486 (GRUB_EFI_MAGENTA): Likewise.
30487 (GRUB_EFI_BROWN): Likewise.
30488 (GRUB_EFI_LIGHTGRAY): Likewise.
30489 (GRUB_EFI_BRIGHT): Likewise.
30490 (GRUB_EFI_DARKGRAY): Likewise.
30491 (GRUB_EFI_LIGHTBLUE): Likewise.
30492 (GRUB_EFI_LIGHTGREEN): Likewise.
30493 (GRUB_EFI_LIGHTCYAN): Likewise.
30494 (GRUB_EFI_LIGHTRED): Likewise.
30495 (GRUB_EFI_LIGHTMAGENTA): Likewise.
30496 (GRUB_EFI_YELLOW): Likewise.
30497 (GRUB_EFI_WHITE): Likewise.
30498 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
30499 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
30500 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
30501 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
30502 (GRUB_EFI_BACKGROUND_RED): Likewise.
30503 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
30504 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
30505 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
30506 (GRUB_EFI_TEXT_ATTR): Likewise.
30507
30508 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
30509 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30510 (kernel_mod_HEADERS): Added efi/time.h.
30511
30512 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
30513
30514 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
30515 include/grub/efi/api.h, include/grub/efi/console_control.h,
30516 include/grub/efi/efi.h, include/grub/efi/pe32.h,
30517 include/grub/i386/efi/time.h, kern/efi/efi.c,
30518 kern/i386/efi/init.c, kern/i386/efi/startup.S,
30519 and util/i386/efi/grub-mkimage.c.
30520
30521 * Makefile.in (RMKFILES): Added i386-efi.rmk.
30522
30523 * genmk.rb (PModule#rule): Do not export symbols if
30524 #{prefix}_EXPORTS is set to "no".
30525
30526 * conf/i386-efi.mk: New file.
30527 * conf/i386-efi.rmk: Likewise.
30528 * include/grub/efi/api.h: Likewise.
30529 * include/grub/efi/console_control.h: Likewise.
30530 * include/grub/efi/efi.h: Likewise.
30531 * include/grub/efi/pe32.h: Likewise.
30532 * include/grub/i386/efi/time.h: Likewise.
30533 * kern/efi/efi.c: Likewise.
30534 * kern/i386/efi/init.c: Likewise.
30535 * kern/i386/efi/startup.S: Likewise.
30536 * util/i386/efi/grub-mkimage.c: Likewise.
30537
30538 2006-04-17 Marco Gerards <marco@gnu.org>
30539
30540 * include/grub/script.h: Include <grub/parser.h> and
30541 "grub_script.tab.h".
30542 (struct grub_lexer_param): New struct.
30543 (struct grub_parser_param): Likewise.
30544 (grub_script_create_arglist): Pass the state in an argument.
30545 (grub_script_add_arglist): Likewise.
30546 (grub_script_create_cmdline): Likewise.
30547 (grub_script_create_cmdblock): Likewise.
30548 (grub_script_create_cmdif): Likewise.
30549 (grub_script_create_cmdmenu): Likewise.
30550 (grub_script_add_cmd): Likewise.
30551 (grub_script_arg_add): Likewise.
30552 (grub_script_lexer_ref): Likewise.
30553 (grub_script_lexer_deref): Likewise.
30554 (grub_script_lexer_record_start): Likewise.
30555 (grub_script_lexer_record_stop): Likewise.
30556 (grub_script_mem_record): Likewise.
30557 (grub_script_mem_record_stop): Likewise.
30558 (grub_script_malloc): Likewise.
30559 (grub_script_yylex): Likewise.
30560 (grub_script_yyparse): Likewise.
30561 (grub_script_yyerror): Likewise.
30562 (grub_script_yylex): Likewise.
30563 (grub_script_lexer_init): Return the state.
30564
30565 * normal/lexer.c (grub_script_lexer_state): Removed variable.
30566 (grub_script_lexer_done): Likewise.
30567 (grub_script_lexer_getline): Likewise.
30568 (grub_script_lexer_refs): Likewise.
30569 (script): Likewise.
30570 (newscript): Likewise.
30571 (record): Likewise.
30572 (recording): Likewise.
30573 (recordpos): Likewise.
30574 (recordlen): Likewise.
30575 (grub_script_lexer_init): Return the state instead of setting
30576 global variables.
30577 (grub_script_lexer_ref): Use the newly added argument for state
30578 instead of globals.
30579 (grub_script_lexer_deref): Likewise.
30580 (grub_script_lexer_record_start): Likewise.
30581 (grub_script_lexer_record_stop): Likewise.
30582 (recordchar): Likewise.
30583 (nextchar): Likewise.
30584 (grub_script_yylex2): Likewise.
30585 (grub_script_yylex): Likewise.
30586 (grub_script_yyerror): Likewise.
30587
30588 * normal/parser.y (func_mem): Removed variable.
30589 (menu_entry): Likewise.
30590 (err): Likewise.
30591 (%lex-param): New parser option.
30592 (%parse-param): Likewise.
30593 (script): Always return the AST.
30594 (argument): Pass the state around.
30595 (arguments): Likewise.
30596 (grubcmd): Likewise.
30597 (commands): Likewise.
30598 (function): Likewise.
30599 (menuentry): Likewise.
30600 (if_statement): Likewise.
30601 (if): Likewise.
30602
30603 * normal/script.c (grub_script_memused): Removed variable.
30604 (grub_script_parsed): Likewise.
30605 (grub_script_malloc): Added a state argument. Use that instead of
30606 global variables.
30607 (grub_script_mem_record): Likewise.
30608 (grub_script_mem_record_stop): Likewise.
30609 (grub_script_arg_add): Likewise.
30610 (grub_script_add_arglist): Likewise.
30611 (grub_script_create_cmdline): Likewise.
30612 (grub_script_create_cmdif): Likewise.
30613 (grub_script_create_cmdmenu): Likewise.
30614 (grub_script_add_cmd): Likewise.
30615 (grub_script_parse): Setup the state before calling the parser.
30616
30617 2006-04-16 Marco Gerards <marco@gnu.org>
30618
30619 * normal/command.c (grub_command_init): Remove the title command.
30620
30621 * normal/lexer.c (grub_script_yylex): Renamed from this...
30622 (grub_script_yylex2): ... to this.
30623 (grub_script_yylex): New function. Temporary
30624 introduced to filter some tokens.
30625 (grub_script_yyerror): Print a newline.
30626
30627 * normal/main.c (read_config_file): Output information about the
30628 lines that contain errors. Wait for a key after all lines have
30629 been processed. Don't return an empty menu.
30630
30631 * normal/parser.y (func_mem): Don't initialize.
30632 (menu_entry): Likewise.
30633 (err): New variable.
30634 (script): Don't return anything when an error was encountered.
30635 (ws, returns): Removed rules.
30636 (argument): Disabled concatenated variable support.
30637 (arguments): Remove explicit separators.
30638 (grubcmd): Likewise.
30639 (function): Likewise.
30640 (menuentry): Likewise.
30641 (if): Likewise.
30642 (commands): Likewise. Add error handling.
30643
30644 * normal/script.c (grub_script_create_cmdline): If
30645 `grub_script_parsed' is 0, assume the parser encountered an error.
30646
30647 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
30648
30649 * configure.ac: Add support for EFI. Fix the typo
30650 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
30651
30652 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30653
30654 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
30655 foreign multibyte characters should be shown correctly.
30656
30657 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30658
30659 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
30660 calculation.
30661 (read_config_file): Made it to close file before returning.
30662
30663 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
30664
30665 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
30666 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
30667 video/i386/pc/vbefill.c.
30668
30669 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
30670 video/i386/pc/vbefill.c.
30671
30672 * include/grub/video.h (grub_video_blit_format): New enum.
30673 (grub_video_mode_info): Added new member blit_format.
30674 (grub_video_get_blit_format): New function prototype.
30675
30676 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
30677 function prototype.
30678 (grub_video_vbe_map_rgb): Likewise.
30679 (grub_video_vbe_unmap_color): Likewise.
30680
30681 * include/grub/i386/pc/vbeblit.h: New file.
30682
30683 * include/grub/i386/pc/vbefill.h: New file.
30684
30685 * video/video.c (grub_video_get_blit_format): New function.
30686 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
30687 (grub_video_vbe_map_rgb): Likewise.
30688 (grub_video_vbe_unmap_color): Likewise.
30689
30690 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
30691 optimized fills.
30692 (grub_video_vbe_blit_render_target): Changed to use more optimized
30693 blits.
30694 (grub_video_vbe_setup): Added detection for optimized settings.
30695 (grub_video_vbe_create_render_target): Likewise.
30696
30697 * video/i386/pc/vbeblit.c: New file.
30698
30699 * video/i386/pc/vbefill.c: New file.
30700
30701 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
30702
30703 * font/manager.c (grub_font_get_glyph): Removed font fixup from
30704 here...
30705
30706 * util/unifont2pff.rb: ... and moved it to here. Improved argument
30707 parsing to support both hex and dec ranges. If filename was missing
30708 show usage information.
30709
30710 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
30711
30712 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
30713 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
30714
30715 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
30716 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
30717 (video_mod_SOURCES): Added.
30718 (video_mod_CFLAGS): Likewise.
30719 (video_mod_LDFLAGS): Likewise.
30720 (gfxterm_mod_SOURCES): Likewise.
30721 (gfxterm_mod_CFLAGS): Likewise.
30722 (gfxterm_mod_LDFLAGS): Likewise.
30723 (videotest_mod_SOURCES): Likewise.
30724 (videotest_mod_CFLAGS): Likewise.
30725 (videotest_mod_LDFLAGS): Likewise.
30726 (vesafb_mod_SOURCES): Removed.
30727 (vesafb_mod_CFLAGS): Likewise.
30728 (vesafb_mod_LDFLAGS): Likewise.
30729 (vga_mod_SOURCES): Likewise.
30730 (vga_mod_CFLAGS): Likewise.
30731 (vga_mod_LDFLAGS): Likewise.
30732
30733 * commands/videotest.c: New file.
30734
30735 * font/manager.c (fill_with_default_glyph): Modified to use
30736 grub_font_glyph.
30737 (grub_font_get_glyph): Likewise.
30738 (fontmanager): Renamed from this...
30739 (font_manager): ... to this.
30740
30741 * include/grub/font.h (grub_font_glyph): Added new structure.
30742 (grub_font_get_glyph): Modified to use grub_font_glyph.
30743
30744 * include/grub/misc.h (grub_abs): Added as inline function.
30745
30746 * include/grub/video.h: New file.
30747
30748 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
30749 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
30750 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
30751 (grub_vbe_get_controller_info): Renamed from this...
30752 (grub_vbe_bios_get_controller_info): ... to this.
30753 (grub_vbe_get_mode_info): Renamed from this...
30754 (grub_vbe_bios_get_mode_info): ... to this.
30755 (grub_vbe_set_mode): Renamed from this...
30756 (grub_vbe_bios_set_mode): ... to this.
30757 (grub_vbe_get_mode): Renamed from this...
30758 (grub_vbe_bios_get_mode): ... to this.
30759 (grub_vbe_set_memory_window): Renamed from this...
30760 (grub_vbe_bios_set_memory_window): ... to this.
30761 (grub_vbe_get_memory_window): Renamed from this...
30762 (grub_vbe_bios_get_memory_window): ... to this.
30763 (grub_vbe_set_scanline_length): Renamed from this...
30764 (grub_vbe_set_scanline_length): ... to this.
30765 (grub_vbe_get_scanline_length): Renamed from this...
30766 (grub_vbe_bios_get_scanline_length): ... to this.
30767 (grub_vbe_set_display_start): Renamed from this...
30768 (grub_vbe_bios_set_display_start): ... to this.
30769 (grub_vbe_get_display_start): Renamed from this...
30770 (grub_vbe_bios_get_display_start): ... to this.
30771 (grub_vbe_set_palette_data): Renamed from this...
30772 (grub_vbe_bios_set_palette_data): ... to this.
30773 (grub_vbe_set_pixel_rgb): Removed.
30774 (grub_vbe_set_pixel_index): Likewise.
30775
30776 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
30777 from this...
30778 (grub_vbe_bios_get_controller_info): ... to this.
30779 (grub_vbe_get_mode_info): Renamed from this...
30780 (grub_vbe_bios_get_mode_info): ... to this.
30781 (grub_vbe_set_mode): Renamed from this...
30782 (grub_vbe_bios_set_mode): ... to this.
30783 (grub_vbe_get_mode): Renamed from this...
30784 (grub_vbe_bios_get_mode): ... to this.
30785 (grub_vbe_set_memory_window): Renamed from this...
30786 (grub_vbe_bios_set_memory_window): ... to this.
30787 (grub_vbe_get_memory_window): Renamed from this...
30788 (grub_vbe_bios_get_memory_window): ... to this.
30789 (grub_vbe_set_scanline_length): Renamed from this...
30790 (grub_vbe_set_scanline_length): ... to this.
30791 (grub_vbe_get_scanline_length): Renamed from this...
30792 (grub_vbe_bios_get_scanline_length): ... to this.
30793 (grub_vbe_set_display_start): Renamed from this...
30794 (grub_vbe_bios_set_display_start): ... to this.
30795 (grub_vbe_get_display_start): Renamed from this...
30796 (grub_vbe_bios_get_display_start): ... to this.
30797 (grub_vbe_set_palette_data): Renamed from this...
30798 (grub_vbe_bios_set_palette_data): ... to this.
30799 (grub_vbe_bios_get_controller_info): Fixed problem with registers
30800 getting corrupted after calling it. Added more pushes and pops.
30801 (grub_vbe_bios_set_mode): Likewise.
30802 (grub_vbe_bios_get_mode): Likewise.
30803 (grub_vbe_bios_get_memory_window): Likewise.
30804 (grub_vbe_bios_set_scanline_length): Likewise.
30805 (grub_vbe_bios_get_scanline_length): Likewise.
30806 (grub_vbe_bios_get_display_start): Likewise.
30807 (grub_vbe_bios_set_palette_data): Likewise.
30808
30809 * normal/cmdline.c (cl_set_pos): Refresh the screen.
30810 (cl_insert): Likewise.
30811 (cl_delete): Likewise.
30812
30813 * term/gfxterm.c: New file.
30814
30815 * term/i386/pc/vesafb.c: Removed file.
30816
30817 * video/video.c: New file.
30818
30819 * video/i386/pc/vbe.c (real2pm): Added new function.
30820 (grub_video_vbe_draw_pixel): Likewise.
30821 (grub_video_vbe_get_video_ptr): Likewise.
30822 (grub_video_vbe_get_pixel): Likewise
30823 (grub_video_vbe_init): Likewise.
30824 (grub_video_vbe_fini): Likewise.
30825 (grub_video_vbe_setup): Likewise.
30826 (grub_video_vbe_get_info): Likewise.
30827 (grub_video_vbe_set_palette): Likewise.
30828 (grub_video_vbe_get_palette): Likewise.
30829 (grub_video_vbe_set_viewport): Likewise.
30830 (grub_video_vbe_get_viewport): Likewise.
30831 (grub_video_vbe_map_color): Likewise.
30832 (grub_video_vbe_map_rgb): Likewise.
30833 (grub_video_vbe_map_rgba): Likewise.
30834 (grub_video_vbe_unmap_color): Likewise.
30835 (grub_video_vbe_fill_rect): Likewise.
30836 (grub_video_vbe_blit_glyph): Likewise.
30837 (grub_video_vbe_blit_bitmap): Likewise.
30838 (grub_video_vbe_blit_render_target): Likewise.
30839 (grub_video_vbe_scroll): Likewise.
30840 (grub_video_vbe_swap_buffers): Likewise.
30841 (grub_video_vbe_create_render_target): Likewise.
30842 (grub_video_vbe_delete_render_target): Likewise.
30843 (grub_video_vbe_set_active_render_target): Likewise.
30844 (grub_vbe_set_pixel_rgb): Remove function.
30845 (grub_vbe_set_pixel_index): Likewise.
30846 (index_color_mode): Remove static variable.
30847 (active_mode): Likewise.
30848 (framebuffer): Likewise.
30849 (bytes_per_scan_line): Likewise.
30850 (grub_video_vbe_adapter): Added new static variable.
30851 (framebuffer): Likewise.
30852 (render_target): Likewise.
30853 (initial_mode): Likewise.
30854 (mode_in_use): Likewise.
30855 (mode_list): Likewise.
30856
30857 2006-03-10 Marco Gerards <marco@gnu.org>
30858
30859 * configure.ac (AC_INIT): Bumped to 1.93.
30860
30861 * DISTLIST: Added `include/grub/hfs.h'.
30862
30863 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
30864
30865 * boot/i386/pc/boot.S (general_error): Before looping, try INT
30866 18H, which might help the BIOS falling back to next boot media.
30867
30868 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
30869
30870 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
30871 Poe Chen <poe.poechen@gmail.com>.
30872
30873 2006-01-17 Marco Gerards <marco@gnu.org>
30874
30875 * include/grub/normal.h: Include <grub/script.h>.
30876 (grub_command_list): Removed struct.
30877 (grub_command_list_t): Removed type.
30878 (grub_menu_entry): Remove members `num' and `command_list'. Add
30879 members `commands' and `sourcecode'.
30880 * include/grub/script.h: Add inclusion guards.
30881 (grub_script_cmd_menuentry): New struct.
30882 (grub_script_execute_menuentry): New prototype.
30883 (grub_script_lexer_record_start): Likewise.
30884 (grub_script_lexer_record_stop): Likewise.
30885 * normal/execute.c (grub_script_execute_menuentry): New function.
30886 * normal/lexer.c (record, recording, recordpos, recordlen): New
30887 variables.
30888 (grub_script_lexer_record_start): New function.
30889 (grub_script_lexer_record_stop): Likewise.
30890 (recordchar): Likewise.
30891 (nextchar): Likewise.
30892 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
30893 2048 as the buffer size. Add the tokens `menuentry' and `@'.
30894 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
30895 (current_menu): New variable.
30896 (free_menu): Mainly rewritten.
30897 (grub_normal_menu_addentry): New function.
30898 (read_config_file): Rewritten.
30899 * normal/menu.c (run_menu_entry): Mainly rewritten.
30900 * normal/menu_entry.c (make_screen): Rewritten the code to insert
30901 the menu entry.
30902 (run): Mainly rewritten.
30903 * normal/parser.y (menu_entry): New variable.
30904 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
30905 (menuentry): New rule.
30906 (command): Add `menuentry'.
30907 (if_statement): Allow additional returns before `fi'.
30908 * normal/script.c (grub_script_create_cmdmenu): New function.
30909
30910 2006-01-03 Marco Gerards <marco@gnu.org>
30911
30912 * INSTALL: GNU Bison is required.
30913 * configure.ac: Rewritten the test to detect Bison.
30914 * Makefile.in (YACC): New variable. Reported by Xun Sun
30915 <xun.sun.cn@gmail.com>.
30916
30917 2006-01-03 Marco Gerards <marco@gnu.org>
30918
30919 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
30920 the HFS+ filesystem to filesystem blocks.
30921 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
30922 GCC warning is silenced.
30923
30924 2006-01-03 Marco Gerards <marco@gnu.org>
30925
30926 * partmap/apple.c (apple_partition_map_iterate): Convert the data
30927 read from disk from big endian to host byte order.
30928
30929 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
30930
30931 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
30932 documentation.
30933 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
30934 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
30935 embedded HFS+ filesystem.
30936 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
30937 (grub_hfs_sblock): Move from here...
30938 * include/grub/hfs.h: To here... New file.
30939 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
30940 documentation.
30941 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
30942 New macros.
30943 (grub_hfsplus_volheader): Change type of member `magic' to
30944 `grub_uint16_t'.
30945 (grub_hfsplus_data): Add new member `embedded_offset'.
30946 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
30947 returned block.
30948 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
30949 Calculate the offset.
30950
30951 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30952
30953 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
30954 Removed.
30955 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
30956
30957 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30958
30959 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
30960 ENV->NAME is NULL after allocating ENV->VALUE.
30961
30962 2005-12-25 Marco Gerards <marco@gnu.org>
30963
30964 * kern/env.c (grub_env_set): Rewritten the error handling code.
30965
30966 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30967
30968 * geninit.sh: Made more robust, and more portable.
30969
30970 2005-12-25 Marco Gerards <marco@gnu.org>
30971
30972 Add support for Apple HFS+ filesystems.
30973
30974 * fs/hfsplus.c: New file.
30975
30976 * DISTLIST: Added `fs/hfsplus.c'.
30977
30978 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
30979 (hfsplus_mod_SOURCES): New variable.
30980 (hfsplus_mod_CFLAGS): Likewise.
30981 (hfsplus_mod_LDFLAGS): Likewise.
30982 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
30983 (grub_setup_SOURCES): Likewise.
30984 (grub_mkdevicemap_SOURCES): Likewise.
30985 (grub_emu_SOURCES): Likewise.
30986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30987
30988 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
30989
30990 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
30991
30992 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30993
30994 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
30995 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
30996 include/grub/parser.h, include/grub/script.h, kern/parser.c,
30997 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
30998 normal/lexer.c, normal/parser.y, normal/script.c, and
30999 partmap/gpt.c.
31000 Removed kern/sparc64/cache.c.
31001
31002 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
31003 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
31004 grub_emu_init.c.
31005
31006 * configure.ac (AC_INIT): Bumped to 1.92.
31007
31008 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
31009
31010 * kern/err.c (grub_error_push): Added new function to support error
31011 stacks.
31012 (grub_error_pop): Likewise.
31013 (grub_error_stack_items): New local variable to support error stacks.
31014 (grub_error_stack_pos): Likewise.
31015 (grub_error_stack_assert): Likewise.
31016 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
31017 stack depth.
31018 (grub_print_error): Added support to print errors from error stack.
31019
31020 * include/grub/err.h (grub_error_push): Added function prototype.
31021 (grub_error_pop): Likewise.
31022
31023 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
31024
31025 * configure.ac: Accept `powerpc64' as host_cpu.
31026 (amd64): Rename to `biarch32'.
31027
31028 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
31029 non-cacheline-aligned addresses.
31030
31031 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
31032 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
31033 if `size' is non-zero.
31034
31035 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
31036
31037 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
31038 and `cd' to make sure the filename is not prefixed with a
31039 directory name.
31040 (pkgdata_MODULES): Add `gpt.mod'.
31041 (gpt_mod_SOURCES): New variable.
31042 (gpt_mod_CFLAGS): Likewise.
31043 (gpt_mod_LDFLAGS): Likewise.
31044
31045 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
31046
31047 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
31048 New macro.
31049
31050 * partmap/gpt.c: New file.
31051
31052 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
31053 GPT partition map is detected.
31054
31055 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
31056
31057 * commands/i386/pc/play.c: New file.
31058 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
31059 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
31060 macros.
31061
31062 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
31063
31064 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
31065 ((unused))' to silence gcc warning.
31066
31067 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
31068
31069 * configure.ac: Correct `AC_PROG_YACC' test.
31070
31071 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31072
31073 * util/powerpc/ieee1275/grub-install.in: Run the mount point
31074 check before installing files.
31075
31076 2005-11-22 Mike Small <smallm@panix.com>
31077
31078 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
31079 number regex so multidigit numbers are recognized correctly.
31080
31081 2005-11-22 Mike Small <smallm@panix.com>
31082
31083 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
31084 debugging message before attempting to claim memory.
31085 (grub_rescue_cmd_initrd): Add a claim debugging message and try
31086 multiple addresses in case of failure.
31087
31088 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31089
31090 * term/tparm.c (get_space): Remove empty `if' statement.
31091
31092 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
31093
31094 * kern/parser.c (check_varstate): Rename `state' to 's'.
31095
31096 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31097
31098 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
31099 variable definitions to the beginning of each function. Sort stack
31100 variables by size.
31101 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
31102 `buf' argument to `char *'.
31103
31104 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31105
31106 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
31107 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
31108 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
31109 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31110 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31111 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31112 configfile.mod, search.mod, gzio.mod and test.mod.
31113 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31114 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31115 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31116 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31117 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31118 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31119 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31120 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31121 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31122 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31123 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31124 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31125 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31126 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31127 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31128 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31129 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31130 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31131 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31132 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31133 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31134 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31135 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
31136
31137 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
31138 `grep --include'.
31139 (pkgdata_MODULES): Add test.mod.
31140
31141 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31142
31143 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
31144 appending to variables with "+=".
31145 (PModule): Use full pathname to generate *.lst filenames.
31146
31147 * Makefile.in: Fixed list rules moved from genmk.rb.
31148 (.DELETE_ON_ERROR): New special target.
31149 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
31150
31151 * conf/i386-pc.rmk: Include conf/common.mk.
31152 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
31153 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
31154 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31155 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31156 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31157 configfile.mod, search.mod, gzio.mod and test.mod.
31158 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31159 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31160 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31161 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31162 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31163 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31164 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31165 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31166 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31167 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31168 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31169 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31170 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31171 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31172 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31173 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31174 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31175 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31176 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31177 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31178 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31179 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31180 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
31181 here...
31182 * conf/common.rmk: ... to here. New file.
31183
31184 * conf/common.mk: New file.
31185
31186 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
31187
31188 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
31189 (grub_script.tab.c): ... here.
31190
31191 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
31192 (grub_script.tab.c): ... here.
31193
31194 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
31195 (grub_script.tab.c): ... here.
31196
31197 * normal/command.c (grub_command_find): Fixed a memory leak of
31198 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
31199
31200 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31201
31202 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
31203 "@" which marks the start of a comment on ARM.
31204 (VARIABLE): Likewise.
31205
31206 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31207
31208 Add support for Linux/ADFS partition tables.
31209
31210 * partmap/acorn.c: New file.
31211
31212 * include/grub/acorn_filecore.h: Likewise.
31213
31214 * DISTLIST: Added `partmap/acorn.c' and
31215 `include/grub/acorn_filecore.h'.
31216
31217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31218 `partmap/acorn.c'.
31219 (pkgdata_MODULES): Add `acorn.mod'.
31220 (acorn_mod_SOURCES): New variable.
31221 (acorn_mod_CFLAGS): Likewise.
31222
31223 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31224 `partmap/acorn.c'.
31225 (pkgdata_MODULES): Add `acorn.mod'.
31226 (acorn_mod_SOURCES): New variable.
31227 (acorn_mod_CFLAGS): Likewise.
31228
31229 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
31230 (pkgdata_MODULES): Add `acorn.mod'.
31231 (acorn_mod_SOURCES): New variable.
31232 (acorn_mod_CFLAGS): Likewise.
31233 (acorn_mod_LDFLAGS): Likewise.
31234
31235 * include/types.h (grub_disk_addr_t): New typedef.
31236
31237 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
31238
31239 * geninit.sh: New file.
31240
31241 * geninitheader.sh: Likewise.
31242
31243 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
31244 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
31245 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
31246 * commands/configfile.c (grub_configfile_init)
31247 (grub_configfile_fini): Likewise.
31248 * commands/default.c (grub_default_init, grub_default_fini):
31249 Likewise.
31250 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
31251 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
31252 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
31253 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
31254 Likewise.
31255 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
31256 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
31257 Likewise.
31258 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
31259 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
31260 Likewise.
31261 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
31262 Likewise.
31263 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
31264 Likewise.
31265 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
31266 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
31267 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
31268 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
31269 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
31270 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
31271 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
31272 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
31273 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
31274 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
31275 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
31276 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
31277 * partmap/amiga.c (grub_amiga_partition_map_init)
31278 (grub_amiga_partition_map_fini): Likewise.
31279 * partmap/apple.c (grub_apple_partition_map_init)
31280 (grub_apple_partition_map_fini): Likewise.
31281 * partmap/pc.c (grub_pc_partition_map_init)
31282 (grub_pc_partition_map_fini): Likewise.
31283 * partmap/sun.c (grub_sun_partition_map_init,
31284 grub_sun_partition_map_fini): Likewise.
31285 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
31286 Likewise.
31287
31288 * util/grub-emu.c: Include <grub_modules_init.h>.
31289 (main): Don't initialize and de-initialize any modules directly,
31290 use `grub_init_all' and `grub_fini_all' instead.
31291
31292 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
31293 `grub_vesafb_mod_init'.
31294 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
31295 all users.
31296 * term/i386/pc/vga.c (grub_vga_init): Renamed to
31297 `grub_vga_mod_init'. Updated all users.
31298 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
31299
31300 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
31301 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
31302 rules.
31303
31304 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
31305 Generate a function to initialize the module in utilities.
31306 Updated all callers.
31307 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
31308 initialize the module in utilities. Updated all callers.
31309
31310 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31311
31312 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
31313 escape sequence and a literal ^L to clear the screen.
31314
31315 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
31316 when returning from Open Firmware.
31317
31318 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31319
31320 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
31321 (grub_ofconsole_height): Likewise.
31322 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
31323 manually insert a '\n'.
31324 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
31325 `grub_ofconsole_height'. Return early if these are already set.
31326
31327 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
31328
31329 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31330 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
31331 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
31332 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
31333 and `normal/script.c'.
31334 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31335 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31336 (test_mod_SOURCES): New variable.
31337 (test_mod_CFLAGS): Likewise.
31338 (test_mod_LDFLAGS): Likewise.
31339 (pkgdata_MODULES): Add `test.mod'.
31340 (grub_script.tab.c): New rule.
31341 (grub_script.tab.h): Likewise.
31342
31343 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
31344
31345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31346 `commands/test.c', `normal/execute.c', `normal/lexer.c',
31347 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31348 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31349 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31350 (test_mod_SOURCES): New variable.
31351 (test_mod_CFLAGS): Likewise.
31352 (pkgdata_MODULES): Add `test.mod'.
31353 (grub_script.tab.c): New rule.
31354 (grub_script.tab.h): Likewise.
31355
31356 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
31357
31358 Add initial scripting support.
31359
31360 * commands/test.c: New file.
31361 * include/grub/script.h: Likewise.
31362 * normal/execute.c: Likewise.
31363 * normal/function.c: Likewise.
31364 * normal/lexer.c: Likewise.
31365 * normal/parser.y: Likewise.
31366 * normal/script.c: Likewise.
31367
31368 * configure.ac: Add `AC_PROG_YACC' test.
31369
31370 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
31371 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
31372 `normal/function.c' and `normal/script.c'.
31373 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31374 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31375 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
31376 variables.
31377 (pkgdata_MODULES): Add `test.mod'.
31378 (grub_script.tab.c): New rule.
31379 (grub_script.tab.h): Likewise.
31380
31381 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
31382
31383 * include/grub/normal.h (grub_test_init): New prototype.
31384 (grub_test_fini): Likewise.
31385
31386 * normal/command.c: Include <grub/script.h>.
31387 (grub_command_execute): Rewritten.
31388
31389 * util/grub-emu.c (main): Call `grub_test_init' and
31390 `grub_test_fini'.
31391
31392 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31393
31394 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
31395 to 0.
31396 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
31397 there are no pending characters.
31398
31399 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31400
31401 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
31402 `grub_strndup' to drop device arguments. Replace unnecessary
31403 `grub_strndup' with `grub_strdup'.
31404
31405 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31406
31407 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
31408 `debug' environment variable has been set.
31409
31410 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
31411
31412 * Makefile.in (install-local): Use $(DATA).
31413 (uninstall): Likewise.
31414 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
31415 (sbin_UTILITIES): ... to here.
31416 (sbin_SCRIPTS): New variable.
31417 (grub_install_SOURCES): New variable.
31418 * util/powerpc/ieee1275/grub-install.in: New file.
31419 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
31420 variable.
31421 (add_segments): Call `grub_util_get_path'.
31422
31423 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31424
31425 From Timothy Baldwin:
31426 * commands/ls.c (grub_ls_list_files): Close FILE with
31427 grub_file_close.
31428 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
31429
31430 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
31431
31432 * include/grub/parser.h: New file.
31433
31434 * kern/parser.c: Likewise.
31435
31436 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
31437 (grub_setup_SOURCES): Likewise.
31438 (grub_probefs_SOURCES): Likewise.
31439 (grub_emu_SOURCES): Likewise.
31440 (kernel_img_HEADERS): Add `parser.h'.
31441
31442 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31443 (grub_emu_SOURCES): Add `kern/parser.c'.
31444 (grubof_SOURCES): Likewise.
31445
31446 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31447 (grubof_SOURCES): Add `kern/parser.c'.
31448
31449 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
31450
31451 * kern/misc.c (grub_split_cmdline): Removed function.
31452
31453 * kern/rescue.c: Include <grub/parser.h>.
31454 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
31455 of `grub_split_cmdline'.
31456
31457 * normal/command.c: Include <grub/parser.h>.
31458 (grub_command_execute): Use `grub_parser_split_cmdline' instead
31459 of `grub_split_cmdline'.
31460
31461 * normal/completion.c: Include <grub/parser.h>.
31462 (cmdline_state): New variable.
31463 (iterate_dir): End the filename with a quote depending on the
31464 command line state.
31465 (get_state): new function.
31466 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
31467 split the arguments and determine the current argument. When the
31468 argument string is not quoted, escape all spaces.
31469
31470 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31471
31472 * normal/sparc64/setjmp.S: New file.
31473
31474 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31475
31476 * include/grub/sparc64/libgcc.h: New file.
31477 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
31478 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
31479 normal/sparc64/setjmp.c.
31480
31481 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31482
31483 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
31484 * kern/sparc64/cache.S: New file.
31485 * kern/sparc64/cache.c: Removed.
31486 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
31487 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
31488 -mtune=ultrasparc.
31489 (COMMON_LDFLAGS): Add -melf64_sparc.
31490 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
31491 (grubof_SOURCES): Use cache.S instead of cache.c.
31492 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
31493 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
31494 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
31495 commented though.
31496 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
31497 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
31498 (linux_mod_CFLAGS): Commented out.
31499 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
31500 out because module isn't built.
31501 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
31502 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
31503 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
31504 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
31505 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
31506 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31507 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31508 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
31509 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
31510 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
31511 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31512 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31513 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
31514 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
31515
31516 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
31517
31518 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
31519 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
31520 longer, because HFS should not be used on PC.
31521
31522 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31523
31524 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
31525 consistently within the loop.
31526
31527 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
31528
31529 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
31530 directory can not be read.
31531
31532 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31533
31534 * configure.ac (AC_INIT): Increase the version number to 1.91.
31535
31536 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
31537 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
31538 term/i386/pc/serial.c.
31539
31540 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31541
31542 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
31543 file size must be permitted.
31544
31545 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
31546 between %ah and %al.
31547
31548 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31549
31550 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
31551 grub_uint64_t.
31552 Call the hook with a NUL-terminated filename.
31553 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
31554 grub_cpu_to_be32.
31555
31556 * kern/term.c (cursor_state): New variable.
31557 (grub_term_set_current): Reset the cursor state on a new
31558 terminal.
31559 (grub_setcursor): Rewritten to use CURSOR_STATE.
31560 (grub_getcursor): New function.
31561
31562 * include/grub/term.h (grub_getcursor): New prototype.
31563
31564 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
31565 integers on ARM. Reported by Timothy Baldwin
31566 <T.E.Baldwin99@members.leeds.ac.uk>.
31567
31568 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
31569
31570 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
31571 allocated.
31572 (grub_sfs_dir): Likewise.
31573
31574 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
31575
31576 Add support for the SFS filesystem.
31577
31578 * fs/sfs.c: New file.
31579
31580 * DISTLIST: Added `fs/sfs.c'.
31581
31582 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
31583 (grub_probefs_SOURCES): Likewise.
31584 (grub_emu_SOURCES): Likewise.
31585 (pkgdata_MODULES): Add `sfs.mod'.
31586 (sfs_mod_SOURCES): New variable.
31587 (sfs_mod_CFLAGS): Likewise.
31588 (sfs_mod_LDFLAGS): Likewise.
31589
31590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
31591 (pkgdata_MODULES): Add `sfs.mod'.
31592 (sfs_mod_SOURCES): New variable.
31593 (sfs_mod_CFLAGS): Likewise.
31594
31595 * util/grub-emu.c (main): Call `grub_sfs_init' and
31596 `grub_sfs_fini'.
31597
31598 * include/grub/fs.h (grub_sfs_init): New prototype.
31599 (grub_sfs_fini): Likewise.
31600
31601 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
31602
31603 Add support for the AFFS filesystem.
31604
31605 * fs/affs.c: New file.
31606
31607 * DISTLIST: Added `fs/affs.c'.
31608
31609 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
31610 (grub_probefs_SOURCES): Likewise.
31611 (grub_emu_SOURCES): Likewise.
31612 (pkgdata_MODULES): Add `affs.mod'.
31613 (affs_mod_SOURCES): New variable.
31614 (affs_mod_CFLAGS): Likewise.
31615 (affs_mod_LDFLAGS): Likewise.
31616
31617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
31618 (pkgdata_MODULES): Add `affs.mod'.
31619 (affs_mod_SOURCES): New variable.
31620 (affs_mod_CFLAGS): Likewise.
31621
31622 * util/grub-emu.c (main): Call `grub_affs_init' and
31623 `grub_affs_fini'.
31624
31625 * include/grub/fs.h (grub_affs_init): New prototype.
31626 (grub_affs_fini): Likewise.
31627
31628 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31629
31630 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
31631
31632 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31633
31634 * configure.ac: Accept `x86_64' as host_cpu. In that case add
31635 `-m32' to CFLAGS.
31636
31637 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
31638 linking.
31639
31640 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
31641 (COMMON_LDFLAGS): New variable.
31642 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
31643 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
31644 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
31645 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
31646 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
31647 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
31648 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
31649 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
31650 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
31651 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
31652 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31653 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31654 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
31655 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
31656 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
31657 variables.
31658 (normal_mod_ASFLAGS): Add `-m32'.
31659
31660 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
31661 (grub_host_size_t, grub_host_ssize_t): New types.
31662 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
31663 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
31664 `GRUB_HOST_SIZEOF_VOID_P'.
31665
31666 * include/grub/kernel.h (struct grub_module_header): Type of
31667 member offset changed to `grub_host_off_t'. Type of member size
31668 changed to `grub_host_size_t'.
31669 (struct grub_module_info): Type of member offset changed to
31670 `grub_host_off_t'. Type of member size changed to
31671 `grub_host_size_t'.
31672
31673 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
31674
31675 Make GRUB's kernel compliant to Multiboot Specification.
31676
31677 * kern/i386/pc/startup.S (multiboot_header): New label.
31678 (multiboot_entry): Likewise.
31679 (multiboot_trampoline): Likewise.
31680
31681 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31682 Increased to 0x4A0.
31683
31684 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
31685 put parentheses after a question mark.
31686 [!GRUB_UTIL] (my_mod): New variable.
31687
31688 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
31689
31690 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
31691
31692 Adds support for the XFS filesystem. Btrees are not supported
31693 yet.
31694
31695 * fs/xfs.c: New file.
31696
31697 * DISTLIST: Added `fs/xfs.c'.
31698
31699 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
31700 (grub_probefs_SOURCES): Likewise.
31701 (grub_emu_SOURCES): Likewise.
31702 (pkgdata_MODULES): Add `xfs.mod'.
31703 (xfs_mod_SOURCES): New variable.
31704 (xfs_mod_CFLAGS): Likewise.
31705
31706 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
31707 (pkgdata_MODULES): Add `xfs.mod'.
31708 (xfs_mod_SOURCES): New variable.
31709 (xfs_mod_CFLAGS): Likewise.
31710
31711 * util/grub-emu.c (main): Call `grub_xfs_init' and
31712 `grub_xfs_fini'.
31713
31714 * include/grub/fs.h (grub_xfs_init): New prototype.
31715 (grub_xfs_fini): Likewise.
31716
31717
31718 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
31719
31720 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
31721 color modes, allow greater than 16 colors to be configured as
31722 a default palette.
31723
31724 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31725
31726 * normal/completion.c (complete_arguments): Add the qualifier
31727 const into OPTIONS.
31728
31729 From Omniflux <omniflux+lists@omniflux.com>:
31730 * include/grub/terminfo.h: New file.
31731 * include/grub/tparm.h: Likewise.
31732 * include/grub/i386/pc/serial.h: Likewise.
31733 * term/terminfo.c: Likewise.
31734 * term/tparm.c: Likewise.
31735 * term/i386/pc/serial.c: Likewise.
31736 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
31737 serial.mod.
31738 (terminfo_mod_SOURCES): New variable.
31739 (terminfo_mod_CFLAGS): Likewise.
31740 (serial_mod_SOURCES): Likewise.
31741 (serial_mod_CFLAGS): Likewise.
31742
31743 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
31744
31745 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
31746 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
31747 and kern/powerpc/ieee1275/cmain.c, respectively.
31748
31749 * boot/powerpc/ieee1275/crt0.S: Moved to ...
31750 * kern/powerpc/ieee1275/crt0.S: ... here.
31751
31752 * boot/powerpc/ieee1275/cmain.c: Moved to ...
31753 * kern/powerpc/ieee1275/cmain.c: ... here.
31754
31755 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
31756 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
31757 instead of boot/powerpc/ieee1275/crt0.S and
31758 boot/powerpc/ieee1275/cmain.c, respectively.
31759
31760 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
31761 sectors. It was not used anyway.
31762
31763 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31764
31765 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
31766 `unused parameter' warning.
31767
31768 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31769
31770 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
31771 function.
31772 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
31773 getcharwidth.
31774
31775 2005-08-28 Marco Gerards <metgerards@student.han.nl>
31776
31777 * include/grub/normal.h (enum grub_completion_type): Added
31778 `GRUB_COMPLETION_TYPE_ARGUMENT'.
31779
31780 * normal/cmdline.c (print_completion): Handle
31781 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
31782 * normal/menu_entry.c (store_completion): Likewise.
31783
31784 * normal/completion.c (complete_arguments): New function.
31785 (grub_normal_do_completion): Call `complete_arguments' when the
31786 current words start with a dash.
31787
31788 2005-08-27 Marco Gerards <metgerards@student.han.nl>
31789
31790 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
31791 `gzio.mod' instead of `io.mod').
31792
31793 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
31794
31795 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
31796 (DISTDIRS): Added io and video.
31797 Rewrite the search routine to make an output consistently.
31798
31799 * DISTLIST: Added conf/sparc64-ieee1275.mk,
31800 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
31801 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
31802 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
31803 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
31804 util/powerpc/ieee1275/misc.c.
31805
31806 * include/grub/gzio.h: New file.
31807 * io/gzio.c: Likewise.
31808
31809 * kern/file.c (grub_file_close): Call grub_device_close only if
31810 FILE->DEVICE is not NULL.
31811
31812 * include/grub/mm.h [!NULL] (NULL): New macro.
31813
31814 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
31815
31816 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
31817 (pkgdata_MODULES): Added gzio.mod.
31818 (gzio_mod_SOURCES): New variable.
31819 (gzio_mod_CFLAGS): Likewise.
31820
31821 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
31822 (pkgdata_MODULES): Added gzio.mod.
31823 (gzio_mod_SOURCES): New variable.
31824 (gzio_mod_CFLAGS): Likewise.
31825
31826 * commands/cat.c: Include grub/gzio.h.
31827 (grub_cmd_cat): Use grub_gzfile_open instead of
31828 grub_file_open.
31829
31830 * commands/cmp.c: Include grub/gzio.h.
31831 (grub_cmd_cmp): Use grub_gzfile_open instead of
31832 grub_file_open.
31833
31834 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
31835 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
31836 grub_file_open.
31837 (grub_rescue_cmd_module): Likewise.
31838
31839 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31840
31841 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
31842 kern/sparc64/ieee1275/init.c because it contains _start.
31843 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
31844
31845 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31846
31847 * configure.ac: Add support for sparc64 host with ieee1275
31848 firmware.
31849 * configure: Generated from configure.ac.
31850 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
31851 instead of int.
31852 (grub_ofdisk_read): Likewise.
31853 (grub_ofdisk_open): Use %p to print pointer values, and cast the
31854 pointers as (void *) to remove a warning.
31855 (grub_ofdisk_close): Likewise.
31856 (grub_ofdisk_read): Likewise.
31857 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
31858 returns, so make it return void to remove a warning.
31859 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
31860 Corresponding prototype change.
31861 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
31862 values, and cast the pointers as (void *) to remove a warning.
31863 (grub_mm_dump): Likewise.
31864 * conf/sparc64-ieee1275.mk: New file.
31865 * conf/sparc64-ieee1275.rmk: Likewise.
31866 * include/grub/sparc64/setjmp.h: Likewise.
31867 * include/grub/sparc64/types.h: Likewise.
31868 * include/grub/sparc64/ieee1275/console.h: Likewise.
31869 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31870 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31871 * include/grub/sparc64/ieee1275/time.h: Likewise.
31872 * kern/sparc64/cache.c: Likewise.
31873 * kern/sparc64/dl.c: Likewise.
31874 * kern/sparc64/ieee1275/init.c: Likewise.
31875 * kern/sparc64/ieee1275/openfw.c: Likewise.
31876
31877 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31878
31879 * util/console.c (grub_ncurses_putchar): If C is greater than
31880 0x7f, set C to a question mark.
31881 (grub_ncurses_getcharwidth): New function.
31882 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
31883 getcharwidth.
31884
31885 * normal/menu.c (print_entry): Made aware of Unicode. First,
31886 convert TITLE to UCS-4, and predict the cursor position by
31887 grub_getcharwidth.
31888
31889 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
31890 const to SRC.
31891 * kern/misc.c (grub_utf16_to_utf8): Likewise.
31892
31893 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31894
31895 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
31896 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31897 grub_strcat.
31898
31899 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
31900 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31901 grub_strcpy and grub_strlen. Take it into account that a space
31902 character is inserted as a delimiter.
31903
31904 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31905
31906 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
31907 invalid magic in the error.
31908
31909 * commands/search.c: New file.
31910
31911 * util/grub-emu.c (main): Call grub_search_init and
31912 grub_search_fini.
31913
31914 * kern/rescue.c (grub_rescue_print_disks): Removed.
31915 (grub_rescue_print_devices): New function.
31916 (grub_rescue_cmd_ls): Use grub_device_iterate with
31917 grub_rescue_print_devices instead of grub_disk_dev_iterate with
31918 grub_rescue_print_disks.
31919
31920 * kern/partition.c (grub_partition_iterate): Return the result of
31921 PARTMAP->ITERATE instead of GRUB_ERRNO.
31922
31923 * kern/device.c: Include grub/partition.h.
31924 (grub_device_iterate): New function.
31925
31926 * include/grub/partition.h (grub_partition_iterate): Return int
31927 instead of grub_err_t.
31928
31929 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
31930 prototype.
31931 [GRUB_UTIL] (grub_search_fini): Likewise.
31932
31933 * include/grub/device.h (grub_device_iterate): New prototype.
31934
31935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31936 commands/search.c.
31937 (pkgdata_MODULES): Added search.mod.
31938 (search_mod_SOURCES): New variable.
31939 (search_mod_CFLAGS): Likewise.
31940
31941 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
31942 (pkgdata_MODULES): Added search.mod.
31943 (search_mod_SOURCES): New variable.
31944 (search_mod_CFLAGS): Likewise.
31945
31946 * commands/ls.c (grub_ls_list_disks): Renamed to ...
31947 (grub_ls_list_devices): ... this, and use grub_device_iterate.
31948 All callers changed.
31949
31950 * DISTLIST: Added commands/search.c.
31951
31952 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31953
31954 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
31955 conversion.
31956 (grub_getcharwidth): New function.
31957
31958 * kern/misc.c (grub_utf8_to_ucs4): New function.
31959
31960 * include/grub/term.h (struct grub_term): Added a new member
31961 "getcharwidth".
31962 (grub_getcharwidth): New prototype.
31963
31964 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
31965
31966 * term/i386/pc/console.c (map_char): New function. Segregated from
31967 grub_console_putchar.
31968 (grub_console_putchar): Use map_char.
31969 (grub_console_getcharwidth): New function.
31970 (grub_console_term): Specified grub_console_getcharwidth as
31971 getcharwidth.
31972
31973 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
31974 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
31975
31976 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
31977 GRUB_ERRNO.
31978 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
31979 on grub_strtoul completely.
31980 (write_char): Declare local variables in the beginning of the
31981 function.
31982 (grub_vesafb_getcharwidth): New function.
31983 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
31984 getcharwidth.
31985
31986 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
31987
31988 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
31989 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
31990 commands/i386/pc/vbetest.c.
31991
31992 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
31993 call grub_vbe_get_controller_info again, because the returned
31994 information is volatile.
31995 (grub_vbe_set_video_mode): Mostly rewritten.
31996 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
31997 grub_vbe_status_t correctly.
31998 (grub_vbe_get_video_mode_info): Likewise.
31999 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
32000 several if statements.
32001
32002 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
32003 * commands/i386/pc/vbeinfo.c: ... this.
32004
32005 * commands/i386/pc/vbe_test.c: Renamed to ...
32006 * commands/i386/pc/vbetest.c: ... this.
32007
32008 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
32009 ...
32010 (grub_cmd_vbeinfo): ... this. Save video modes before
32011 iterating. Skip a video mode, if it is not available, not enough
32012 information is given or it is monochrome. Show the memory
32013 model. Leave the interpretation of MODEVAR to grub_strtoul
32014 completely.
32015 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
32016 (GRUB_MOD_FINI): Likewise.
32017
32018 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
32019 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
32020 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
32021 duplicated grub_env_get. Leave the interpretation of MODEVAR to
32022 grub_strtoul completely.
32023 (real2pm): Removed.
32024 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
32025 (GRUB_MOD_FINI): Likewise.
32026
32027 * normal/misc.c: Include grub/mm.h.
32028
32029 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
32030 vbe_list_modes with vbetest.mod and vbeinfo.mod.
32031 (vbe_list_modes_mod_SOURCES): Removed.
32032 (vbe_list_modes_mod_CFLAGS): Likewise.
32033 (vbe_test_mod_SOURCES): Likewise.
32034 (vbe_test_mod_CFLAGS): Likewise.
32035 (vbeinfo_mod_SOURCES): New variable.
32036 (vbeinfo_mod_CFLAGS): Likewise.
32037 (vbetest_mod_SOURCES): Likewise.
32038 (vbetest_mod_CFLAGS): Likewise.
32039
32040 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
32041
32042 * normal/misc.c: New file.
32043
32044 * DISTLIST: Added normal/misc.c.
32045
32046 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
32047 DISK to HOOK. Call HOOK with DISK.
32048 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32049 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32050 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32051
32052 * normal/menu_entry.c (struct screen): Added a new member
32053 "completion_shown".
32054 (completion_buffer): New global variable.
32055 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
32056 (store_completion): New function.
32057 (complete): Likewise.
32058 (clear_completions): Likewise.
32059 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
32060 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
32061 a tab, call complete.
32062
32063 * normal/completion.c (disk_dev): Removed.
32064 (print_simple_completion): Likewise.
32065 (print_partition_completion): Likewise.
32066 (print_func): New global variable.
32067 (add_completion): Do not take the arguments WHAT or PRINT any
32068 longer. Added a new argument TYPE. Instead of printing directly,
32069 call PRINT_FUNC if not NULL.
32070 All callers changed.
32071 (complete_device): Use a local variable DEV instead of
32072 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
32073 (grub_normal_do_completion): Take a new argument HOOK. Do not
32074 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
32075 empty string, return NULL instead.
32076 All callers changed.
32077
32078 * normal/cmdline.c (print_completion): New function.
32079
32080 * kern/partition.c (grub_partition_iterate): Add an argument DISK
32081 to HOOK.
32082 All callers changed.
32083
32084 * kern/disk.c (grub_print_partinfo): Removed.
32085
32086 * include/grub/partition.h (struct grub_partition_map): Add a new
32087 argument DISK into HOOK of ITERATE.
32088 (grub_partition_iterate): Add a new argument DISK to HOOK.
32089
32090 * include/grub/normal.h (enum grub_completion_type): New enum.
32091 (grub_completion_type_t): New type.
32092 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
32093 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
32094 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
32095 (GRUB_COMPLETION_TYPE_FILE): Likewise.
32096 (grub_normal_do_completion): Added a new argument HOOK.
32097 (grub_normal_print_device_info): New prototype.
32098
32099 * include/grub/disk.h (grub_print_partinfo): Removed.
32100
32101 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
32102 (normal_mod_SOURCES): Likewise.
32103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32104 (normal_mod_SOURCES): Likewise.
32105
32106 * commands/ls.c (grub_ls_list_disks): Use
32107 grub_normal_print_device_info instead of grub_print_partinfo. Free
32108 PNAME.
32109 (grub_ls_list_files): Use grub_normal_print_device_info instead of
32110 duplicating the code.
32111
32112 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32113
32114 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
32115 follow GCS more precisely.
32116 * commands/i386/pc/vbe_test.c: Likewise.
32117 * include/grub/i386/pc/vbe.h: Likewise.
32118 * term/i386/pc/vesafb.c: Likewise.
32119 * video/i386/pc/vbe.c: Likewise.
32120
32121 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32122
32123 * DISTLIST: Added term/i386/pc/vesafb.c
32124 DISTLIST: Added video/i386/pc/vbe.c
32125 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
32126 DISTLIST: Added commands/i386/pc/vbe_test.c.
32127 * commands/i386/pc/vbe_list_modes.c: New file.
32128 * commands/i386/pc/vbe_test.c: Likewise.
32129 * term/i386/pc/vesafb.c: Likewise.
32130 * video/i386/pc/vbe.c: Likewise.
32131 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
32132 (grub_vbe_probe) Added prototype.
32133 (grub_vbe_set_video_mode) Likewise.
32134 (grub_vbe_get_video_mode) Likewise.
32135 (grub_vbe_get_video_mode_info) Likewise.
32136 (grub_vbe_set_pixel_rgb) Likewise.
32137 (grub_vbe_set_pixel_index) Likewise.
32138 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
32139 (pkgdata_MODULES): Added vesafb.mod.
32140 (pkgdata_MODULES): Added vbe_list_modes.mod.
32141 (pkgdata_MODULES): Added vbe_test.mod.
32142 (vbe_mod_SOURCES): Added.
32143 (vbe_mod_CFLAGS): Likewise.
32144 (vesafb_mod_SOURCES): Likewise.
32145 (vesafb_mod_CFLAGS): Likewise.
32146 (vbe_list_modes_mod_SOURCES): Likewise.
32147 (vbe_list_modes_mod_CFLAGS): Likewise.
32148 (vbe_test_mod_SOURCES): Likewise.
32149 (vbe_test_mod_CFLAGS): Likewise.
32150
32151 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
32152
32153 * normal/command.c (grub_command_execute): If INTERACTIVE is
32154 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
32155 CMDLINE. Disable the pager if INTERACTIVE is true.
32156 All callers are changed.
32157
32158 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
32159 before reading a config file.
32160 * normal/main.c (read_config_file): Even if a command is not
32161 found, register it if it is within an entry.
32162
32163 * util/grub-emu.c: Include sys/types.h and unistd.h.
32164 (options): Added --hold.
32165 (struct arguments): Added a new member "hold".
32166 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
32167 missing.
32168 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
32169 cleared by a debugger, if it is not zero.
32170
32171 * include/grub/normal.h (grub_command_execute): Add an argument
32172 INTERACTIVE.
32173
32174 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
32175
32176 * DISTLIST: Added include/grub/i386/pc/vbe.h.
32177
32178 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
32179
32180 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
32181 program with another one, because the old one didn't detect a bug
32182 in gcc-3.4. Always use regparm 2, because the new test is still
32183 not enough for gcc-4.0. Someone must investigate a simple test
32184 case which detects a bug in gcc-4.0.
32185
32186 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
32187
32188 * DISTLIST: Added normal/completion.c.
32189
32190 * normal/completion.c: New file.
32191
32192 * term/i386/pc/console.c (grub_console_getwh): New function.
32193 (grub_console_term): Assign grub_console_getwh to getwh.
32194
32195 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
32196 function is defined in normal/completion.c as
32197 grub_normal_do_completion.
32198 (grub_cmdline_get): Use grub_normal_do_completion instead of
32199 grub_tab_complete.
32200
32201 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
32202 returns non-zero, otherwise return 0.
32203 (grub_partition_iterate): First, probe the partition map. Then,
32204 call ITERATE only for this partition map.
32205
32206 * kern/misc.c (grub_strncmp): Rewritten.
32207
32208 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
32209 returns non-zero. Otherwise return 0.
32210
32211 * include/grub/partition.h (grub_partition_map_iterate): Return
32212 int instead of void.
32213
32214 * include/grub/normal.h (grub_normal_do_completion): New prototype.
32215
32216 * include/grub/misc.h (grub_strncmp): Change the type of N to
32217 grub_size_t.
32218
32219 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
32220 of void.
32221
32222 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
32223 unsigned explicitly before comparing it with I.
32224
32225 * kern/main.c (grub_env_write_root): Add the attribute unused into
32226 VAR.
32227
32228 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32229 normal/completion.c.
32230 (normal_mod_SOURCES): Likewise.
32231 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32232 (normal_mod_SOURCES): Likewise.
32233
32234 * normal/command.c (grub_iterate_commands): If ITERATE returns
32235 non-zero, return one immediately.
32236
32237 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
32238
32239 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
32240 * kern/i386/pc/startup.S: Updated Global Descriptor table's
32241 descriptions.
32242 (grub_vbe_get_controller_info): New function.
32243 (grub_vbe_get_mode_info): Likewise.
32244 (grub_vbe_set_mode): Likewise.
32245 (grub_vbe_get_mode): Likewise.
32246 (grub_vbe_set_memory_window): Likewise.
32247 (grub_vbe_get_memory_window): Likewise.
32248 (grub_vbe_set_scanline_length): Likewise.
32249 (grub_vbe_get_scanline_length): Likewise.
32250 (grub_vbe_set_display_start): Likewise.
32251 (grub_vbe_get_display_start): Likewise.
32252 (grub_vbe_set_palette_data): Likewise.
32253 * include/grub/i386/pc/vbe.h: New file.
32254
32255 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32256
32257 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32258 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
32259 * DISTLIST: Likewise.
32260 * kern/ieee1275/of.c: Moved to ...
32261 * kern/ieee1275/ieee1275.c: ... here.
32262
32263 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32264
32265 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
32266 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
32267 Pass 0 as `end' parameter to grub_strtoul().
32268
32269 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32270
32271 * include/grub/powerpc/ieee1275/console.h: Do not include
32272 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
32273 ifdef.
32274 (grub_console_cur_color): Remove i386-specific prototype.
32275 (grub_console_real_putchar): Likewise.
32276 (grub_console_checkkey): Likewise.
32277 (grub_console_getkey): Likewise.
32278 (grub_console_getxy): Likewise.
32279 (grub_console_gotoxy): Likewise.
32280 (grub_console_cls): Likewise.
32281 (grub_console_setcursor): Likewise.
32282 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
32283 Include <grub/machine/console.h>.
32284 * term/ieee1275/ofconsole.c: Likewise.
32285
32286 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
32287
32288 * Makefile.in (LIBLZO): New variable.
32289
32290 * configure.ac: Check for LZO version 2.
32291
32292 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
32293 lzo/lzo1x.h instead of lzo1x.h.
32294
32295 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
32296 of -llzo.
32297
32298 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
32299 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
32300
32301 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
32302 copying the data from PARTITION to P.
32303
32304 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32305
32306 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
32307 negative, unload the module.
32308
32309 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
32310 map is "pc_partition_map" but not "pc".
32311 (usage): Fix the description. The options are --boot-image and
32312 --core-image but not --boot-file or --core-file.
32313 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
32314 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
32315 DEFAULT_DIRECTORY.
32316
32317 * util/i386/pc/grub-install.in: Do not specify --boot-file or
32318 --core-file. Specify INSTALL_DEVICE as an argument.
32319
32320 * util/console.c: Include config.h.
32321 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
32322 [HAVE_NCURSES_H]: Include ncurses.h.
32323 [HAVE_CURSES_H]: Include curses.h.
32324 [!A_NORMAL] (A_NORMAL): Defined as zero.
32325 [!A_STANDOUT] (A_STANDOUT): Likewise.
32326
32327 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
32328 -lncurses.
32329 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
32330
32331 * configure.ac: Check for curses libraries and headers.
32332
32333 * Makefile.in (LIBCURSES): New variable.
32334
32335 * genmk.rb (Script::rule): Set the executable bits.
32336
32337 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
32338 name of the PC partition map is "pc_partition_map" but not "pc".
32339
32340 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32341
32342 * util/i386/pc/grub-install.in (grub_probefs): New variable.
32343 (modules): Likewise.
32344 (usage): Added descriptions for --modules and --grub-probefs.
32345 Handle --modules and --grub-probefs. Save the arguments in MODULES
32346 and GRUB_PROBEFS, respectively.
32347 Auto-detect a filesystem module against GRUBDIR. If the result is
32348 empty and modules are not specified explicitly, abort the
32349 installation. Add the result to MODULES.
32350
32351 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
32352 disk/powerpc/ieee1275/ofdisk.c,
32353 include/grub/powerpc/ieee1275/init.h and
32354 term/powerpc/ieee1275/ofconsole.c.
32355 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
32356 term/ieee1275/ofconsole.c.
32357
32358 * include/grub/powerpc/ieee1275/console.h: Resurrected.
32359
32360 * COPYING: Upgraded to the latest version. Only the address of the
32361 FSF office has changed.
32362
32363 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32364
32365 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32366 kern/ieee1275.c with kern/ieee1275/of.c.
32367
32368 * kern/ieee1275.c: Moved to ...
32369 * kern/ieee1275/of.c: ... here.
32370
32371 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
32372
32373 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
32374 readability.
32375
32376 * config.guess: Updated to the latest version from gnulib.
32377 * config.sub: Likewise.
32378 * install.sh: Likewise.
32379 * mkinstalldirs: Likewise.
32380
32381 * include/grub/console.h: Removed. This file is arch-specific. Do
32382 not put this in include/grub.
32383
32384 * include/grub/i386/pc/console.h: Resurrected.
32385
32386 * util/console.c: Include grub/machine/console.h instead of
32387 grub/console.h.
32388 * util/grub-emu.c: Likewise.
32389
32390 2005-08-04 Marco Gerards <metgerards@student.han.nl>
32391
32392 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
32393 hardcoded value.
32394
32395 From Vincent Pelletier <subdino2004@yahoo.fr>
32396 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
32397 Redefined to use grub_getwh.
32398 (grub_term): New member named getwh.
32399 (grub_getwh): New prototype.
32400 * kern/term.c (grub_getwh): New function.
32401 * term/i386/pc/console.c (grub_console_getwh): New function.
32402 (grub_console_term): New member `getwh'.
32403 * term/i386/pc/vga.c (grub_vga_getwh): New function.
32404 (grub_vga_term): New member `getwh'.
32405 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
32406 grub_ssize_t.
32407 (grub_ofconsole_getw): New function.
32408 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
32409 (grub_ofconsole_term): New field named getwh and new initial
32410 value.
32411
32412 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
32413
32414 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
32415 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
32416 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
32417 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
32418 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
32419 of <grub/machine/ieee1275.h>.
32420 * commands/ieee1275/reboot.c: Likewise.
32421 * boot/powerpc/ieee1275/ieee1275.c: Move ...
32422 * kern/ieee1275.c: ... to here. All users updated. Change all
32423 parameter structs to use new type `grub_ieee1275_cell_t'.
32424 * term/powerpc/ieee1275/ofconsole.c: Move ...
32425 * term/ieee1275/ofconsole.c: ... to here. All users updated.
32426 * disk/powerpc/ieee1275/ofdisk.c: Move ...
32427 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
32428 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
32429 to return int.
32430 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
32431 Remove unused prototypes. All users updated.
32432 * include/grub/powerpc/ieee1275/console.h: Removed.
32433 * include/grub/powerpc/ieee1275/ieee1275.h: Define
32434 `grub_ieee1275_cell_t'.
32435 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
32436 Cast comparisons with -1 to the correct type.
32437 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
32438 type to match `grub_ieee1275_entry_fn'.
32439
32440 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
32441
32442 * DISTLIST: Added util/i386/pc/grub-probefs.c.
32443
32444 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
32445 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
32446 partmap/sun.c.
32447 (grub_probefs_SOURCES): New variable.
32448
32449 * util/i386/pc/grub-probefs.c: New file.
32450
32451 * util/i386/pc/grub-setup.c (main): Call
32452 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
32453 grub_hfs_init and grub_jfs_init to initialize the system. Call
32454 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
32455 grub_pc_partition_map_fini to finish the system.
32456
32457 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
32458
32459 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
32460 function.
32461 (grub_multiboot_load_elf32): Likewise.
32462 (grub_multiboot_is_elf64): Likewise.
32463 (grub_multiboot_load_elf64): Likewise.
32464 (grub_multiboot_load_elf): Likewise.
32465 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
32466 an ELF32 or ELF64 file.
32467 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
32468
32469 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
32470 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
32471 NULL before calling FS->LABEL.
32472 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
32473 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
32474 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
32475 before calling FS->LABEL.
32476
32477 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
32478
32479 * util/i386/pc/grub-install.in (datadir): New variable.
32480 (libdir): Removed.
32481 (pkgdatadir): New variable.
32482 (pkglibdir): Removed.
32483
32484 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
32485
32486 * DISTLIST: Added util/i386/pc/grub-install.in.
32487
32488 * util/i386/pc/grub-install.in: New file.
32489
32490 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
32491 (grub_install_SOURCES): Likewise.
32492
32493 * genmk.rb: Added support for scripts.
32494 (Script): New class.
32495 (scripts): New variable.
32496
32497 * Makefile.in (install-local): Install sbin_SCRIPTS by
32498 INSTALL_SCRIPT.
32499 (uninstall): Remove sbin_SCRIPTS.
32500
32501 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
32502 device, try to get a GRUB device by
32503 grub_util_biosdisk_get_grub_dev.
32504 Free DEST_DEV.
32505
32506 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
32507 description for --device-map.
32508
32509 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32510
32511 Change the semantics of variable hooks. They now return strings
32512 instead of error values.
32513
32514 * util/i386/pc/grub-setup.c: Include grub/env.h.
32515 (setup): Use grub_device_set_root instead of grub_env_set.
32516
32517 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
32518 grub_env_get instead of grub_device_set_root and
32519 grub_device_get_root, respectively.
32520
32521 * kern/main.c (grub_env_write_root): New function.
32522 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
32523 grub_env_set instead of grub_device_set_root.
32524
32525 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
32526 many variables.
32527 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
32528 rather than calling ENV->WRITE_HOOK afterwards.
32529 (grub_env_get): Return the result of ENV->READ_HOOK rather than
32530 passing a pointer of a pointer.
32531 (grub_register_variable_hook): Change the types of "read_hook" and
32532 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
32533 respectively.
32534 Allocate the default empty string on the heap, because this string
32535 may be freed later.
32536
32537 * kern/device.c: Include grub/env.h.
32538 (grub_device_set_root): Removed.
32539 (grub_device_get_root): Likewise.
32540 (grub_device_open): Use grub_env_get instead of
32541 grub_device_get_root.
32542
32543 * include/grub/env.h (grub_env_read_hook_t): New type.
32544 (grub_env_write_hook_t): Likewise.
32545 (grub_env_var): Change the types of "read_hook" and "write_hook"
32546 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
32547 (grub_register_variable_hook): Likewise.
32548
32549 * include/grub/device.h (grub_device_set_root): Removed.
32550 (grub_device_set_root): Likewise.
32551
32552 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
32553 make sure that DIRNAME terminates with '/', so that
32554 grub_fat_find_dir will fail if PATH is not a directory.
32555
32556 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
32557 from DIRNAME.
32558 Use the qualifier auto for print_files and print_files_long.
32559 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
32560 as a regular file.
32561 Put a newline only if there is no error.
32562 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
32563 used.
32564
32565 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32566
32567 * kern/partition.c (grub_partition_probe): Initialize PART to
32568 NULL. Otherwise, when no partition map is registered, this returns
32569 a garbage.
32570
32571 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
32572
32573 * partmap/apple.c (apple_partition_map_iterate): Check if POS
32574 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
32575 valid.
32576
32577 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
32578
32579 * commands/ls.c (grub_ls_list_disks): Print the filesystem
32580 information on each device, if it does not have partitions. Print
32581 "Device" instead of "Disk", because this function is not specific
32582 to disk devices.
32583
32584 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
32585 static to ensure that it is put on the memory rather than a
32586 register.
32587
32588 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32589
32590 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
32591 (grub_cat_init): Likewise.
32592 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
32593 (options): Likewise.
32594 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32595 (grub_configfile_init): Likewise.
32596 * font/manager.c (GRUB_MOD_INIT): Likewise.
32597 * commands/help.c (GRUB_MOD_INIT): Likewise.
32598 (grub_help_init): Likewise.
32599 * normal/command.c (grub_command_init): Likewise.
32600 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
32601 * disk/loopback.c (grub_loop_init): Likewise.
32602 (GRUB_MOD_INIT): Likewise.
32603 * commands/ls.c (grub_ls_init): Likewise.
32604 (GRUB_MOD_INIT): Likewise.
32605 (options): Likewise.
32606 * commands/boot.c (grub_boot_init): Likewise.
32607 (GRUB_MOD_INIT): Likewise.
32608 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
32609 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
32610 (GRUB_MOD_INIT): Likewise.
32611 * commands/cmp.c (grub_cmp_init): Likewise.
32612 (GRUB_MOD_INIT): Likewise.
32613
32614 * normal/arg.c: Use <> instead of "" to include header files.
32615 (SHORT_ARG_HELP): New macro.
32616 (SHORT_ARG_USAGE): Likewise.
32617 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
32618 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
32619 descriptions.
32620 (find_short): Check if C is 'h' or 'u' explicitly.
32621 (grub_arg_show_help): Use space characters instead of tabs. Treat
32622 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
32623 are shown with --help and --usage only if they are not used for
32624 the command itself.
32625 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
32626 'h' and 'u'.
32627
32628 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
32629 const into "longarg". Change the type of "shortarg" to int.
32630
32631 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32632
32633 * boot/i386/pc/boot.S (boot_drive_check): New label.
32634
32635 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
32636 macro.
32637
32638 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
32639 which do not pass a boot drive correctly. Copied from GRUB Legacy.
32640
32641 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32642
32643 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
32644 When turning off Gate A20, skip the check and return immediately,
32645 because this is not fatal usually.
32646
32647 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32648
32649 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
32650 be 0x7C00 instead of 0x8000.
32651
32652 * boot/i386/pc/pxeboot.S: Rewritten.
32653
32654 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
32655 EXT_C.
32656 (gate_a20_check_state): Read a byte from 0x108000. Invert the
32657 result.
32658
32659 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
32660
32661 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
32662 robustness. This routine now supports a BIOS call and System
32663 Control Port A to modify the gate A20.
32664
32665 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32666 Increased to 0x440.
32667
32668 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
32669
32670 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
32671 device path and resulting ihandle.
32672 (grub_ofdisk_close): dprintf the ihandle being closed.
32673 (grub_ofdisk_read): dprintf function parameters.
32674 * kern/mm.c (grub_mm_init_region): Likewise.
32675 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
32676 (grub_linux_boot): dprintf the Linux entry point, initrd address and
32677 size, and boot arguments.
32678 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
32679 before loading into memory.
32680 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
32681 before loading into memory.
32682
32683 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
32684
32685 * kern/mm.c: Added much documentation.
32686 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
32687 8, set to 5 instead of 8.
32688
32689 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32690
32691 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
32692
32693 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
32694 (grub_mkdevicemap_SOURCES): New variable.
32695
32696 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
32697 lib/device.c of GRUB Legacy.
32698
32699 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32700
32701 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
32702 instead of PATH is NULL.
32703
32704 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
32705
32706 * commands/cmp.c (BUFFER_SIZE): New macro.
32707 (grub_cmd_cmp): Close the right file at the right time. Compare
32708 only data just read. Don't report files of different size as
32709 identical. Dynamically allocate buffers. Move variable
32710 declarations at the beginning of function.
32711
32712 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
32713
32714 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
32715 reverse.
32716
32717 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
32718
32719 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
32720 when backspace is pressed at beginning of line.
32721
32722 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
32723
32724 * DISTLIST: Added genfslist.sh.
32725
32726 * normal/main.c (fs_module_list): New variable.
32727 (autoload_fs_module): New function.
32728 (read_fs_list): Likewise.
32729 (grub_normal_execute): Call read_fs_list.
32730
32731 * kern/fs.c (grub_fs_autoload_hook): New variable.
32732 (grub_fs_probe): Added support for auto-loading.
32733
32734 * include/grub/normal.h (struct grub_fs_module_list): New struct.
32735 (grub_fs_module_list_t): New type.
32736
32737 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
32738 (grub_fs_autoload_hook): New prototype.
32739
32740 * genfslist.sh: New file.
32741
32742 * genmk.rb: Added a rule to generate a filesystem list.
32743
32744 2005-06-30 Marco Gerards <metgerards@student.han.nl>
32745
32746 * configure.ac: Fix the test for cross-compiling.
32747
32748 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
32749 define GRUB_UTIL anymore.
32750
32751 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
32752 so this function works on other systems than just big endian.
32753 (load_modules): Likewise.
32754 (add_segments): Likewise.
32755
32756 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
32757
32758 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
32759 contains `l' modifier, get a long from va_arg().
32760
32761 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
32762
32763 * kern/mm.c (grub_free): If the next free block which is being
32764 merged is the first free block, set the first block to the block
32765 being freed.
32766 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
32767
32768 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32769
32770 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
32771 `grub_ieee1275_chosen'.
32772
32773 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32774
32775 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
32776 (grub_ieee1275_chosen): New variable.
32777 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
32778 `chosen'.
32779 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
32780 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32781 Rename first argument to `phandle' for consistency.
32782 (grub_ieee1275_get_property_length): Likewise.
32783 (grub_ieee1275_next_property): Likewise. Change type of first argument
32784 to grub_ieee1275_phandle_t.
32785 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
32786 Move export next to declaration.
32787 (grub_ieee1275_chosen): New variable.
32788 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
32789 Correct cosmetic typo.
32790 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
32791 `grub_ieee1275_chosen'.
32792 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
32793 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
32794 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
32795 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
32796 `grub_ieee1275_chosen'.
32797
32798 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
32799
32800 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
32801 /chosen/bootargs.
32802 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
32803 /chosen/bootargs as "variable=value" pairs.
32804
32805 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
32806
32807 * include/grub/misc.h (grub_dprintf): New macro.
32808 (grub_real_dprintf): New prototype.
32809 (grub_strword): Likewise.
32810 (grub_iswordseparator): Likewise.
32811 * kern/misc.c (grub_real_dprintf): New function.
32812 (grub_strword): Likewise.
32813 (grub_iswordseparator): Likewise.
32814
32815 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
32816
32817 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
32818 (roundup): Remove macro.
32819 (grub_ieee1275_flags): Make static.
32820 (grub_ieee1275_realmode): Remove.
32821 (grub_ieee1275_test_flag): New function.
32822 (grub_ieee1275_set_flag): Likewise.
32823 (find_options): Rename to `grub_ieee1275_find_options'; update
32824 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
32825 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
32826 (cmain): New prototype.
32827 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
32828 `grub_ieee1275_flags' directly.
32829 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
32830 machine/biosdisk.h.
32831 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
32832 Don't include grub/machine/init.h.
32833 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
32834 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32835 Remove prototype.
32836 (grub_ieee1275_realmode): Likewise.
32837 (grub_ieee1275_flag): New enum.
32838 (grub_ieee1275_test_flag): New prototype.
32839 (grub_ieee1275_set_flag): New prototype.
32840 * include/grub/powerpc/ieee1275/init.h: Remove file.
32841 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
32842 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
32843 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
32844 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
32845 comment.
32846 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
32847 `grub_ieee1275_test_flag'.
32848 (grub_ieee1275_encode_devname): Likewise.
32849
32850 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
32851
32852 * include/grub/powerpc/ieee1275/ieee1275.h
32853 (grub_ieee1275_encode_devname): New prototype.
32854 (grub_ieee1275_get_filename): Likewise.
32855 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
32856 function.
32857 (grub_set_prefix): Likewise.
32858 (grub_machine_init): Call grub_set_prefix.
32859 * kern/powerpc/ieee1275/openfw.c: Fix typos.
32860 (grub_parse_type): New enum.
32861 (grub_ieee1275_get_devargs): New function.
32862 (grub_ieee1275_get_devname): Likewise.
32863 (grub_ieee1275_parse_args): Likewise.
32864 (grub_ieee1275_get_filename): Likewise.
32865 (grub_ieee1275_encode_devname): Likewise.
32866
32867 2005-03-30 Marco Gerards <metgerards@student.han.nl>
32868
32869 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
32870 `grub_loader_unset'.
32871
32872 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
32873
32874 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
32875 instead of grub_ieee1275_interpret.
32876 (grub_halt_init): New function.
32877 (grub_halt_fini): Likewise.
32878 (GRUB_MOD_INIT): Correct message grammar.
32879 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
32880 instead of grub_ieee1275_interpret.
32881 (grub_reboot_init): New function.
32882 (grub_reboot_fini): Likewise.
32883 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
32884 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
32885 util/i386/pc/misc.c with commands/ieee1275/halt.c,
32886 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
32887 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
32888 function.
32889 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
32890 Add prototype.
32891 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
32892 prototype.
32893 (grub_halt): Likewise.
32894 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
32895 (cmain): Remove __attribute__((unused)).
32896 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
32897 (grub_heap_len): Likewise.
32898 (grub_machine_fini): New function.
32899 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
32900 (grub_halt): Likewise.
32901 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
32902 function.
32903 * util/powerpc/ieee1275/misc.c: New file.
32904
32905 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32906
32907 * DISTLIST: New file.
32908 * gendistlist.sh: Likewise.
32909
32910 * Makefile.in (COMMON_DISTFILES): Removed.
32911 (BOOT_DISTFILES): Likewise.
32912 (CONF_DISTFILES): Likewise.
32913 (DISK_DISTFILES): Likewise.
32914 (FS_DISTFILES): Likewise.
32915 (INCLUDE_DISTFILES): Likewise.
32916 (KERN_DISTFILES): Likewise.
32917 (LOADER_DISTFILES): Likewise.
32918 (TERM_DISTFILES): Likewise.
32919 (UTIL_DISTFILES): Likewise.
32920 (DISTFILES): Likewise.
32921 (uninstall): Uninstall files in $(pkgdata_DATA).
32922 (DISTLIST): New target.
32923 (distdir): Use the contents of the file DISTLIST to get a list of
32924 distributed files.
32925
32926 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32927
32928 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
32929 descriptor. This is ported from GRUB Legacy.
32930
32931 * gencmdlist.sh: Added an extra semicolon to make it work with
32932 old sed versions. Reported by Robert Bihlmeyer
32933 <robbe@orcus.priv.at>.
32934
32935 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
32936
32937 Automatic loading of commands is supported.
32938
32939 * normal/main.c (read_command_list): New function.
32940 (grub_normal_execute): Call read_command_list.
32941
32942 * normal/command.c (grub_register_command): Return zero or CMD.
32943 Allocate CMD->NAME from the heap.
32944 Initialize CMD->MODULE_NAME to zero.
32945 Find the same name as well. If the same command is found and it is
32946 a dummy command, overwrite members. If it is not a dummy command,
32947 return zero.
32948 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
32949 (grub_command_find): If a dummy command is found, load a module
32950 and retry to find a command only once.
32951
32952 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
32953 make sure that each command is loaded.
32954
32955 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
32956 macro.
32957 (struct grub_command): Remove const from the member `name'.
32958 Add a new member `module_name'.
32959 (grub_register_command): Return grub_command_t.
32960
32961 * commands/help.c (grub_cmd_help): Call grub_command_find to make
32962 sure that each command is loaded.
32963
32964 * genmk.rb (PModule::rule): Specify a module name without the
32965 suffix ".mod" to gencmdlist.sh.
32966
32967 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32968
32969 * gencmdlist.sh: New file.
32970
32971 * genmk.rb (PModule::rule): Generate a rule for a command list.
32972 Clean command.lst.
32973 Generate command.lst from $(COMMANDFILES).
32974
32975 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
32976 (DATA): Added $(pkgdata_DATA).
32977 (install-local): Install files in $(pkgdata_DATA).
32978
32979 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32980
32981 * term/i386/pc/vga.c (debug_command): Removed.
32982 (GRUB_MOD_INIT): Do not register the command "debug".
32983
32984 From Hollis Blanchard:
32985 * commands/configfile.c: New file.
32986 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32987 commands/configfile.c.
32988 (pkgdata_MODULES): Added configfile.mod.
32989 (configfile_mod_SOURCES): New variable.
32990 (configfile_mod_CFLAGS): Likewise.
32991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32992 commands/configfile.c.
32993 (pkgdata_MODULES): Added configfile.mod.
32994 (configfile_mod_SOURCES): New variable.
32995 (configfile_mod_CFLAGS): Likewise.
32996 * util/grub-emu.c (main): Call grub_configfile_init and
32997 grub_configfile_fini.
32998 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
32999 prototype.
33000 [GRUB_UTIL] (grub_configfile_fini): Likewise.
33001
33002 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
33003
33004 * normal/arg.c (grub_arg_show_help): Do not show the bug report
33005 address.
33006
33007 * commands/help.c (grub_cmd_help): Do not print newlines after
33008 the last command in print_command_help.
33009
33010 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
33011
33012 * commands/default.h: New file.
33013 * commands/timeout.h: Likewise.
33014 * normal/context.c: Likewise.
33015
33016 * util/misc.c: Do not include sys/times.h.
33017 Include sys/time.h and grub/machine/time.h.
33018 (grub_get_rtc): Rewritten with gettimeofday.
33019
33020 * util/grub-emu.c (main): Call grub_default_init and
33021 grub_timeout_init before grub_normal_init, and call
33022 grub_timeout_fini and grub_default_fini after grub_main.
33023
33024 * util/console.c (grub_ncurses_checkkey): Return the read
33025 character or -1.
33026
33027 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
33028 timeouts.
33029
33030 * normal/main.c (read_config_file): Push MENU. If this fails,
33031 print an error and wait for a user input.
33032 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
33033 If a menu is empty or an error occurs, pop MENU.
33034 (grub_normal_execute): Pop and free MENU after grub_menu_run
33035 returns.
33036
33037 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
33038
33039 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
33040 include time.h.
33041 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33042 without GRUB_UTIL.
33043 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
33044 time.h.
33045 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33046 without GRUB_UTIL.
33047
33048 * include/grub/normal.h (struct grub_menu_list): New struct.
33049 (grub_menu_list_t): New type.
33050 (struct grub_context): New struct.
33051 (grub_context_t): New type.
33052 (grub_register_command): Got rid of EXPORT_FUNC.
33053 (grub_unregister_command): Likewise.
33054 (grub_context_get): New prototype.
33055 (grub_context_get_current_menu): Likewise.
33056 (grub_context_push_menu): Likewise.
33057 (grub_context_pop_menu): Likewise.
33058 [GRUB_UTIL] (grub_default_init): Likewise.
33059 [GRUB_UTIL] (grub_default_fini): Likewise.
33060 [GRUB_UTIL] (grub_timeout_init): Likewise.
33061 [GRUB_UTIL] (grub_timeout_fini): Likewise.
33062
33063 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
33064 commands/timeout.c and normal/context.c.
33065 (pkgdata_MODULES): Added default.mod and timeout.mod.
33066 (normal_mod_SOURCES): Added normal/context.c.
33067 (default_mod_SOURCES): New variable.
33068 (default_mod_CFLAGS): Likewise.
33069 (timeout_mod_SOURCES): Likewise.
33070 (timeout_mod_CFLAGS): Likewise.
33071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
33072 conf/i386-pc.rmk.
33073 (pkgdata_MODULES): Added default.mod and timeout.mod.
33074 (normal_mod_SOURCES): Added normal/context.c.
33075 (default_mod_SOURCES): New variable.
33076 (default_mod_CFLAGS): Likewise.
33077 (timeout_mod_SOURCES): Likewise.
33078 (timeout_mod_CFLAGS): Likewise.
33079
33080 * Makefile.in (all-local): Added $(MKFILES).
33081
33082 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
33083
33084 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
33085 (grub_emu_SOURCES): Likewise.
33086 (pkgdata_MODULES): Add `sun.mod'.
33087 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33089 `partmap/sun.c'.
33090 (pkgdata_MODULES): Add `sun.mod'.
33091 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33092 * include/grub/partition.h (grub_sun_partition_map_init): New
33093 prototype.
33094 (grub_sun_partition_map_fini): Likewise.
33095 * partmap/sun.c: New file.
33096 * util/grub-emu.c (main): Initialize and de-initialize the sun
33097 partitionmap support.
33098
33099 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
33100
33101 This implements an Emacs-like menu entry editor.
33102
33103 * normal/menu_entry.c: New file.
33104
33105 * util/console.c (grub_ncurses_putchar): Translate some Unicode
33106 characters to ASCII.
33107 (saved_char): New variable.
33108 (grub_ncurses_checkkey): Rewritten completely.
33109 (grub_ncurses_getkey): Likewise.
33110 (grub_ncurses_init): Call raw instead of cbreak.
33111
33112 * normal/menu.c (print_entry): Do not put a space.
33113 (init_page): Renamed to ...
33114 (grub_menu_init_page): ... this. All callers changed.
33115 (edit_menu_entry): Removed.
33116 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
33117
33118 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
33119
33120 * kern/misc.c (grub_vprintf): Call grub_refresh.
33121
33122 * normal/menu.c (DISP_LEFT): Renamed to ...
33123 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
33124 * normal/menu.c (DISP_UP): Renamed to ...
33125 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
33126 * normal/menu.c (DISP_RIGHT): Renamed to ...
33127 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
33128 * normal/menu.c (DISP_DOWN): Renamed to ...
33129 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
33130 * normal/menu.c (DISP_HLINE): Renamed to ...
33131 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
33132 * normal/menu.c (DISP_VLINE): Renamed to ...
33133 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
33134 * normal/menu.c (DISP_UL): Renamed to ...
33135 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
33136 * normal/menu.c (DISP_UR): Renamed to ...
33137 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
33138 * normal/menu.c (DISP_LL): Renamed to ...
33139 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
33140 * normal/menu.c (DISP_LR): Renamed to ...
33141 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
33142 * normal/menu.c (TERM_WIDTH): Renamed to ...
33143 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
33144 * normal/menu.c (TERM_HEIGHT): Renamed to ...
33145 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
33146 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
33147 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
33148 * normal/menu.c (TERM_MARGIN): Renamed to ...
33149 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
33150 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
33151 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
33152 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
33153 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
33154 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
33155 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
33156 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
33157 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
33158 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
33159 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
33160 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
33161 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
33162 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
33163 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
33164 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
33165 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
33166 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
33167 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
33168 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
33169 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
33170 All callers changed.
33171
33172 * include/grub/normal.h: New prototype.
33173
33174 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33175 normal/menu_entry.c.
33176 (normal_mod_SOURCES): Likewise.
33177 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33178 (normal_mod_SOURCES): Likewise.
33179
33180 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
33181
33182 * include/grub/normal.h (grub_halt_init): New prototype.
33183 (grub_halt_fini): Likewise.
33184 (grub_reboot_init): Likewise.
33185 (grub_reboot_fini): Likewise.
33186
33187 * util/grub-emu.c: Include signal.h.
33188 (main_env): New global variable.
33189 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
33190 catch C-c.
33191 (grub_machine_fini): New function.
33192 (main): Call grub_halt_init and grub_reboot_init before
33193 grub_main, and grub_reboot_fini and grub_halt_fini after it.
33194 Call setjmp with MAIN_ENV to go back afterwards.
33195 Call grub_machine_fini right before return.
33196
33197 * include/grub/util/misc.h: Include setjmp.h.
33198 (main_env): New prototype.
33199
33200 * include/grub/kernel.h (grub_machine_fini): New prototype.
33201 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
33202 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
33203
33204 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
33205 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
33206 * term/i386/pc/console.c (grub_console_fini): Likewise.
33207
33208 * util/i386/pc/misc.c: New file.
33209
33210 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33211 util/i386/pc/misc.c, commands/i386/pc/halt.c and
33212 commands/i386/pc/reboot.c.
33213
33214 2005-02-14 Guillem Jover <guillem@hadrons.org>
33215
33216 * include/grub/dl.h (grub_dl_check_header): New prototype.
33217 (grub_arch_dl_check_header): Change return type to grub_err_t,
33218 remove size parameter and export function. Update all callers.
33219 * kern/dl.c (grub_dl_check_header): New function.
33220 (grub_dl_load_core): Use `grub_dl_check_header' instead of
33221 `grub_arch_dl_check_header'. Check ELF type. Check if sections
33222 are inside the core.
33223 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
33224 independent ELF header checks.
33225 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33226 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
33227 `grub_dl_check_header' instead of explicit checks. Check for the
33228 ELF type.
33229 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
33230 `grub_dl_check_header' instead of explicit checks. Remove arch
33231 specific ELF header checks.
33232
33233 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
33234 argument SIZE.
33235
33236 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
33237
33238 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
33239 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
33240
33241 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
33242
33243 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
33244 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
33245 (part_map_iterate): Clear `grub_errno' and return 0 if
33246 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
33247 * partmap/amiga.c (amiga_partition_map_iterate): Return
33248 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
33249 * partmap/apple.c (apple_partition_map_iterate): Likewise.
33250
33251 2005-02-01 Guillem Jover <guillem@hadrons.org>
33252
33253 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
33254 help info.
33255
33256 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33257
33258 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
33259 Removed prototype.
33260 (grub_rescue_cmd_linux): New prototype.
33261 (grub_rescue_cmd_initrd): Likewise.
33262 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
33263 `bi_rec'.
33264 (grub_linux_release_mem): Release the memory for the initrd.
33265 (grub_load_linux): Renamed from this...
33266 (grub_rescue_cmd_linux): ...To this. Changed all callers.
33267 Changed `entry' not to be static. Loop over memory regions to
33268 find another one when the default fails.
33269 (grub_rescue_cmd_initrd): New function.
33270 (grub_linux_init): Remove function.
33271 (grub_linux_fini): Likewise.
33272 (GRUB_MOD_INIT): Register `initrd'.
33273 (GRUB_MOD_FINI): Unregister `initrd'.
33274 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
33275 Function removed.
33276 (grub_linux_normal_fini): Likewise.
33277 (GRUB_MOD_INIT): Register `initrd'.
33278 (GRUB_MOD_FINI): Unregister `initrd'.
33279
33280 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33281
33282 * commands/help.c: New file.
33283 * normal/arg.c (show_help): Renamed to...
33284 (grub_arg_show_help): ... this.
33285 * commands/i386/pc/halt.c: New file.
33286 * commands/i386/pc/reboot.c: Likewise.
33287 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
33288 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
33289 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
33290 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
33291 variables.
33292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33293 `commands/help.c'.
33294 (pkgdata_MODULES): Add `help.mod'.
33295 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
33296 * grub/i386/pc/init.h (grub_reboot): New prototype.
33297 (grub_halt): Likewise.
33298 * include/grub/normal.h (grub_arg_show_help): New prototype.
33299 (grub_help_init): Likewise.
33300 (grub_help_fini): Likewise.
33301 * util/grub-emu.c (main): Initialize and deinitialize the help
33302 command.
33303
33304 * normal/cmdline.c (grub_cmdline_get): Doc fix.
33305
33306 * normal/command.c (grub_command_init): Fixed the description of
33307 the `set' and `unset' commands.
33308
33309 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33310
33311 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
33312 function.
33313 * commands/ieee1275/halt.c: New file.
33314 * commands/ieee1275/reboot.c: Likewise.
33315 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
33316 `__attribute__ ((unused))'. Some GCS related fixed.
33317 (grub_suspend_init) [GRUB_UTIL]: Function removed.
33318 (grub_suspend_fini): Likewise.
33319 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
33320 and `halt.mod'.
33321 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
33322 (halt_mod_CFLAGS): New variables.
33323 * include/grub/powerpc/ieee1275/ieee1275.h
33324 (grub_ieee1275_interpret): New prototype.
33325
33326 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
33327
33328 * include/grub/misc.h (memmove): New prototype.
33329 (memcpy): Likewise.
33330
33331 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
33332
33333 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
33334 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
33335
33336 2005-01-22 Marco Gerards <metgerards@student.han.nl>
33337
33338 * kern/misc.c (grub_strndup): Function rewritten.
33339
33340 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
33341
33342 * normal/menu.c (TERM_WIDTH): Macro redefined.
33343 (TERM_TOP_BORDER_Y): Likewise.
33344 (draw_border): Replaced while-loop by a for-loop. Make the number
33345 of lines consistent with the number of lines displayed in
33346 print_entries. Added a margin below the rectangle.
33347 (print_entry): Make the entry fit in the rectangle.
33348 (print_entries): Display the scroll arrows next to the right
33349 border.
33350
33351 2005-01-21 Marco Gerards <metgerards@student.han.nl>
33352
33353 * fs/minix.c (grub_minix_find_file): Reserve more space for
33354 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
33355 `grub_strncpy' to copy `path' into it.
33356
33357 2005-01-21 Marco Gerards <metgerards@student.han.nl>
33358
33359 Add the loopback device, a device via which files can be accessed
33360 as devices.
33361
33362 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
33363 (pkgdata_MODULES): Add loopback.mod.
33364 (loopback_mod_SOURCES): New variable.
33365 (loopback_mod_CFLAGS): Likewise.
33366 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33367 `disk/loopback.c'.
33368 (pkgdata_MODULES): Add loopback.mod.
33369 (loopback_mod_SOURCES): New variable.
33370 (loopback_mod_CFLAGS): Likewise.
33371 * disk/loopback.c: new file.
33372 * include/grub/normal.h (grub_loop_init): New prototype.
33373 (grub_loop_fini): New prototype.
33374 * util/grub-emu.c (main): Initialize and de-initialize loopback
33375 support.
33376 * include/grub/disk.h (grub_disk_dev_id): Add
33377 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
33378
33379 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
33380
33381 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
33382 function.
33383 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
33384 (suspend_mod_SOURCES): New variable.
33385 (suspend_mod_CFLAGS): Likewise.
33386 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
33387 New prototype.
33388 * commands/ieee1275/suspend.c: New file.
33389
33390 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33391
33392 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
33393 ((unused))' to `__attribute__ ((used))'.
33394 (GRUB_MOD_FINI): Likewise.
33395 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
33396 * genmk.rb (PModule): Assign space to common symbols when linking
33397 modules.
33398
33399 2005-01-20 Marco Gerards <metgerards@student.han.nl>
33400
33401 * include/grub/mm.h (grub_mm_init_region): Change the type of the
33402 `unsigned' arguments to `grub_size_t'.
33403 (grub_malloc): Likewise.
33404 (grub_realloc): Likewise.
33405 (grub_memalign): Likewise.
33406 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
33407 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33408 * util/misc.c (grub_malloc): Likewise.
33409 (grub_realloc): Likewise.
33410 * kern/mm.c (get_header_from_pointer): Change the casts to
33411 `unsigned' into a cast to `grub_size_t'.
33412
33413 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
33414 point to `currnode' when `currnode' is changed.
33415
33416 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
33417 Schottelius <nico-linux@schottelius.org>.
33418
33419 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
33420
33421 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
33422 (note_path): Remove variable.
33423 (GRUB_IEEE1275_NOTE_NAME): New macro.
33424 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
33425 (grub_ieee1275_note_hdr): New structure.
33426 (grub_ieee1275_note_desc): Likewise.
33427 (grub_ieee1275_note): Likewise.
33428 (load_note): Remove `dir' argument. All callers updated. Remove
33429 `note_img' and `path'. Do not load a file from `note_path'.
33430 Initialize a struct grub_ieee1275_note and write that to `out'.
33431 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
33432
33433 2005-01-05 Marco Gerards <metgerards@student.han.nl>
33434
33435 * util/misc.c (grub_util_read_image): Revert last change. It
33436 called `grub_util_read_at', which seeks from the beginning of the
33437 file.
33438
33439 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
33440
33441 * TODO: Add note about endianness in grub-mkimage.
33442 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
33443 section.
33444 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
33445 (grub_mkimage_SOURCES): New target.
33446 * include/grub/kernel.h (grub_start_addr): Remove variable.
33447 (grub_end_addr): Likewise.
33448 (grub_total_module_size): Likewise.
33449 (grub_kernel_image_size): Likewise.
33450 (GRUB_MODULE_MAGIC): New constant.
33451 (grub_module_info): New structure.
33452 (grub_arch_modules_addr): New prototype.
33453 (grub_get_end_addr): Remove prototype.
33454 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
33455 * include/grub/powerpc/ieee1275/kernel.h: New file.
33456 * include/grub/util/misc.h (grub_util_get_fp_size): New
33457 prototype.
33458 (grub_util_read_at): Likewise.
33459 (grub_util_write_image_at): Likewise.
33460 * kern/main.c (grub_get_end_addr): Remove function.
33461 (grub_load_modules): Call grub_arch_modules_addr instead of using
33462 grub_end_addr. Look for a grub_module_info struct in memory. Use
33463 the grub_module_info fields instead of calling grub_get_end_addr
33464 as loop conditions. Move grub_add_unused_region code here.
33465 (grub_add_unused_region): Remove function.
33466 * kern/i386/pc/init.c: Include grub/cache.h.
33467 (grub_machine_init): Remove call to grub_get_end_addr. Remove
33468 one call to add_mem_region.
33469 (grub_arch_modules_addr): New function.
33470 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
33471 (grub_total_module_size): Likewise.
33472 Include grub/machine/kernel.h.
33473 (grub_arch_modules_addr): New function.
33474 * util/grub-emu.c (grub_end_addr): Remove variable.
33475 (grub_total_module_size): Likewise.
33476 (grub_arch_modules_addr): New function.
33477 * util/misc.c: Include unistd.h.
33478 (grub_util_get_fp_size): New function.
33479 (grub_util_read_at): Likewise.
33480 (grub_util_write_image_at): Likewise.
33481 (grub_util_read_image): Call grub_util_read_at.
33482 (grub_util_write_image): Call grub_util_write_image_at.
33483 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
33484 additional memory in kernel_img for a struct grub_module_info.
33485 Fill in that grub_module_info.
33486 * util/powerpc/ieee1275/grub-mkimage.c: New file.
33487
33488 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33489
33490 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
33491 New function.
33492 * include/grub/powerpc/ieee1275/ieee1275.h
33493 (grub_ieee1275_milliseconds): New prototype.
33494 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
33495 Change to 1000.
33496 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
33497 grub_ieee1275_milliseconds.
33498
33499 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33500
33501 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
33502 variable.
33503 (find_options): New function.
33504 (cmain): Call find_options.
33505 * include/grub/powerpc/ieee1275/ieee1275.h
33506 (grub_ieee1275_realmode): New extern variable.
33507 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
33508 grub_map if grub_ieee1275_realmode is false.
33509
33510 2004-12-29 Marco Gerards <metgerards@student.han.nl>
33511
33512 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
33513 lines are inserted and make it work like readline. Reported by
33514 Vincent Pelletier <subdino2004@yahoo.fr>.
33515
33516 2004-12-28 Marco Gerards <metgerards@student.han.nl>
33517
33518 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
33519
33520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
33521 `kern/powerpc/cache.S'.
33522
33523 2004-12-27 Marco Gerards <metgerards@student.han.nl>
33524
33525 * genmk.rb: Handle the `Program' class in the main loop. Written
33526 by Johan Rydberg <jrydberg@gnu.org>.
33527 (Program): New class.
33528 (programs): New variable.
33529 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
33530 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
33531 instead of "grub/kernel.h". Include <grub/machine/init.h>.
33532 (help_arch): Function removed.
33533 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
33534 `powerpc/libgcc.h' and `loader.h'.
33535 (pkgdata_PROGRAMS): New variable.
33536 (sbin_UTILITIES): Variable removed.
33537 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
33538 (grubof_SOURCES): Variable re-defined so it only includes the
33539 core functionality.
33540 (grubof_CFLAGS): Remove `-DGRUBOF'.
33541 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
33542 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
33543 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
33544 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
33545 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
33546 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
33547 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
33548 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
33549 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
33550 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
33551 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33552 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
33553 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
33554 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
33555 (pc_mod_CFLAGS): New variables.
33556 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
33557 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
33558 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
33559 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
33560 Moved from here...
33561 * include/grub/i386/pc/init.h (grub_os_area_addr)
33562 (rub_os_area_size): ... to here.
33563 * include/grub/powerpc/ieee1275/ieee1275.h
33564 (grub_ieee1275_entry_fn): Export symbol.
33565 * include/grub/powerpc/ieee1275/init.h: New file.
33566 * include/grub/powerpc/libgcc.h: Likewise.
33567 * include/grub/cache.h: Likewise.
33568 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
33569 <hollis@penguinppc.org>.
33570 * kern/dl.c: Include <grub/cache.h>.
33571 (grub_dl_flush_cache): New function.
33572 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
33573 for this module.
33574 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
33575 (grub_console_init): Removed prototypes.
33576 (grub_machine_init): Don't initialize the modules anymore.
33577 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
33578 static.
33579 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
33580 Macro undef removed.
33581 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
33582 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
33583 relocation `R_PPC_REL32'. Return an error when the relocation is
33584 unknown.
33585 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
33586 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
33587 * util/misc.c (grub_arch_sync_caches): Likewise.
33588
33589 2004-12-19 Marco Gerards <metgerards@student.han.nl>
33590
33591 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
33592 `symlist.c', add `grubof_symlist.c'.
33593 (symlist.c): Variable removed.
33594 (grubof_HEADERS): Variable added.
33595 (grubof_symlist.c): New target.
33596 (kernel_syms.lst): Use `grubof_HEADERS' instead of
33597 `kernel_img_HEADERS'.
33598 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
33599 * kern/powerpc/dl.c: New file.
33600 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
33601 Function removed.
33602 (grub_arch_dl_relocate_symbols): Likewise.
33603 (grub_register_exported_symbols): Likewise.
33604
33605 2004-12-13 Marco Gerards <metgerards@student.han.nl>
33606
33607 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
33608 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
33609 to fail instead. Reported by Vincent Pelletier
33610 <subdino2004@yahoo.fr>.
33611
33612 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
33613 it is not allocated. Reported by Vincent Pelletier
33614 <subdino2004@yahoo.fr>.
33615
33616 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
33617 output so the output looks better.
33618
33619 2004-12-04 Marco Gerards <metgerards@student.han.nl>
33620
33621 Modulize the partition map support and add support for the amiga
33622 partition map.
33623
33624 * commands/ls.c: Include <grub/partition.h> instead of
33625 <grub/machine/partition.h>.
33626 * kern/disk.c: Likewise.
33627 * kern/rescue.c: Likewise.
33628 * loader/i386/pc/chainloader.c: Likewise.
33629 * normal/cmdline.c: Likewise.
33630 * kern/powerpc/ieee1275/init.c: Likewise.
33631 (grub_machine_init): Call `grub_pc_partition_map_init',
33632 `grub_amiga_partition_map_init' and
33633 `grub_apple_partition_map_init'.
33634 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
33635 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
33636 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
33637 `partition.h' and `pc_partition.h'.
33638 (grub_setup_SOURCES): Remove
33639 `disk/i386/pc/partition.c'. Add `kern/partition.c',
33640 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33641 (grub_emu_SOURCES): Likewise.
33642 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
33643 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
33644 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
33645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33646 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
33647 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33648 (grubof_SOURCES): Likewise.
33649 * disk/i386/pc/partition.c: File removed.
33650 * disk/powerpc/ieee1275/partition.c: Likewise.
33651 * include/grub/powerpc/ieee1275/partition.h: Likewise.
33652 * include/grub/i386/pc/partition.h: Likewise.
33653 * kern/partition.c: New file.
33654 * partmap/amiga.c: Likewise.
33655 * partmap/apple.c: Likewise.
33656 * partmap/pc.c: Likewise.
33657 * include/grub/partition.h: Likewise..
33658 * include/grub/pc_partition.h: Likewise.
33659 * util/grub-emu.c: Include <grub/partition.h> instead of
33660 <grub/machine/partition.h>.
33661 (main): Call `grub_pc_partition_map_init',
33662 `grub_amiga_partition_map_init' and
33663 `grub_apple_partition_map_init' and deinitialize afterwards.
33664 * util/i386/pc/biosdisk.c: Include `#include
33665 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33666 `<grub/machine/partition.h>'.
33667 * util/i386/pc/grub-setup.c: Likewise.
33668 * util/i386/pc/biosdisk.c: Likewise.
33669 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
33670 partition information in case of a PC partition.
33671 * util/i386/pc/grub-setup.c: Include `#include
33672 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33673 `<grub/machine/partition.h>'.
33674 (setup): Only access the PC specific partition information in case
33675 of a PC partition.
33676
33677 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
33678
33679 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
33680 (grub_longjmp): Likewise.
33681 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
33682 20.
33683 * normal/powerpc/setjmp.S: New file.
33684 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33685 `normal/powerpc/setjmp.S'.
33686 (grubof_CFLAGS): Add `-DGRUBOF'.
33687 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
33688 [GRUB_UTIL && !GRUBOF].
33689
33690 2004-11-16 Marco Gerards <metgerards@student.han.nl>
33691
33692 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
33693 property named `name'. Correctly handle the error returned by
33694 `grub_ieee1275_finddevice' if a device can not be opened.
33695
33696 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
33697
33698 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
33699 `actual' for negativity.
33700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33701 kern/fshelp.c.
33702
33703 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33704
33705 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
33706 (PAGE_OFFSET): New macro.
33707 (CRTC_ADDR_PORT): Likewise.
33708 (CRTC_DATA_PORT): Likewise.
33709 (START_ADDR_HIGH_REGISTER): Likewise.
33710 (START_ADDR_LOW_REGISTER): Likewise.
33711 (GRAPHICS_ADDR_PORT): Likewise.
33712 (GRAPHICS_DATA_PORT): Likewise.
33713 (READ_MAP_REGISTER): Likewise.
33714 (INPUT_STATUS1_REGISTER): Likewise.
33715 (INPUT_STATUS1_VERTR_BIT): Likewise.
33716 (page): New variable.
33717 (wait_vretrace): New function.
33718 (set_read_map): Likewise.
33719 (set_start_address): Likewise.
33720 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
33721 the right page.
33722 (check_vga_mem): Take the page into account.
33723 (write_char): Likewise.
33724 (write_cursor): Likewise.
33725 (scroll_up): Likewise. Copy the page to the page that is not
33726 shown and switch between both pages.
33727 (grub_vga_putchar): Fix off by one error.
33728 (grub_vga_cls): Wait for the vertical retrace. Take the page into
33729 account.
33730
33731 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33732
33733 Add support for iso9660 (including rockridge).
33734
33735 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33736 (iso9660_mod_SOURCES): New variable.
33737 (iso9660_mod_CFLAGS): Likewise.
33738 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33739 * include/grub/fs.h (grub_iso9660_init): New prototype.
33740 * util/grub-emu.c (main): Call `grub_iso9660_init'.
33741 * fs/iso9660.c: New file.
33742
33743 * include/grub/misc.h (grub_strncat): New prototype.
33744 * kern/misc.c (grub_strncat): New function.
33745
33746 * fs/hfs.c (grub_hfs_mount): Translate the error
33747 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
33748 * fs/jfs.c (grub_jfs_mount): Likewise.
33749 * fs/ufs.c (grub_ufs_mount): Likewise.
33750
33751 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
33752
33753 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
33754 which initialized BAT registers.
33755 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
33756 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33757 Move from here...
33758 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
33759 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33760 ... to here.
33761 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
33762 (grub_mapclaim): Likewise.
33763 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
33764 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
33765 hand.
33766
33767 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
33768
33769 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
33770 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
33771 -ffreestanding and -msoft-float.
33772
33773 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
33774
33775 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
33776 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
33777 set in grub_ieee1275_flags.
33778
33779 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
33780
33781 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
33782 prototype.
33783 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
33784 grub_console_init first.
33785 Change the memory range used for grub_ieee1275_claim and
33786 grub_mm_init_region.
33787 Print an error message if the claim fails.
33788 Include <grub/misc.h>.
33789
33790 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
33791
33792 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
33793 Call grub_children_iterate for device nodes of type `scsi',
33794 `ide', or `ata'.
33795 (grub_ofdisk_open): Remove manual device alias resolution.
33796 Fix memory leak when device cannot be opened.
33797 * include/grub/powerpc/ieee1275/ieee1275.h
33798 (grub_children_iterate): New prototype.
33799 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
33800 New function.
33801 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33802 Return -1 if args.size was -1.
33803
33804 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33805
33806 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
33807 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
33808 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
33809 Open Firmware's memory for it; claim memory from _start to _end.
33810 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
33811 (_end): New extern.
33812 (_start): Zero BSS from __bss_start to _end.
33813 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33814 New extern.
33815 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
33816
33817 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33818
33819 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
33820 -1 if args.base was -1.
33821
33822 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
33823
33824 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
33825 escape sequence instead of a literal ^L. Also call
33826 grub_ofconsole_gotoxy.
33827
33828 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
33829
33830 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
33831 void * arguments to grub_addr_t. All callers updated. Also make
33832 the `result' argument optional.
33833 (grub_ieee1275_release): change void * arguments to grub_addr_t.
33834 All callers updated.
33835
33836 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
33837
33838 * commands/ls.c (grub_ls_list_files): Use the string following the
33839 initial ')', if present, as the filesystem path.
33840 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
33841
33842 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
33843
33844 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
33845
33846 Make the source code of the menu interface more readable.
33847
33848 * normal/menu.c: Include grub/mm.h.
33849 (TERM_WIDTH): New macro.
33850 (TERM_HEIGHT): Likewise.
33851 (TERM_INFO_HEIGHT): Likewise.
33852 (TERM_MARGIN): Likewise.
33853 (TERM_SCROLL_WIDTH): Likewise.
33854 (TERM_TOP_BORDER_Y): Likewise.
33855 (TERM_LEFT_BORDER_X): Likewise.
33856 (TERM_BORDER_WIDTH): Likewise.
33857 (TERM_MESSAGE_HEIGHT): Likewise.
33858 (TERM_BORDER_HEIGHT): Likewise.
33859 (TERM_NUM_ENTRIES): Likewise.
33860 (TERM_FIRST_ENTRY_Y): Likewise.
33861 (TERM_ENTRY_WIDTH): Likewise.
33862 (TERM_CURSOR_X): Likewise.
33863 (draw_border): Use macros instead of magic numbers.
33864 (print_entry): Likewise.
33865 (print_entries): Likewise.
33866 (run_menu): Likewise. Also, handle the key 'e'.
33867 (run_menu_entry): Ignore empty command lines.
33868 (print_message): Added a new argument EDIT. If EDIT is true,
33869 print a different message.
33870 (init_page): Likewise.
33871 (edit_menu_entry): New function. Not implemented yet.
33872
33873 2004-09-17 Marco Gerards <metgerards@student.han.nl>
33874
33875 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
33876 can be loaded from normal mode.
33877
33878 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
33879 `multiboot.mod'.
33880 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
33881 (multiboot_mod_CFLAGS): New variables.
33882 * loader/i386/pc/linux_normal.c: New file.
33883 * loader/i386/pc/multiboot_normal.c: Likewise.
33884
33885 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
33886 attribute `unused'.
33887
33888 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
33889 `fdiro' to read the mode information from instead of `diro'.
33890
33891 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
33892 looking up a symlink.
33893
33894 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
33895 macro.
33896 * normal/command.c (grub_command_execute): Don't parse the
33897 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
33898 flags of the command.
33899
33900 * normal/menu.c (grub_menu_run): Fix typo.
33901
33902 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
33903
33904 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
33905
33906 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
33907 `y + 1' instead of `y - 1'.
33908
33909 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
33910
33911 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
33912
33913 From Hollis Blanchard <hollis@penguinppc.org>:
33914 * kern/misc.c (memmove): New alias for grub_memmove.
33915 (memcmp): New alias for grub_memcmp.
33916 (memset): New alias for grub_memset.
33917 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33918 Change "int handle" to "grub_ieee1275_phandle_t handle".
33919 * include/grub/powerpc/ieee1275/ieee1275.h
33920 (grub_ieee1275_get_property): Likewise.
33921
33922 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
33923
33924 Added normal mode command `chainloader' as module chain.mod, which
33925 depends on normal.mod and _chain.mod.
33926
33927 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
33928 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
33929 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
33930 Deleted prototype.
33931 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
33932 but arguments parsing moved to ...
33933 (grub_chainloader_cmd): ... here. New function.
33934 * include/grub/i386/pc/chainloader.h: New file.
33935 * loader/i386/pc/chainloader_normal.c: Likewise.
33936
33937 2004-09-11 Marco Gerards <metgerards@student.han.nl>
33938
33939 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
33940 (grub_mkimage_LDFLAGS): Likewise.
33941 (grub_emu_SOURCES): Likewise.
33942 (kernel_img_HEADERS): Added fshelp.h.
33943 * fs/ext2.c: Include <grub/fshelp.h>.
33944 (FILETYPE_REG): New macro.
33945 (FILETYPE_INO_REG): Likewise.
33946 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
33947 Changed all users.
33948 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
33949 all users.
33950 (grub_fshelp_node): New struct.
33951 (grub_ext2_data): Added member `diropen'. Changed member `inode'
33952 to a pointer.
33953 (grub_ext2_get_file_block): Removed function.
33954 (grub_ext2_read_block): New function.
33955 (grub_ext2_read_file): Replaced parameter `data' by `node'.
33956 This function was written.
33957 (grub_ext2_mount): Read the root inode. Create a diropen struct.
33958 (grub_ext2_find_file): Removed function.
33959 (grub_ext2_read_symlink): New function.
33960 (grub_ext2_iterate_dir): Likewise.
33961 (grub_ext2_open): Rewritten.
33962 (grub_ext2_dir): Rewritten.
33963 * include/grub/fshelp.h: New file.
33964 * fs/fshelp.c: Likewise.
33965
33966 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
33967
33968 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
33969 (print_message): Add a missing newline.
33970 (run_menu): Added timeout support.
33971 (run_menu_entry): New local function.
33972 (grub_menu_run): Added support for booting.
33973
33974 * kern/loader.c (grub_loader_is_loaded): New function.
33975
33976 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
33977 (grub_get_rtc): Exported.
33978
33979 * include/grub/i386/pc/time.h: Include grub/symbol.h.
33980 (grub_get_rtc): Exported.
33981
33982 * include/grub/normal.h (struct grub_command_list): Remove
33983 constant from the member `command'.
33984
33985 * include/grub/loader.h (grub_loader_is_loaded): Declared.
33986
33987 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
33988
33989 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
33990
33991 2004-08-28 Marco Gerards <metgerards@student.han.nl>
33992
33993 Add support for the JFS filesystem.
33994
33995 * fs/jfs.c: New file.
33996 * include/grub/fs.h (grub_jfs_init): New prototype.
33997 (grub_jfs_fini): New prototype.
33998 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
33999 (grub_emu_SOURCES): Likewise.
34000 (pkgdata_MODULES): Add jfs.mod.
34001 (jfs_mod_SOURCES): New variable.
34002 (jfs_mod_CFLAGS): Likewise.
34003 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
34004 (grubof_SOURCES): Likewise.
34005 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
34006
34007 * fs/fat.c (grub_fat_find_dir): Convert the filename little
34008 endian to the host endian.
34009 (grub_fat_utf16_to_utf8): Move function from there...
34010 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
34011 the endianness of the source string anymore.
34012 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
34013
34014 2004-08-24 Marco Gerards <metgerards@student.han.nl>
34015
34016 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
34017 (grub_boot_fini) [GRUB_UTIL]: Likewise.
34018 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
34019 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
34020
34021 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
34022 (grub_hfs_iterate_dir): Make the function static. Add prototypes
34023 for `node_found' and `it_dir'.
34024 (grub_hfs_dir): Add prototype for `dir_hook'.
34025
34026 * fs/minix.c (grub_minix_get_file_block): Add prototype for
34027 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
34028 and `indir32' to silence a gcc warning.
34029
34030 * include/grub/fs.h (grub_hfs_init): New prototype.
34031 (grub_hfs_fini): Likewise.
34032
34033
34034 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34035
34036 Each disk device has its own id now. This is useful to make use
34037 of multiple disk devices.
34038
34039 * include/grub/disk.h (grub_disk_dev_id): New enum.
34040 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
34041 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
34042
34043 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
34044 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34045
34046 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
34047 GRUB_DISK_DEVICE_OFDISK_ID as an id.
34048
34049 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
34050 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34051
34052 * include/grub/disk.h (struct grub_disk_dev): Added a new member
34053 "id" which is used by the cache manager.
34054
34055 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
34056 of just "GRUB".
34057
34058 2004-08-18 Marco Gerards <metgerards@student.han.nl>
34059
34060 * fs/hfs.c: New file.
34061 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
34062 (grub_emu_SOURCES): Likewise.
34063 (pkgdata_MODULES): Add hfs.mod.
34064 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
34065 (grubof_SOURCES): Likewise.
34066 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
34067
34068 * include/grub/misc.h (grub_strncasecmp): Add prototype.
34069 * kern/misc.c (grub_strncasecmp): Add function.
34070
34071 2004-08-14 Marco Gerards <metgerards@student.han.nl>
34072
34073 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
34074 with parentheses.
34075
34076 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
34077 (grub_ext2_dir): In case the directory entry type is unknown, read
34078 it from the inode.
34079
34080 2004-08-02 Peter Bruin <pjbruin@dds.nl>
34081
34082 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
34083 grub_load_linux instead of grub_rescue_cmd_linux as second
34084 argument of grub_rescue_register_command.
34085
34086 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
34087
34088 2004-07-27 Marco Gerards <metgerards@student.han.nl>
34089
34090 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
34091 function.
34092 * commands/boot.c: Remove the check for `GRUB_UTIL'.
34093 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
34094 `loader/powerpc/ieee1275/linux.c',
34095 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
34096 * include/grub/powerpc/ieee1275/ieee1275.h
34097 (grub_ieee1275_release): New prototype.
34098 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
34099 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
34100 normal, boot, linux and linux_normal.
34101 * loader/powerpc/ieee1275/linux.c: New file.
34102 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34103
34104 2004-07-12 Marco Gerards <metgerards@student.han.nl>
34105
34106 * normal/arg.c (grub_arg_parse): Correct error handling after
34107 reallocating the argumentlist (check if `argl' is not null instead
34108 of checking if `args' is not null).
34109 * kern/mm.c (grub_realloc): Return the same pointer when using the
34110 same region, instead of returning the header address.
34111
34112 2004-07-11 Marco Gerards <metgerards@student.han.nl>
34113
34114 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
34115 one block instead of two when looking for the initial partition.
34116 (grub_partition_probe): Initialize the local variable `p' with 0.
34117 Use base 10 for the grub_strtoul call.
34118 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
34119 need for one local variable.
34120 (grub_strtoul): Don't add the new value to `num', instead of that
34121 just assign it.
34122
34123 2004-07-11 Marco Gerards <metgerards@student.han.nl>
34124
34125 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
34126 (pxeboot_img_SOURCES): New variable.
34127 (pxeboot_img_ASFLAGS): Likewise.
34128 (pxeboot_img_LDFLAGS): Likewise.
34129 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
34130 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
34131 <lode_leroy@hotmail.com>.
34132
34133 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34134
34135 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
34136 there was no input.
34137
34138 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34139
34140 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
34141 the history buffer logic.
34142
34143 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34144
34145 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
34146 (FILETYPE_INO_SYMLINK): New macros.
34147 (grub_ext2_find_file): Check if the node is a directory using the
34148 inode stat information instead of using the filetype in the
34149 dirent. Exclude the first character of an absolute symlink.
34150 (grub_ext2_dir): Mask out the filetype part of the mode member of
34151 the inode.
34152
34153 2004-05-24 Marco Gerards <metgerards@student.han.nl>
34154
34155 Add support for UFS version 1 and 2. Add support for the minix
34156 filesystem version 1 and 2, both the variants with 14 and 30 long
34157 filenames.
34158
34159 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
34160 fs/minix.c.
34161 (grub_emu_SOURCES): Likewise.
34162 (pkgdata_MODULES): Add ufs.mod and minix.mod.
34163 (ufs_mod_SOURCES): New variable.
34164 (ufs_mod_CFLAGS): Likewise.
34165 (minix_mod_SOURCES): Likewise.
34166 (minix_mod_CFLAGS): Likewise.
34167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
34168 fs/minix.c.
34169 (grubof_SOURCES): Likewise.
34170 * fs/ufs.c: New file.
34171 * fs/minix.c: New file.
34172 * include/grub/fs.h (grub_ufs_init): New prototype.
34173 (grub_ufs_fini): Likewise.
34174 (grub_minix_init): Likewise.
34175 (grub_minix_fini): Likewise.
34176 * util/grub-emu.c (main): Initialize and deinitialize UFS and
34177 minix fs.
34178
34179 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
34180
34181 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
34182 commands/ls.c, commands/terminal.c, commands/boot.c,
34183 commands/cmp.c and commands/cat.c.
34184 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
34185
34186 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
34187 "env.h"
34188
34189 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34190
34191 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
34192 and grub_, respectively. Because the conversion is trivial and
34193 mechanical, I omit the details here. Please refer to the CVS
34194 if you need more information.
34195
34196 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34197
34198 * include/pupa: Renamed to ...
34199 * include/grub: ... this.
34200 * util/i386/pc/pupa-mkimage.c: Renamed to ...
34201 * util/i386/pc/grub-mkimage.c: ... this.
34202 * util/i386/pc/pupa-setup.c: Renamed to ...
34203 * util/i386/pc/grub-setup.c: ... this.
34204 * util/pupa-emu.c: Renamed to ...
34205 * util/grub-emu.c: ... this.
34206
34207 2004-03-29 Marco Gerards <metgerards@student.han.nl>
34208
34209 Add support for the newworld apple macintosh (PPC). This has been
34210 tested on the powerbook 2000 only. It only adds support for
34211 generic ieee1275 functions, console and disk support. This should
34212 be easy to port to other architectures with support for Open
34213 Firmware.
34214
34215 * configure.ac: Accept the powerpc as host_cpu. In the case of
34216 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
34217 specific tests are only executed while building for the i386.
34218 Inverse test for crosscompile.
34219 * genmk.rb (Utility): Allow assembler files.
34220 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
34221 * conf/powerpc-ieee1275.rmk: New file.
34222 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
34223 * disk/powerpc/ieee1275/partition.c: Likewise.
34224 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
34225 * include/pupa/powerpc/ieee1275/console.h: Likewise.
34226 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
34227 * include/pupa/powerpc/ieee1275/time.h: Likewise.
34228 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
34229 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
34230 * include/pupa/powerpc/ieee1275/loader.h
34231 * include/pupa/powerpc/setjmp.h: Likewise.
34232 * include/pupa/powerpc/types.h: Likewise.
34233 * kern/powerpc/ieee1275/init.c: Likewise.
34234 * kern/powerpc/ieee1275/openfw.c: Likewise.
34235 * term/powerpc/ieee1275/ofconsole.c: Likewise.
34236
34237 These files were written by Johan Rydberg
34238 (jrydberg@night.trouble.net) and I only modified them slightly.
34239
34240 * boot/powerpc/ieee1275/cmain.c: New file.
34241 * boot/powerpc/ieee1275/crt0.S: Likewise.
34242 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
34243 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
34244
34245 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
34246
34247 * Makefile.in: Update copyright.
34248 * genmodsrc.sh: Likewise.
34249 * gensymlist.sh: Likewise.
34250 * term/i386/pc/vga.c: Indent correctly.
34251
34252 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
34253 bugreporting address.
34254 * util/i386/pc/pupa-setup.c (usage): Likewise,
34255 (main): Call pupa_ext2_init and pupa_ext2_fini.
34256
34257 * fs/fat.c (log2): Renamed to ...
34258 (fat_log2): ... this.
34259 All callers changed.
34260 * kern/misc.c (memcpy): Alias to pupa_memmove.
34261 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
34262 lvalue cast.
34263 * util/console.c (pupa_ncurses_fini): Return 0.
34264
34265 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
34266 Move fail label here.
34267 [__GNU__]: Don't warn when using stat.
34268 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
34269 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
34270 long int. Use strtol instead of strtoul.
34271
34272 2004-03-14 Marco Gerards <metgerards@student.han.nl>
34273
34274 * commands/boot.c: New file.
34275 * commands/cat.c: Likewise.
34276 * commands/cmp.c: Likewise.
34277 * commands/ls.c: Likewise.
34278 * commands/terminal.c: Likewise.
34279 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
34280 (pupa_register_command): Changed interface to match the new
34281 argument parser.
34282 (pupa_command_execute): Changed (almost rewritten) so it uses
34283 pupa_split_command. Added support for setting variables using the
34284 syntax `foo=bar'.
34285 (rescue_command): Changed to work with the new argument parser.
34286 (terminal_command): Moved from here to commands/terminal.c.
34287 (set_command): New function.
34288 (unset_command): New function.
34289 (insmod_command): New function.
34290 (rmmod_command): New function.
34291 (lsmod_command): New function.
34292 (pupa_command_init): Don't initialize the command terminal
34293 anymore. Initialize the commands set, unset, insmod, rmmod and
34294 lsmod.
34295 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
34296 (kernel_img_HEADERS): Add arg.h and env.h.
34297 (pupa_mkimage_LDFLAGS): Add kern/env.c.
34298 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
34299 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
34300 normal/arg.c.
34301 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
34302 terminal.mod.
34303 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
34304 (boot_mod_SOURCES): New variable.
34305 (terminal_mod_SOURCES): Likewise.
34306 (ls_mod_SOURCES): Likewise.
34307 (cmp_mod_SOURCES): Likewise.
34308 (cat_mod_SOURCES): Likewise.
34309
34310 * normal/arg.c: New file.
34311 * kern/env.c: Likewise.
34312 * include/pupa/arg.h: Likewise.
34313 * include/pupa/env.h: Likewise.
34314 * font/manager.c (font_command): Changed to match argument parsing
34315 interface changes.
34316 (PUPA_MOD_INIT): Likewise.
34317 * hello/hello.c (pupa_cmd_hello): Likewise.
34318 (PUPA_MOD_INIT): Likewise.
34319 * include/pupa/disk.h: Include <pupa/device.h>.
34320 (pupa_print_partinfo): New prototype.
34321 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
34322 (pupa_dl_get_prefix): Likewise.
34323 * include/pupa/misc.h: Include <pupa/err.h>.
34324 (pupa_isgraph): New prototype.
34325 (pupa_isdigit): Likewise.
34326 (pupa_split_cmdline): Likewise.
34327 * include/pupa/normal.h: Include <pupa/arg.h>.
34328 (pupa_command): Changed the prototype of the member `func' to
34329 match the argument parsing interface. Added member `options'.
34330 (pupa_register_command): Updated to match function.
34331 (pupa_arg_parse): New prototype.
34332 (pupa_hello_init) [PUPA_UTIL]: New prototype.
34333 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
34334 (pupa_ls_init) [PUPA_UTIL]: Likewise.
34335 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
34336 (pupa_cat_init) [PUPA_UTIL]: Likewise.
34337 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
34338 (pupa_boot_init) [PUPA_UTIL]: Likewise.
34339 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
34340 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
34341 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
34342 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
34343 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
34344 * kern/disk.c: Include <pupa/file.h>.
34345 (pupa_print_partinfo): New function.
34346 * kern/dl.c: Include <pupa/env.h>.
34347 (pupa_dl_dir): Variable removed.
34348 (pupa_dl_load): Use the environment variable `prefix' instead of
34349 the variable pupa_dl_dir.
34350 (pupa_dl_set_prefix): Function removed.
34351 (pupa_dl_get_prefix): Likewise.
34352 * kern/i386/pc/init.c: Include <pupa/env.h>.
34353 (pupa_machine_init): Use the environment variable `prefix' instead of
34354 using pupa_dl_set_prefix to set the prefix.
34355 * kern/main.c: Include <pupa/env.h>.
34356 (pupa_set_root_dev): Use the environment variable `prefix' instead of
34357 using pupa_dl_get_prefix to get the prefix.
34358 * kern/misc.c: Include <pupa/env.h>.
34359 (pupa_isdigit): New function.
34360 (pupa_isgraph): Likewise.
34361 (pupa_ftoa): Likewise.
34362 (pupa_vsprintf): Added support for printing values of the type
34363 `double'. Make it possible to format variable output when using
34364 formatting like `%1.2%f'.
34365 (pupa_split_cmdline): New function.
34366 * kern/rescue.c: Include <pupa/env.h>.
34367 (next_word): Removed function.
34368 (pupa_rescue_cmd_prefix): Likewise.
34369 (pupa_rescue_cmd_set): New function.
34370 (pupa_rescue_cmd_unset): New function.
34371 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
34372 split the command line instead of splitting it here. Added
34373 support for setting variables using the syntax `foo=bar'. Don't
34374 initialize the prefix command anymore. Initialized the set and
34375 unset commands.
34376 * normal/cmdline.c: Include <pupa/env.h>.
34377 (pupa_tab_complete): Added prototypes for print_simple_completion,
34378 print_partition_completion, add_completion, iterate_commands,
34379 iterate_dev, iterate_part and iterate_dir. Moved code to print
34380 partition information from here to kern/disk.c.
34381 (pupa_cmdline_run): Don't check if the function exists anymore.
34382 * normal/main.c: Include <pupa/env.h>.
34383 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
34384 instead of using pupa_dl_get_prefix to get the prefix.
34385 * term/i386/pc/vga.c: Include <pupa/arg.h>.
34386 (check_vga_mem): Cast pointers to `void *' to silence a gcc
34387 warning.
34388 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
34389 (pupa_vga_setcolor): Declare unused variables with `__attribute__
34390 ((unused))' to silence a gcc warning.
34391 (pupa_vga_setcolor): Likewise.
34392 (debug_command): Changed to match argument parsing
34393 interface changes.
34394 * util/pupa-emu.c: Include <pupa/env.h>.
34395 (options): Added 0's for unused fields to silence a gcc warning.
34396 (argp): Likewise.
34397 (main): Use the environment variable `prefix' instead of using
34398 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
34399 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
34400 and terminal.
34401
34402 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
34403 * util/misc.c: Include <malloc.h>.
34404 (pupa_malloc): Rewritten so errors are correctly reported.
34405 (pupa_realloc): Likewise.
34406 (pupa_memalign): Likewise.
34407 (pupa_mm_init_region): Declare unused variables with
34408 `__attribute__ ((unused))' to silence a gcc warning.
34409 * normal/i386/setjmp.S: Remove tab at the end of the file to
34410 silence a gcc warning.
34411 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
34412 variables with `__attribute__ ((unused))' to silence a gcc
34413 warning.
34414 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
34415 local variable i unsigned to silence a gcc warning.
34416
34417 * kern/term.c: Include <pupa/misc.h>.
34418 (pupa_more_lines): New variable.
34419 (pupa_more): Likewise.
34420 (pupa_putcode): When the pager is active pause at the end of every
34421 screen.
34422 (pupa_set_more): New function.
34423 * include/pupa/term.h (pupa_set_more): New prototype.
34424
34425
34426 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
34427
34428 Now this project is GRUB 2 rather than PUPA. The location of
34429 the CVS repository was moved to GRUB's.
34430
34431 * configure.ac: Use bug-grub as the reporting address.
34432 Use GRUB instead of PUPA.
34433 Change the version number to 1.90.
34434
34435 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
34436
34437 * genkernsyms.sh: Updated copyright information.
34438 * genmk.rb: Likewise.
34439 * genmodsrc.sh: Likewise.
34440 * gensymlist.sh: Likewise.
34441 * boot/i386/pc/boot.S: Likewise.
34442 * boot/i386/pc/diskboot.S: Likewise.
34443 * disk/i386/pc/biosdisk.c: Likewise.
34444 * disk/i386/pc/partition.c: Likewise.
34445 * font/manager.c: Likewise.
34446 * fs/ext2.c: Likewise.
34447 * fs/fat.c: Likewise.
34448 * include/pupa/boot.h: Likewise.
34449 * include/pupa/device.h: Likewise.
34450 * include/pupa/disk.h: Likewise.
34451 * include/pupa/dl.h: Likewise.
34452 * include/pupa/elf.h: Likewise.
34453 * include/pupa/err.h: Likewise.
34454 * include/pupa/file.h: Likewise.
34455 * include/pupa/font.h: Likewise.
34456 * include/pupa/fs.h: Likewise.
34457 * include/pupa/kernel.h: Likewise.
34458 * include/pupa/loader.h: Likewise.
34459 * include/pupa/misc.h: Likewise.
34460 * include/pupa/mm.h: Likewise.
34461 * include/pupa/net.h: Likewise.
34462 * include/pupa/normal.h: Likewise.
34463 * include/pupa/rescue.h: Likewise.
34464 * include/pupa/setjmp.h: Likewise.
34465 * include/pupa/symbol.h: Likewise.
34466 * include/pupa/term.h: Likewise.
34467 * include/pupa/types.h: Likewise.
34468 * include/pupa/i386/setjmp.h: Likewise.
34469 * include/pupa/i386/types.h: Likewise.
34470 * include/pupa/i386/pc/biosdisk.h: Likewise.
34471 * include/pupa/i386/pc/boot.h: Likewise.
34472 * include/pupa/i386/pc/console.h: Likewise.
34473 * include/pupa/i386/pc/init.h: Likewise.
34474 * include/pupa/i386/pc/kernel.h: Likewise.
34475 * include/pupa/i386/pc/linux.h: Likewise.
34476 * include/pupa/i386/pc/loader.h: Likewise.
34477 * include/pupa/i386/pc/memory.h: Likewise.
34478 * include/pupa/i386/pc/multiboot.h: Likewise.
34479 * include/pupa/i386/pc/partition.h: Likewise.
34480 * include/pupa/i386/pc/time.h: Likewise.
34481 * include/pupa/i386/pc/vga.h: Likewise.
34482 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
34483 * include/pupa/util/getroot.h: Likewise.
34484 * include/pupa/util/misc.h: Likewise.
34485 * include/pupa/util/resolve.h: Likewise.
34486 * kern/device.c: Likewise.
34487 * kern/disk.c: Likewise.
34488 * kern/dl.c: Likewise.
34489 * kern/err.c: Likewise.
34490 * kern/file.c: Likewise.
34491 * kern/fs.c: Likewise.
34492 * kern/loader.c: Likewise.
34493 * kern/main.c: Likewise.
34494 * kern/misc.c: Likewise.
34495 * kern/mm.c: Likewise.
34496 * kern/rescue.c: Likewise.
34497 * kern/term.c: Likewise.
34498 * kern/i386/dl.c: Likewise.
34499 * kern/i386/pc/init.c: Likewise.
34500 * kern/i386/pc/lzo1x.S: Likewise.
34501 * kern/i386/pc/startup.S: Likewise.
34502 * loader/i386/pc/chainloader.c: Likewise.
34503 * loader/i386/pc/linux.c: Likewise.
34504 * loader/i386/pc/multiboot.c: Likewise.
34505 * normal/cmdline.c: Likewise.
34506 * normal/command.c: Likewise.
34507 * normal/main.c: Likewise.
34508 * normal/menu.c: Likewise.
34509 * normal/i386/setjmp.S: Likewise.
34510 * term/i386/pc/console.c: Likewise.
34511 * term/i386/pc/vga.c: Likewise.
34512 * util/console.c: Likewise.
34513 * util/genmoddep.c: Likewise.
34514 * util/misc.c: Likewise.
34515 * util/pupa-emu.c: Likewise.
34516 * util/resolve.c: Likewise.
34517 * util/unifont2pff.rb: Likewise.
34518 * util/i386/pc/biosdisk.c: Likewise.
34519 * util/i386/pc/getroot.c: Likewise.
34520 * util/i386/pc/pupa-mkimage.c: Likewise.
34521 * util/i386/pc/pupa-setup.c: Likewise.
34522
34523 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
34524
34525 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
34526 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
34527 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
34528 reading and reset it after reading.
34529 (pupa_ext2_close): Return PUPA_ERR_NONE.
34530
34531 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
34532 Correct value.
34533 (struct linux_kernel_header): Add kernel_version and
34534 initrd_addr_max.
34535 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
34536 pupa_file_read succeeds.
34537 (pupa_rescue_cmd_initrd): Implement.
34538
34539 2003-12-03 Marco Gerards <metgerards@student.han.nl>
34540
34541 * fs/ext2.c (pupa_ext2_label): New function.
34542 (pupa_ext2_fs): Added label.
34543 * fs/fat.c (pupa_fat_label): New function.
34544 (pupa_fat_fs): Added label.
34545 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
34546
34547 * kern/misc.c (pupa_strndup): New function.
34548 * include/pupa/misc.h (pupa_strndup): New prototype.
34549
34550 * include/pupa/normal.h: Include <pupa/err.h>.
34551 (pupa_set_history): New prototype.
34552 (pupa_iterate_commands): New prototype.
34553 * normal/cmdline.c: Include <pupa/machine/partition.h>,
34554 <pupa/disk.h>, <pupa/file.h>.
34555 (hist_size): New variable.
34556 (hist_lines): Likewise.
34557 (hist_end): Likewise.
34558 (hist_used): Likewise.
34559 (pupa_set_history): New function.
34560 (pupa_history_get): Likewise.
34561 (pupa_history_add): Likewise.
34562 (pupa_history_replace): Likewise.
34563 (pupa_tab_complete): Likewise.
34564 (pupa_cmdline_run): Added tab completion and history buffer. Tab
34565 completion shows partitionnames while completing partitions, this
34566 feature was suggested by Jeff Bailey.
34567 * normal/command.c (pupa_iterate_commands): New function.
34568 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
34569 (pupa_normal_init): Initialize history buffer.
34570 (PUPA_MOD_INIT): Likewise.
34571 (pupa_normal_fini): Free the history buffer.
34572 (PUPA_MOD_FINI): Likewise.
34573
34574 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
34575 key.
34576
34577 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
34578 * configure.ac [i386]: Check for regparam bug.
34579 (NESTED_FUNC_ATTR) [! i386]: Defined.
34580
34581 2003-11-17 Marco Gerards <metgerards@student.han.nl>
34582
34583 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
34584 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
34585 (pupa_emu_SOURCES): New variable.
34586 (pupa_emu_LDFLAGS): Likewise.
34587 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
34588 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
34589 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
34590 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34591 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
34592 (pupa_jmp_buf): New typedef.
34593 (pupa_setjmp) [PUPA_UTIL]: New macro.
34594 (pupa_longjmp) [PUPA_UTIL]: Likewise.
34595 * include/pupa/term.h (struct pupa_term): New member `refresh'.
34596 (pupa_refresh): New prototype.
34597 * include/pupa/util/getroot.h: New file.
34598 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
34599 it.
34600 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
34601 (pupa_rescue_cmd_cat): Likewise.
34602 (pupa_rescue_cmd_ls): Likewise.
34603 (pupa_rescue_cmd_testload): Likewise.
34604 (pupa_rescue_cmd_lsmod): Likewise.
34605 * normal/cmdline.c (pupa_cmdline_get): Likewise.
34606 * normal/menu.c (run_menu): Likewise.
34607 * kern/term.c (pupa_cls): Likewise.
34608 (pupa_refresh): New function.
34609 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
34610 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34611 * util/console.c: New file.
34612
34613 * util/i386/pc/getroot.c: New file.
34614 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
34615 (pupa_putchar): New function.
34616 (pupa_refresh): Likewise.
34617 (xgetcwd): Function moved to ...
34618 (strip_extra_slashes): Likewise.
34619 (get_prefix): Likewise.
34620 * util/i386/pc/getroot.c: ... here.
34621 (find_root_device): Function moved and renamed to...
34622 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
34623 Changed all callers.
34624 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
34625 and renamed to...
34626 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
34627 Changed all callers.
34628 * util/misc.c (pupa_memalign): New function.
34629 (pupa_mm_init_region): Likewise.
34630 (pupa_register_exported_symbols): Likewise.
34631 (pupa_putchar): Function removed.
34632 * util/pupa-emu.c: New file.
34633
34634 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
34635
34636 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
34637 (_multiboot_mod_SOURCES): New variable.
34638 (_multiboot_mod_CFLAGS): Likewise.
34639 * loader/i386/pc/multiboot.c: New file.
34640 * include/pupa/i386/pc/multiboot.h: Likewise.
34641 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
34642 (pupa_multiboot_real_boot): New function.
34643 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
34644 (pupa_multiboot_real_boot): New prototype.
34645 (pupa_rescue_cmd_multiboot): Likewise
34646 (pupa_rescue_cmd_module): Likewise.
34647
34648 * kern/loader.c (pupa_loader_set): Continue when
34649 pupa_loader_unload_func() fails.
34650 (pupa_loader_unset): New function.
34651 * include/pupa/loader.h (pupa_loader_unset): New prototype.
34652
34653 * kern/misc.c (pupa_stpcpy): New function.
34654 * include/pupa/misc.h (pupa_stpcpy): New prototype.
34655
34656 2003-11-12 Marco Gerards <metgerards@student.han.nl>
34657
34658 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
34659 for available extensions.
34660
34661 * include/pupa/i386/pc/time.h: New file.
34662 * kern/disk.c: Include <pupa/machine/time.h>.
34663 (PUPA_CACHE_TIMEOUT): New macro.
34664 (pupa_last_time): New variable.
34665 (pupa_disk_open): Flush the cache when there was a timeout.
34666 (pupa_disk_close): Reset the timer.
34667 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
34668 pupa_currticks.
34669 * util/misc.c: Include <sys/times.h>
34670 (pupa_get_rtc): New function.
34671
34672 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34673
34674 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
34675 as blocks.
34676 (pupa_ext2_get_file_block): Use blocks member.
34677
34678 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
34679 first block. Return -1 instead of pupa_errno on error.
34680
34681 2003-10-27 Marco Gerards <metgerards@student.han.nl>
34682
34683 * README: In the pupa-mkimage example use _chain instead of chain
34684 and ext2 instead of fat.
34685 * TODO: Replace ext2fs with jfs as an example. Add an item for
34686 adding journal playback for ext2fs.
34687 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
34688 (pkgdata_MODULES): Added ext2.mod.
34689 (ext2_mod_SOURCES): New variable.
34690 (ext2_mod_CFLAGS): Likewise.
34691 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
34692 * include/pupa/misc.h (pupa_strncpy): New prototype.
34693 (pupa_strcat): Likewise.
34694 (pupa_strncmp): Likewise.
34695 * kern/misc.c (pupa_strcat): Enable function.
34696 (pupa_strncpy): New function.
34697 (pupa_strncmp): Likewise.
34698 * fs/ext2.c: New file.
34699
34700 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
34701 when the read failed before retrying.
34702 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
34703 (_FILE_OFFSET_BITS): Likewise.
34704 * configure.ac: Added AC_SYS_LARGEFILE.
34705
34706 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34707
34708 * genmk.rb (PModule#rule): Make sure to get only symbol names
34709 from the output of nm.
34710 Reported by Robert Millan <rmh.grub@aybabtu.com>.
34711
34712 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34713
34714 I forgot to check in these changes for a long time. This adds
34715 incomplete support for VGA console, and this is still very
34716 buggy. Also, a lot of consideration is required for I18N,
34717 UNICODE, and VGA font issues. Therefore, assume that this is
34718 such that "better than nothing".
34719
34720 * font/manager.c: New file.
34721 * include/pupa/font.h: Likewise.
34722 * include/pupa/i386/pc/vga.h: Likewise.
34723 * term/i386/pc/vga.c: Likewise.
34724 * util/unifont2pff.rb: Likewise.
34725
34726 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
34727 (pkgdata_MODULES): Added vga.mod and font.mod.
34728 (vga_mod_SOURCES): New variables.
34729 (vga_mod_CFLAGS): Likewise.
34730 (font_mod_SOURCES): Likewise.
34731 (font_mod_CFLAGS): Likewise.
34732
34733 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
34734
34735 * include/pupa/term.h: Include pupa/err.h.
34736 (struct pupa_term): Added init and fini.
34737 Changed the argument of putchar to pupa_uint32_t.
34738
34739 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
34740 (pupa_console_real_putchar): New prototype.
34741 (pupa_console_putchar): Removed.
34742 (pupa_console_checkkey): Exported.
34743 (pupa_console_getkey): Likewise.
34744
34745 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
34746 characters.
34747
34748 * kern/term.c (pupa_term_set_current): Rewritten.
34749 (pupa_putchar): Likewise.
34750 (pupa_putcode): New function.
34751
34752 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
34753 (pupa_console_real_putchar): ... this.
34754 (pupa_vga_set_mode): New function.
34755 (pupa_vga_get_font): Likewise.
34756
34757 * normal/command.c: Include pupa/term.h.
34758 (terminal_command): New function.
34759 (pupa_command_init): Register the command "terminal".
34760
34761 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
34762 (DISP_UP): Likewise.
34763 (DISP_RIGHT): Likewise.
34764 (DISP_DOWN): Likewise.
34765 (DISP_HLINE): Likewise.
34766 (DISP_VLINE): Likewise.
34767 (DISP_UL): Likewise.
34768 (DISP_UR): Likewise.
34769 (DISP_LL): Likewise.
34770 (DISP_LR): Likewise.
34771
34772 * term/i386/pc/console.c (pupa_console_putchar): New function.
34773
34774 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
34775
34776 * util/resolve.c (pupa_util_resolve_dependencies): BUG
34777 FIX. Reverse the path_list.
34778
34779 * include/pupa/normal.h: Export pupa_register_command and
34780 pupa_unregister_command.
34781
34782 * hello/hello.c (pupa_cmd_hello): New module.
34783 * conf/i386-pc.rmk: Added hello.mod.
34784
34785 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
34786
34787 * kern/i386/pc/lzo1x.S: New file.
34788
34789 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
34790 (compress_kernel): New variable.
34791 (generate_image): Heavily modified to support compressing a
34792 large part of the core image.
34793
34794 * util/misc.c (pupa_util_read_image): Fix a file descriptor
34795 leak.
34796 (pupa_util_load_image): New function.
34797
34798 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
34799 (pupa_compressed_size): New variable.
34800 (codestart): Enable Gate A20 here.
34801 Decompress the compressed part of the core image.
34802 Rearrange the code to put functions and variables which are
34803 required for initialization in the non-compressed part.
34804 Include lzo1x.S.
34805
34806 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
34807 here.
34808
34809 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
34810
34811 * include/pupa/i386/pc/kernel.h
34812 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
34813 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
34814 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34815 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34816 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
34817
34818 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
34819
34820 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
34821 (Utility#rule): Likewise.
34822
34823 * configure.ac: Check if LZO is available.
34824
34825 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
34826
34827 * include/pupa/normal.h: New file.
34828 * include/pupa/setjmp.h: Likewise.
34829 * include/pupa/i386/setjmp.h: Likewise.
34830 * normal/cmdline.c: Likewise.
34831 * normal/command.c: Likewise.
34832 * normal/main.c: Likewise.
34833 * normal/menu.c: Likewise.
34834 * normal/i386/setjmp.S: Likewise.
34835
34836 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
34837 (pupa_rescue_cmd_initrd): Likewise.
34838
34839 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
34840 Likewise.
34841
34842 * kern/i386/pc/startup.S (translation_table): New variable.
34843 (translate_keycode): New function.
34844 (pupa_console_getkey): Call translate_keycode.
34845
34846 * kern/rescue.c (attempt_normal_mode): New function.
34847 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
34848 it failed, print a message.
34849
34850 * kern/mm.c (pupa_real_malloc): Print more information when a
34851 free magic is broken.
34852 (pupa_free): If the first free header is not free actually, set
34853 it to P.
34854
34855 * kern/main.c (pupa_load_normal_mode): Just load the module
34856 "normal".
34857 (pupa_main): Don't print the message
34858 "Entering into rescue mode..." here.
34859
34860 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
34861 Declared.
34862 (pupa_rescue_cmd_initrd): Likewise.
34863 (pupa_rescue_cmd_initrd): Likewise.
34864
34865 * include/pupa/symbol.h (FUNCTION): Specify the type.
34866 (VARIABLE): Likewise.
34867
34868 * include/pupa/err.h (pupa_err_t): Added
34869 PUPA_ERR_UNKNOWN_COMMAND.
34870
34871 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
34872 (pupa_dl_get_prefix): Likewise.
34873
34874 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
34875 Added _chain.mod and _linux.mod instead of chain.mod and
34876 linux.mod.
34877 (chain_mod_SOURCES): Renamed to ...
34878 (_chain_mod_SOURCES): ... this.
34879 (chain_mod_CFLAGS): Renamed to ...
34880 (_chain_mod_CFLAGS): ... this.
34881 (linux_mod_SOURCES): Renamed to ...
34882 (_linux_mod_SOURCES): ... this.
34883 (linux_mod_CFLAGS): Renamed to ...
34884 (_linux_mod_CFLAGS): ... this.
34885 (normal_mod_SOURCES): New variable.
34886 (normal_mod_CFLAGS): Likewise.
34887 (normal_mod_ASFLAGS): Likewise.
34888
34889 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
34890
34891 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
34892 possible.
34893
34894 * kern/dl.c (pupa_dl_ref): Refer depending modules
34895 recursively.
34896 (pupa_dl_unref): Unrefer depending modules recursively.
34897 Don't call pupa_dl_unload implicitly, because PUPA can crash if
34898 a module is unloaded before one depending on that module is
34899 unloaded.
34900 (pupa_dl_unload): Unload depending modules explicitly,
34901 if possible.
34902
34903 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
34904
34905 * include/pupa/i386/pc/linux.h: New file.
34906 * loader/i386/pc/linux.c: Likewise.
34907
34908 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
34909 Removed.
34910 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
34911 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
34912 of PUPA_CHAINLOADER_BOOT_SECTOR.
34913
34914 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
34915 (pupa_linux_prot_size): New variable.
34916 (pupa_linux_tmp_addr): Likewise.
34917 (pupa_linux_real_addr): Likewise.
34918 (pupa_linux_boot_zimage): New function.
34919 (pupa_linux_boot_bzimage): Likewise.
34920
34921 * kern/i386/pc/init.c (struct mem_region): New structure.
34922 (MAX_REGIONS): New macro.
34923 (mem_regions): New variable.
34924 (num_regions): Likewise.
34925 (pupa_os_area_addr): Likewise.
34926 (pupa_os_area_size): Likewise.
34927 (pupa_lower_mem): Likewise.
34928 (pupa_upper_mem): Likewise.
34929 (add_mem_region): New function.
34930 (compact_mem_regions): Likewise.
34931 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
34932 the size of the conventional memory and that of so-called upper
34933 memory (before the first memory hole).
34934 Instead of adding each found region to free memory, use
34935 add_mem_region and add them after removing overlaps.
34936 Also, add only 1/4 of the upper memory to free memory. The rest
34937 is used for loading OS images. Maybe this is ad hoc, but this
34938 makes it much easier to relocate OS images when booting.
34939
34940 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
34941 (pupa_enter_rescue_mode): Don't register initrd and module.
34942
34943 * kern/mm.c: Include pupa/dl.h.
34944
34945 * kern/main.c: Include pupa/file.h and pupa/device.h.
34946
34947 * kern/loader.c (pupa_loader_load_module_func): Removed.
34948 (pupa_loader_load_module): Likewise.
34949
34950 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
34951 ``.o''.
34952
34953 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
34954 (pupa_linux_tmp_addr): Likewise.
34955 (pupa_linux_real_addr): Likewise.
34956 (pupa_linux_boot_zimage): Likewise.
34957 (pupa_linux_boot_bzimage): Likewise.
34958
34959 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
34960 (pupa_upper_mem): Likewise.
34961 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
34962 module is too dangerous.
34963
34964 * include/pupa/loader.h (pupa_os_area_addr): Declared.
34965 (pupa_os_area_size): Likewise.
34966 (pupa_loader_set): Remove the first argument. Loader doesn't
34967 manage modules or initrd any longer.
34968 (pupa_loader_load_module): Removed.
34969
34970 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
34971 (linux_mod_SOURCES): New variable.
34972 (linux_mod_CFLAGS): Likewise.
34973
34974 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
34975
34976 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
34977 the length of a blocklist correctly.
34978
34979 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
34980 Use ioctl only if the OS file is a block device.
34981 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
34982 not very useful for normal files.
34983
34984 * kern/main.c (pupa_set_root_dev): New function.
34985 (pupa_load_normal_mode): Likewise.
34986 (pupa_main): Call those above.
34987
34988 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
34989 pupa_uint16_t.
34990
34991 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
34992
34993 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34994
34995 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
34996 (setup): Configure the installed partition information and the
34997 dl prefix.
34998
34999 * loader/i386/pc/chainloader.c (my_mod): New variable.
35000 (pupa_chainloader_unload): New function.
35001 (pupa_rescue_cmd_chainloader): Refer itself.
35002 (PUPA_MOD_INIT): Save its own module in MY_MOD.
35003
35004 * kern/i386/pc/startup.S (install_partition): Removed.
35005 (version_string): Likewise.
35006 (config_file): Likewise.
35007 (pupa_install_dos_part): New variable.
35008 (pupa_install_bsd_part): Likewise.
35009 (pupa_prefix): Likewise.
35010 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
35011
35012 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
35013 and pupa/misc.h.
35014 (make_install_device): New function.
35015 (pupa_machine_init): Set the dl prefix.
35016
35017 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
35018 (buf): Renamed to ...
35019 (linebuf): ... this.
35020 (pupa_rescue_cmd_prefix): New function.
35021 (pupa_rescue_cmd_insmod): Likewise.
35022 (pupa_rescue_cmd_rmmod): Likewise.
35023 (pupa_rescue_cmd_lsmod): Likewise.
35024 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
35025 rmmod and lsmod.
35026
35027 * kern/mm.c (pupa_memalign): If failed even after invalidating
35028 disk caches, unload unneeded modules and retry.
35029
35030 * kern/misc.c (pupa_memmove): New function.
35031 (pupa_memcpy): Removed.
35032 (pupa_strcpy): New function.
35033 (pupa_itoa): Made static.
35034
35035 * kern/dl.c (pupa_dl_iterate): New function.
35036 (pupa_dl_ref): Likewise.
35037 (pupa_dl_unref): Likewise.
35038 (pupa_dl_unload): Return if succeeded or not.
35039 (pupa_dl_unload_unneeded): New function.
35040 (pupa_dl_unload_all): Likewise.
35041 (pupa_dl_init): Renamed to ...
35042 (pupa_dl_set_prefix): ... this.
35043 (pupa_dl_get_prefix): New function.
35044
35045 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
35046 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
35047 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
35048 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
35049 (pupa_install_dos_part): Declared.
35050 (pupa_install_bsd_part): Likewise.
35051 (pupa_prefix): Likewise.
35052 (pupa_boot_drive): Likewise.
35053
35054 * include/pupa/types.h: Fix a typo.
35055
35056 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
35057 pupa_memmove.
35058 (pupa_memmove): Declared.
35059 (pupa_strcpy): Likewise.
35060
35061 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
35062 pupa_mod_init takes one argument, its own module.
35063 (pupa_dl_unload_unneeded): Declared.
35064 (pupa_dl_unload_all): Likewise.
35065 (pupa_dl_ref): Likewise.
35066 (pupa_dl_unref): Likewise.
35067 (pupa_dl_iterate): Likewise.
35068 (pupa_dl_init): Renamed to ...
35069 (pupa_dl_set_prefix): ... this.
35070 (pupa_dl_get_prefix): Declared.
35071
35072 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
35073 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
35074 unloaded.
35075 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
35076 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
35077
35078 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
35079 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
35080
35081 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35082
35083 * util/i386/pc/pupa-setup.c (setup): Define the internal
35084 function find_first_partition_start at the top level, because GCC
35085 3.0.x cannot compile internal functions in deeper scopes
35086 correctly.
35087 (find_root_device): Use lstat instead of stat.
35088 Don't follow symbolic links.
35089 Fix the path-constructing code.
35090
35091 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
35092 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
35093 by a BLKGETSIZE ioctl first, because block devices don't fill
35094 the member st_mode of the structure stat on Linux.
35095 [__linux__] (linux_find_partition): Use a temporary buffer
35096 REAL_DEV for the working space. Copy it to DEV before returning.
35097 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
35098 buffer cache consistent.
35099 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
35100 strncmp. The previous value was merely wrong.
35101 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
35102
35103 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
35104 FAT size is 12. The previous value was merely wrong.
35105
35106 * kern/main.c (pupa_main): Don't split the starting message from
35107 newlines.
35108
35109 * kern/term.c (pupa_putchar): Put CR after LF instead of before
35110 LF, because BIOS goes crazy about character attributes in this
35111 case.
35112
35113 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35114
35115 * include/i386/pc/util/biosdisk.h: New file.
35116 * util/i386/pc/biosdisk.c: Likewise.
35117 * util/i386/pc/pupa-setup.c: Likewise.
35118
35119 * Makefile.in (INCLUDE_DISTFILES): Added
35120 include/pupa/i386/pc/util/biosdisk.h.
35121 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
35122 directory util/i386/pc.
35123 (install-local): Added a rule for sbin_UTILITIES.
35124 (uninstall): Likewise.
35125
35126 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
35127
35128 * util/misc.c (xrealloc): New function.
35129 (pupa_malloc): Likewise.
35130 (pupa_free): Likewise.
35131 (pupa_realloc): Likewise.
35132 (pupa_stop): Likewise.
35133 (pupa_putchar): Likewise.
35134
35135 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
35136
35137 * include/pupa/util/misc.h (xrealloc): Declared.
35138
35139 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
35140 macro.
35141 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
35142 (PUPA_BOOT_MACHINE_BPB_END): ... this.
35143
35144 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
35145 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35146
35147 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
35148 way should be implemented.
35149 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35150
35151 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
35152 the size of NAME for safety.
35153 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
35154 0x88.
35155
35156 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
35157 (pupa_setup_SOURCES): Likewise.
35158
35159 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
35160
35161 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35162
35163 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
35164 bunch of pushl's from pusha, because this destroys the return
35165 value.
35166
35167 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35168
35169 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
35170 This means that any missing prototypes could be fatal. Also, you
35171 must take care when writing assembly code. See the comments at
35172 the beginning of startup.S, for more details.
35173
35174 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
35175 compilation mechanism.
35176 (pupa_chainloader_real_boot): Likewise.
35177 (pupa_biosdisk_rw_int13_extensions): Likewise.
35178 (pupa_biosdisk_rw_standard): Likewise.
35179 (pupa_biosdisk_check_int13_extensions): Likewise.
35180 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
35181 (pupa_biosdisk_get_diskinfo_standard): Likewise.
35182 (pupa_get_memsize): Likewise.
35183 (pupa_get_mmap_entry): Likewise.
35184 (pupa_console_putchar): Likewise.
35185 (pupa_console_setcursor): Likewise.
35186 (pupa_getrtsecs): Use pushl instead of push.
35187
35188 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
35189 memory instead of the stack for a mmap entry, because some
35190 BIOSes may ignore the maximum size and overflow.
35191
35192 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
35193
35194 * genmk.rb (PModule#rule): Compile automatically generated
35195 sources with module-specific CFLAGS as well as other sources.
35196
35197 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35198
35199 * configure.ac: Check ld.
35200 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
35201 respectively, before checking endianness and sizes.
35202
35203 * Makefile.in (LD): New variable.
35204
35205 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35206
35207 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
35208
35209 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35210
35211 * Changelog: New file.
35212