]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/normal/menu_entry.c (run): Quieten uninitialised
[grub2.git] / ChangeLog
1 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
2
3 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
4 warning. (This was in fact always initialised before use, but GCC
5 wasn't smart enough to prove that.)
6 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7
8 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9
10 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
11 stack alignment.
12 (efi_wrap_1): Likewise.
13 (efi_wrap_2): Likewise.
14 (efi_wrap_3): Likewise.
15 (efi_wrap_4): Likewise.
16 (efi_wrap_5): Likewise.
17 (efi_wrap_6): Likewise.
18 (efi_wrap_10): Likewise.
19 Based on information by: Red Hat/Peter Jones.
20
21 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
22
23 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
24 set-but-not-used variable.
25
26 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
27
28 * docs/grub.texi (Simple configuration): Be more explicit about
29 GRUB_DEFAULT, and add an example.
30 Reported by: Leslie Rhorer.
31
32 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
33
34 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
35 shell".
36
37 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
38
39 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
40 * util/grub.d/20_linux_xen.in: Likewise.
41
42 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * util/grub.d/10_linux.in: Try alternative config filenames where
45 we parse config file.
46 * util/grub.d/20_linux_xen.in: Likewise.
47
48 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
49
50 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
51 * util/grub.d/20_linux_xen.in: Likewise.
52
53 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * grub-core/disk/raid.c (insert_array): Add few potentially
56 useful grub_util_info.
57 (grub_raid_register): Likewise.
58
59 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
62 Preserve partition number in mdadm code path.
63
64 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
67 few potentially useful grub_util_info.
68
69 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
72
73 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
74
75 * docs/grub.texi (default): Use @example rather than nested
76 itemized lists to avoid breaking gendocs.
77
78 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
79
80 * docs/grub.texi (Future): Update.
81
82 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
83
84 * docs/grub.texi (Environment): New chapter.
85 (Changes from GRUB Legacy): Link to "Environment block" section for
86 details of limitations.
87 (Simple configuration): Likewise. Link to documentation of gfxmode
88 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
89 respectively.
90 (Shell-like scripting): Note that normal variables are stored in the
91 environment.
92 (gettext): Link to documentation of lang and locale_dir.
93 (list_env): New section.
94 (load_env): New section.
95 (save_env): New section.
96
97 (Reporting bugs): Fix typo.
98
99 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
102 the example.
103
104 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * grub-core/term/at_keyboard.c (set_scancodes)
107 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
108
109 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
110
111 * docs/grub.texi (Menu-specific commands): Remove some semantics
112 that were true in GRUB Legacy but not in GRUB 2.
113 (submenu): New section.
114 (false): New section.
115 (read): New section.
116 (true): New section.
117
118 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
119
120 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
121
122 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
123
124 * docs/grub.texi (Simple configuration): Explain some of the
125 current limitations of grub-mkconfig.
126 Reported by: Leslie Rhorer.
127
128 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
129
130 Old macs search for boot.efi rather than for bootia32.efi.
131
132 * util/grub-install.in: Copy bootia32.efi to boot.efi.
133 * util/grub-mkrescue.in: Likewise.
134 Suggested by: Peter Jones.
135
136 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
139
140 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
141
142 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
143 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
144 (grub_lvm_mirror): New struct.
145 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
146 (grub_lvm_iterate): Iterate only visible volumes.
147 (grub_lvm_read): Factor out to ..
148 (read_lv): ... this. Support mirrors.
149 (grub_lvm_read): New wrapper function.
150 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
151 stripped or mirrored.
152
153 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
156
157 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
158
159 * docs/grub.texi (loopback): New section.
160
161 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
162
163 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
164 removed -p option.
165
166 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
167
168 * docs/grub.texi (BIOS installation): New section, partly based on
169 previous text in other sections.
170 (Installing GRUB using grub-install): Replace BIOS discussion with a
171 cross-reference.
172 (Images): Likewise.
173
174 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/kern/emu/hostdisk.c (find_partition_start)
177 [HAVE_DIOCGDINFO]: Add safety checks.
178
179 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
182 per default compiled in kernel and prior to 8.0 isn't shipped at all.
183
184 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
185
186 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
187 real_sb->size is zero (e.g. RAID-0), get the disk size from
188 real_sb->data_size instead.
189 Fixes Ubuntu bug #743136.
190
191 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
194 printf clauses for printing size and start.
195
196 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
199 Reported and tested by: Timothy Nikkel.
200
201 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
204 (dirty_region_add_real): ... this.
205 (dirty_region_add): Don't discard margin refresh when performing
206 scheduled repaint.
207
208 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * grub-core/lib/relocator.c (allocate_regstart)
211 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
212 terminals are capabple of malloc-free operation.
213 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
214 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
215
216 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
217
218 * util/grub-setup.c: Copy the partition table zone if floppy support
219 is disabled, even if no partition table is found.
220
221 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
222 during POST if an invalid partition table is contained in the PBR
223 of the active partition when GRUB is installed to a partition.
224
225 2011-03-28 Colin Watson <cjwatson@debian.org>
226
227 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
228 comment.
229
230 2011-03-28 Colin Watson <cjwatson@debian.org>
231
232 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
233 to be specific about what kind of RAID device we're scanning for.
234
235 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
236
237 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
238 return freed string.
239
240 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
243
244 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
245
246 Use libgeom on FreeBSD to detect partitions.
247
248 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
249 (grub-mkrelpath): Likewise.
250 (grub-script-check): Likewise.
251 (grub-editenv): Likewise.
252 (grub-mkpasswd-pbkdf2): Likewise.
253 (grub-fstest): Likewise.
254 (grub-mkfont): Likewise.
255 (grub-mkdevicemap): Likewise.
256 (grub-probe): Likewise.
257 (grub-setup): Likewise.
258 (grub-ofpathname): Likewise.
259 (grub-mklayout): Likewise.
260 (example_unit_test): Likewise.
261 (grub-menulst2cfg): Likewise.
262 * grub-core/Makefile.core.def (grub-emu): Likewise.
263 (grub-emu-lite): Likewise.
264 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
265 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
266 define HAVE_DIOCGDINFO.
267 (follow_geom_up) [FreeBSD]: New function.
268 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
269 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
270 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
271 unconditionally of HAVE_DIOCGDINFO.
272
273 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
274
275 Fix FreeBSD compilation problem.
276
277 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
278 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
279
280 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
281
282 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
283 Switch back to page zero before loading a kernel, since some kernel
284 drivers expect that.
285 Thanks to: Felix Kuehling.
286
287 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
290 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
291 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
292
293 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
296 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
297
298 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
299
300 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
301 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
302 malloc is disabled.
303
304 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
307 for modules headers when counting the needed allocation size.
308
309 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
312 if no ASCII character is found to prevent crash.
313
314 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
315
316 * grub-core/video/bitmap.c (match_extension): Ignore case.
317
318 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
321
322 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * grub-core/script/parser.y: Declare "time" as valid argument.
325
326 2011-03-23 Peter Jones <pjones@redhat.com>
327
328 Fix incorrect assert failure reporting.
329
330 * grub-core/tests/example_functional_test.c (example_test): Add
331 a failure comment.
332 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
333 (failure_start): ...this. Check that malloc succeeded.
334 Don't call xvasprintf. Return failure struct.
335 (failure_append_vtext): New function.
336 (failure_append_text): Likewise.
337 (add_failure): Likewise.
338 (grub_test_assert_helper): Likewise.
339 * include/grub/test.h (grub_test_assert_helper): New declaration.
340 (grub_test_assert): Macro rewritten.
341
342 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
345
346 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
349
350 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
353 into GRUB-style one.
354
355 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
358 error and not grub_errno.
359 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
360
361 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
364 GRUB_USB_SPEED_NONE in case of failure and not the error code.
365
366 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/efiemu/i386/pc/cfgtables.c
369 (grub_machine_efiemu_init_tables): Make declaration a prototype.
370 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
371 (grub_xnu_unlock): Likewise.
372 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
373
374 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
377 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
378 * grub-core/commands/hashsum.c (aliases): Likewise.
379 * grub-core/commands/setpci.c (pci_registers): Likewise.
380 * grub-core/disk/usbms.c (attach_hook): Likewise.
381 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
382 (zio_checksum_table): Likewise.
383 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
384 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
385 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
386 * grub-core/lib/relocator.c (leftovers): Likewise.
387 (extra_blocks): Likewise.
388 * grub-core/loader/i386/bsd.c (relocator): Likewise.
389 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
390 (modules_last): Likewise.
391 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
392 (devices): Likewise.
393 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
394 (modules_last): Likewise.
395 * grub-core/normal/auth.c (users): Likewise.
396 * grub-core/normal/context.c (initial_menu): Likewise.
397 (current_menu): Likewise.
398 * grub-core/normal/crypto.c (crypto_specs): Likewise.
399 * grub-core/term/serial.c (grub_serial_ports): Likewise.
400 (grub_serial_terminfo_input_template): Likewise.
401 (grub_serial_terminfo_output_template): Likewise.
402 (grub_serial_terminfo_input): Likewise.
403 (grub_serial_terminfo_output): Likewise.
404 (registered): Likewise.
405 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
406
407 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
410 grub_video_mode_type_t.
411 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
412 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
413 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
414
415 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * util/grub-install.in: Correct the x86-64 name as x86_64.
418
419 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
420
421 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
422 initial chunk read from the kernel always includes GRUB's multiboot
423 header, which is now outside the first sector.
424
425 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
426
427 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
428 cached mmap_size, so that this works correctly when called multiple
429 times.
430 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
431
432 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
433
434 * docs/grub.texi (Simple configuration): Tidy up formatting.
435
436 2011-03-07 Szymon Janc <szymon@janc.net.pl>
437
438 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
439 Set-but-not-used variable removed.
440
441 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
442
443 Workaround yet another IEEE1275 bug.
444
445 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
446 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
447 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
448 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
449 is set.
450 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
451 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
452
453 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
456 error.
457
458 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
459
460 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
461 empty, since in that case we can only generate either nothing or a
462 syntactically invalid configuration file.
463 Reported by: Michal Suchanek. Fixes Debian bug #612898.
464
465 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
466
467 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
468 (Making a GRUB bootable CD-ROM): Likewise.
469 (Invoking grub-mkrescue): New section.
470 Reported by: Yann Dirson. Fixes Debian bug #612585.
471
472 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
473
474 * util/grub-install.in: Remove unnecessary brackets from tr
475 arguments.
476 * util/grub.d/10_hurd.in: Likewise.
477 * util/grub.d/10_kfreebsd.in: Likewise.
478 * util/grub.d/10_linux.in: Likewise.
479 * util/grub.d/20_linux_xen.in: Likewise.
480 Reported by: Jamie Heilman. Fixes Debian bug #612564.
481
482 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
483
484 * include/grub/file.h (not_easly_seekable): Rename to ...
485 (not_easily_seekable): ... this. Update all users.
486
487 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
488
489 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
490 grub-mkrescue.
491
492 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * util/grub-mkimage.c (generate_image): Refuse to create the images
495 bigger than the actual flash (512K) in Loongson machines. 512K is also
496 the biggest chip supported by them.
497
498 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
501
502 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
503
504 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
505 super_offset field.
506
507 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * util/grub-install.in: Ignore install device on platforms
510 where it doesn't make sense. Always use UUIDs except on pc, efi and
511 sparc64.
512 Reported by: Daniel Kahn Gillmor.
513
514 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
517
518 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
521 (iterate_real): Don't rely on partition being non-NULL.
522
523 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
526 supported platforms. Put a compile time assert for this rather than
527 generate a warning with 32-bit shift.
528
529 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
532 logical expression more readable.
533
534 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
537 even if some elements have a name.
538 Reported by: Alexander GQ Gerasiov.
539
540 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
541
542 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
543 path unreadable if `grub-probe -t abstraction' fails, for example if
544 memberlist fails on an LVM volume group.
545 Reported by: Darius Jahandarie.
546
547 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
548
549 * docs/grub.texi (Simple configuration): Document
550 GRUB_PRELOAD_MODULES.
551
552 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
553
554 * .bzrignore: Remove nonexistent grub-pbkdf2.
555
556 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * configure.ac: Bump version to 1.99~rc1.
559
560 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
563 for safety.
564
565 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
568 module.
569
570 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
573
574 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
575
576 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
577 diskdevid.
578
579 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
580
581 Fix compilation on cygwin.
582
583 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
584 -R .drectve on cygwin.
585 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
586 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
587 (COND_CYGWIN): New condition.
588 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
589 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
590 not @TARGET_OBJ2ELF@.
591 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
592 type to determine whether aux is to be used.
593
594 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
597 realpath'ed device string.
598 Handle floppy (somewhat).
599 Issue error in unknown case rather than garbage.
600 Reported by: Axel Beckert.
601
602 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * util/grub.d/00_header.in (load_video): Handle the case when no video
605 drivers available.
606 Thanks to: Axel Beckert.
607
608 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
611 variable. Fixes problem on big endian platforms.
612
613 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
614
615 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
616 It doesn't work well there.
617
618 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
621 warning.
622 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
623 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
624 counter.
625
626 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
627
628 Use alias->path rather than buggy "canon".
629
630 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
631 (ofdisk_hash_add): New argument curcan. All users updated.
632
633 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
634
635 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
636
637 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
640 loadmask before doing any calculations. Use correct type for offset.
641 (grub_linux_load64): Likewise.
642
643 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
644
645 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
646 with NULL.
647 (console_grub_equivalences_unshift): Likewise.
648 Reported by: Daniel Dehennin.
649
650 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
653 (set_env_limn_ro): Likewise.
654 (GRUB_MOD_INIT): Likewise.
655 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
656 ARRAY_SIZE while on it.
657 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
658 * grub-core/normal/context.c (grub_env_export): Move from here ...
659 * grub-core/kern/env.c (grub_env_export): ... here.
660 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
661 prefix.
662 * grub-core/kern/main.c (grub_main): Export root and prefix.
663 * include/grub/env.h (grub_env_export): Export.
664 Reported by: Seth Goldberg.
665
666 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
667
668 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
669 Take into account space used by ELF sections and multiboot palette.
670 Reported by: Grégoire Sutre.
671
672 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * BUGS: New file.
675
676 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
677
678 Pass more appropriate video id to Linux.
679
680 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
681 grub_video_get_driver_id and variable gfxpayloadforcelfb to
682 fill have_vga.
683 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
684 shift params->lfb_size.
685 * include/grub/i386/linux.h: Make an enume out of have_vga values.
686
687 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * util/grub-menulst2cfg.c: Add missing include of misc.h.
690
691 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
694 separator and pass bootpath/devid even if only one of them is available.
695 Reported by: Seth Goldberg.
696
697 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
698
699 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
700 implementations bug on them.
701
702 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
703 memory.
704 (filter_memory_map): Likewise.
705
706 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
709 Reported by: nebuchadnezzar.
710
711 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
714 Reported by: nebuchadnezzar.
715
716 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
717
718 Submenu default support.
719
720 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
721 auto_boot. All users updated.
722 Declared static.
723 Handle chosen and default with submenus.
724 (grub_menu_execute_with_fallback): Declared static.
725 Don't notify failure if autobooted. Upper level does it.
726 (menuentry_eq): New function.
727 (get_entry_number): Use menuentry_eq.
728 (show_menu): New parameter "autobooted". All users updated.
729 (grub_show_menu): Likewise.
730 * include/grub/normal.h (grub_show_menu): Likewise.
731 * include/grub/menu.h (grub_menu_execute_entry): Removed.
732 (grub_menu_execute_with_fallback): Likewise.
733
734 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * util/grub-mklayout.c (usage): Update help text.
737
738 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
741
742 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * util/grub-menulst2cfg.c (main): Trim the line.
745
746 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
749 (grub_machine_init): Don't check amount of low memory as reportedly
750 INT 12h can be broken and if low memory is too low we wouldn't have
751 gotten into grub_machine_init anyway.
752
753 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
756 (grub_machine_mmap_iterate): Take low memory into account
757
758 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
761 badfs.
762 Reported by: TiCPU.
763
764 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
767 members errors.
768
769 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
770
771 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
772 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
773
774 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
775
776 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
777 openbsd and netbsd types being in part_bsd module.
778
779 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
782 (_FILE_OFFSET_BITS): Likewise.
783 Reported by: Seth Goldberg.
784
785 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
786
787 * configure.ac: Check for libdevmapper header.
788
789 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
792 avoid aliasing.
793 (fzap_lookup): Likewise.
794 (dnode_get): Likewise.
795 (make_mdn): Likewise.
796 (zfs_mount): Likewise.
797 (fzap_iterate): Use temporary pointer to avoid aliasing.
798 (grub_zfs_read): Likewise.
799 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
800 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
801 pointers to avoid aliasing.
802 (grub_cmd_xnu_kernel64): Likewise.
803 (grub_xnu_load_driver): Likewise.
804
805 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
808 aliasing warning.
809 (grub_cmd_terminal_output): Likewise.
810 Reported and tested by: Grégoire Sutre.
811
812 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
815 warning.
816 Reported and tested by: Grégoire Sutre.
817
818 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * configure.ac: Do CPU substitution even if it's specified explicitly.
821 Reported and tested by: Alain Greppin.
822
823 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
826 Reported and tested by: Alain Greppin.
827
828 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
829
830 Satisfy some bison versions need for inttypes.h.
831
832 * grub-core/lib/posix_wrap/inttypes.h: New file.
833 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
834 (int16_t): Likewise.
835 (int32_t): Likewise.
836 (int64_t): Likewise.
837 Reported and tested by: Alain Greppin.
838
839 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
842 Silence spurious warning.
843 Reported and tested by: Alain Greppin.
844
845 2011-01-07 Szymon Janc <szymon@janc.net.pl>
846
847 * docs/grub.texi (Support automatic decompression): Update with xz
848 decompression support.
849
850 2011-01-07 Szymon Janc <szymon@janc.net.pl>
851
852 Improve loaders' kernel command line handling.
853
854 * grub-core/lib/cmdline.c: New file.
855 * include/grub/lib/cmdline.h: Likewise.
856 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
857 grub_create_loader_cmdline to create kernel command line.
858 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
859 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
860 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
861 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
862 (linux): Add lib/cmdline.c on common.
863
864 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
867 inopos might be unaligned.
868
869 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
872 endian transformations.
873 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
874 Based on report by: Doug Nazar.
875
876 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
877
878 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
879 array->members[i].start_sector.
880 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
881
882 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
885 Reported and tested by: Grégoire Sutre.
886
887 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
888
889 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
890 avoid causing test failures by clearing the screen.
891
892 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
893
894 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
895 Fix prefix check to handle the case where dir ends with a slash
896 (most significantly, "/" itself).
897 Reported by: Michael Vogt.
898
899 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
900
901 Run terminfo_cls on initing terminfo output to clear the screen and
902 move the cursor to (0,0).
903
904 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
905 Call grub_terminfo_output_init.
906 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
907 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
908 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
909
910 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
913 only when needed.
914
915 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
918 CTRL.
919
920 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
921
922 The E820 type 5 is BADRAM, not EXEC_CODE.
923
924 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
925 (GRUB_E820_BADRAM): New define.
926 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
927 into reserved. Propagate BADRAM.
928 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
929 (GRUB_E820_BADRAM): New define.
930
931 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
934 Ignore the memory post-4G.
935 (grub_relocator_firmware_alloc_region): Additional debug statement.
936
937 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
940 names.
941 Reported by: David Pravec.
942
943 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
946 BIOSes.
947
948 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
951 Prevent overflow.
952 (grub_reed_solomon_recover): Likewise.
953
954 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
957
958 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
961 variable.
962
963 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
964
965 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
966 descriptions of extract_legacy_entries_source and
967 extract_legacy_entries_configfile.
968 Reported by: Seung Soo, Ha.
969
970 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
971
972 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
973 on devices that do not implement function 0.
974
975 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
976
977 * grub-core/fs/hfsplus.c: Make parent unsigned.
978 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
979 overflows.
980 (grub_hfsplus_cmp_extkey): Likewise
981
982 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
983
984 * util/grub-install.in: Correctly use bootloader_id and not
985 GRUB_DISTRIBUTOR on efibootmgr line.
986
987 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
990
991 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
992
993 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
994 Xen and reorder menu item wording to make it clearer that this entry
995 will launch Xen. Print separate messages when loading Xen and
996 Linux.
997
998 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
1001 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
1002 loop in case of incorrect amiga partmap.
1003
1004 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
1007 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
1008 Reported by:EHeM.
1009
1010 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
1013 spurious warning.
1014 Reported by: crocket
1015
1016 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
1019 Preload EFIemu.
1020 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
1021
1022 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
1025 is loaded
1026 (grub_cmd_xnu_kextdir): Likewise.
1027 (grub_cmd_xnu_splash): Likewise.
1028
1029 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 Avoid using Reed-Solomon with 0 redundancy.
1032
1033 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
1034 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
1035 or 0 redundancy.
1036 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
1037 (grub_reed_solomon_recover): Likewise.
1038
1039 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 Don't use disk subsystem in freebsd_boot.
1042
1043 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
1044 (freebsd_biosdev): Likewise.
1045 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
1046 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
1047
1048 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 Handling of files of unknown size is currently limited. They can't be
1051 used e.g. for initrd or modules. Moreover gzip handling of not
1052 easily seekable files is buggy. Disable unknown file size for now. May
1053 be inefficient but works.
1054
1055 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
1056 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1057
1058 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
1059
1060 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
1061 floppy probe.
1062
1063 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
1064
1065 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
1066
1067 2010-12-25 Shea Levy <shlevy>
1068
1069 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
1070
1071 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
1074 Windows Server 2008.
1075 Reported by: Devin Giddings.
1076
1077 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
1080 writing an error message because of async power management.
1081 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
1082 (grub_reboot): Likewise.
1083
1084 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
1085
1086 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
1087 keep unit tests from failing when they shouldn't.
1088
1089 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1090
1091 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
1092 previous patch increased the size of the RS code by 20 bytes (at
1093 least with gcc-4.4), so increase this by 20 bytes to match.
1094 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1095
1096 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1097
1098 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
1099 scratch area. Make sure to initialise chosen in standalone mode as
1100 well as non-standalone.
1101 Reported by: Robert Hooker and Andy Whitcroft.
1102 Tested by: Andy Whitcroft.
1103
1104 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1105
1106 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
1107 constructing a new unescaped string and passing it to grub_xputs in
1108 one go, rather than passing characters to grub_printf one at a time.
1109
1110 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1111
1112 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
1113 initialising utf16.
1114
1115 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1116
1117 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
1118 comment. Add an extra layer of quotation, requiring the output of
1119 this function to be used in a printf format string.
1120 (gettext_printf): New function.
1121 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
1122 Extract translatable strings from here-documents and use a temporary
1123 variable instead, so that xgettext can find them.
1124 * util/grub.d/10_kfreebsd.in: Likewise.
1125 * util/grub.d/10_linux.in: Likewise.
1126 * util/grub.d/20_linux_xen.in: Likewise.
1127
1128 * po/grub.d.sed: New file.
1129 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
1130 arguments. Set c-format flags on all strings extracted from
1131 util/grub.d/ (xgettext refuses to include these itself for strings
1132 it extracted from a shell file, but these really are c-format).
1133
1134 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
1137 Avoid next pointing to nowhere.
1138
1139 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
1142 rather than assuming than rootblock is exactly in the middle.
1143 (grub_affs_label): Likewise.
1144
1145 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
1148 reserved_first_sector to 0.
1149 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
1150 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
1151 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
1152
1153 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 Fix handling of UTF-16 UDF labels.
1156
1157 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
1158 (read_string): .. here.
1159 (grub_udf_label): Use read_string.
1160
1161 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
1162
1163 * grub-core/normal/menu_entry.c (run): Execute commands from menu
1164 editor under argument scope.
1165 Reported by: Jordan Uggla
1166
1167 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
1170
1171 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
1172
1173 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
1174 line, and other keys scroll an entire page (previous handling was
1175 for \r and \n to scroll a page and other keys to scroll two lines).
1176
1177 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1180 Set ptrdest to correct get_physical_target_address rather than
1181 incorrect get_virtual_current_address.
1182
1183 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
1184
1185 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
1186 correct cat to grub_uint8_t * rather than grub_uint32_t *.
1187
1188 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1189
1190 * .bzrignore: Ignore grub-core/rs_decoder.S.
1191
1192 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1193
1194 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
1195 .mo/.mo.gz opening sequence to ...
1196 (grub_mofile_open_lang): ... here.
1197 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
1198 * util/grub.d/00_header.in (grub_lang): Include country part of
1199 locale.
1200 Reported by: Mario Limonciello.
1201
1202 2010-12-09 Robert Millan <rmh@gnu.org>
1203
1204 * NEWS: Document addition of ZFS support.
1205
1206 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
1207
1208 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
1209 rather than `/ 2', as the latter requires -Wa,--divide which would
1210 require bumping our minimum binutils version.
1211
1212 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
1213
1214 * util/grub-script-check.c (main): Print script line number on
1215 error.
1216
1217 2010-12-01 Robert Millan <rmh@gnu.org>
1218
1219 * grub-core/fs/zfs/zfs.c: New file.
1220 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
1221 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
1222 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
1223 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1224
1225 * include/grub/zfs/dmu.h: Likewise.
1226 * include/grub/zfs/dmu_objset.h: Likewise.
1227 * include/grub/zfs/dnode.h: Likewise.
1228 * include/grub/zfs/dsl_dataset.h: Likewise.
1229 * include/grub/zfs/dsl_dir.h: Likewise.
1230 * include/grub/zfs/sa_impl.h: Likewise.
1231 * include/grub/zfs/spa.h: Likewise.
1232 * include/grub/zfs/uberblock_impl.h: Likewise.
1233 * include/grub/zfs/vdev_impl.h: Likewise.
1234 * include/grub/zfs/zap_impl.h: Likewise.
1235 * include/grub/zfs/zap_leaf.h: Likewise.
1236 * include/grub/zfs/zfs.h: Likewise.
1237 * include/grub/zfs/zfs_acl.h: Likewise.
1238 * include/grub/zfs/zfs_znode.h: Likewise.
1239 * include/grub/zfs/zil.h: Likewise.
1240 * include/grub/zfs/zio.h: Likewise.
1241 * include/grub/zfs/zio_checksum.h: Likewise.
1242
1243 * Makefile.util.def: Build ZFS into libgrubmods.
1244 * grub-core/Makefile.core.def: Build zfs.mod.
1245
1246 2010-11-30 Szymon Janc <szymon@janc.net.pl>
1247
1248 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
1249 variable.
1250 * grub-core/commands/wildcard.c (match_files): Likewise.
1251
1252 2010-11-30 Robert Millan <rmh@gnu.org>
1253
1254 * grub-core/loader/i386/bsd.c
1255 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
1256 whether kernel is loaded using grub_loader_is_loaded(), rather
1257 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
1258 certain error conditions.
1259
1260 2010-11-30 Robert Millan <rmh@gnu.org>
1261
1262 * grub-core/commands/echo.c: Include `<grub/term.h>'.
1263 (grub_cmd_echo): Call grub_refresh() after printing a message.
1264
1265 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 Avoid using tricks for initialising endian variables.
1268
1269 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
1270 Make const.
1271 (GRUB_MOD_INIT): Don't byte-swap.
1272 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1273 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
1274 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
1275 (grub_swap_bytes32_compile_time): Likewise.
1276 (grub_cpu_to_le32_compile_time): Likewise.
1277 (grub_cpu_to_le16_compile_time): Likewise.
1278
1279 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * util/grub-setup.c (setup): Stop recommending --force. People who
1282 understand the dangers of blocklists are able to find this option
1283 anyway and the ones who don't shouldn't use it anyway.
1284
1285 2010-11-26 Robert Millan <rmh@gnu.org>
1286
1287 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
1288 Update all users.
1289
1290 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
1291
1292 Fix LVM-on-RAID probing.
1293
1294 * util/grub-probe.c (probe): Remember which disk was detected as
1295 RAID (perhaps an LVM physical volume). Use that disk's raidname
1296 rather than that of the top-level disk.
1297
1298 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
1299
1300 Fix cmdline argument quotes for setparams command of menuentry
1301 definitions.
1302
1303 * grub-core/commands/menuentry.c (setparams_prefix): Use single
1304 quotes for arguments.
1305 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
1306 grub_strchrsub function instead.
1307
1308 * include/grub/misc.h (grub_strchrsub): New function.
1309
1310 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1311
1312 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
1313 effort by skipping "." and ".." entries up-front.
1314 Suggested by: Michael Lazarev.
1315
1316 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1317
1318 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
1319 ldflags to ldadd, to fix link line ordering.
1320 (none_decompress): Likewise.
1321
1322 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1323
1324 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
1325 platforms.
1326 (grub-emu-lite): Remove kern/emu/cache.S.
1327
1328 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1329
1330 * util/deviceiter.c (compare_devices): If the by-id link for a
1331 device couldn't be resolved, fall back to sorting by the by-id link
1332 rather than segfaulting.
1333 Reported and tested by: Daniel Mierswa.
1334
1335 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1336
1337 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
1338 ldflags, to fix link line ordering.
1339
1340 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1341
1342 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
1343 linkers are picky about this.
1344
1345 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1346
1347 * grub-core/Makefile.am (command.lst): Adjust sed expression
1348 ordering so that extended and priority commands aren't treated as
1349 ordinary commands.
1350
1351 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1352
1353 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1354 Remove byte-swapping function calls, which are not valid in
1355 structure initialisers.
1356 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
1357 non-const.
1358 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
1359 grub_gpt_partition_type_bios_boot.
1360
1361 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1362
1363 Fix test program build on GNU/kFreeBSD.
1364
1365 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
1366 $(LIBNVPAIR)' library dependencies.
1367
1368 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1369
1370 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
1371
1372 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1373
1374 * util/grub-install.in: Remove excessive quoting that broke
1375 installations to RAID devices.
1376
1377 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
1380 bootloader version instead of 0.
1381
1382 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
1385 warning.
1386
1387 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
1390 retrieve the metadat sector if size isn't known.
1391 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1392
1393 2010-11-18 Robert Millan <rmh@gnu.org>
1394
1395 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
1396 with grub_memcmp().
1397
1398 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
1401 arrow.
1402 Reported by: Jordan Uggla.
1403
1404 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 Make better UTF compliant.
1407
1408 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
1409 sequences as incorrect.
1410 (grub_is_valid_utf8): Likewise.
1411 (grub_utf8_to_ucs4): Likewise.
1412 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
1413 (grub_ucs4_to_utf8_alloc): Likewise.
1414 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
1415
1416 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 Make legacy_source behave like source.
1419
1420 * grub-core/commands/legacycfg.c (legacy_file): Don't call
1421 grub_show_menu.
1422 (grub_cmd_legacy_source): Call grub_show_menu if needed.
1423
1424 2010-11-16 Colin Watson <cjwatson@debian.org>
1425
1426 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
1427 (-Wunused implies -Wunused-parameter, but not vice versa).
1428
1429 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
1430
1431 * configure.ac: Make error messages less confusing by testing for
1432 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
1433 accepted, but produces a diagnostic if something else is wrong).
1434
1435 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
1438 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
1439 (now unused).
1440 (grub_keyboard_controller_init)
1441 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
1442 read the initial state since controller isn't inited yet.
1443
1444 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
1447 allocate_regbeg may need to create new chunk header.
1448
1449 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 Fix quoting in legacy parser.
1452
1453 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
1454 single quotes.
1455 (grub_legacy_parse): Likewise.
1456 Reported by: Jordan Uggla.
1457 Tested by: Jordan Uggla.
1458
1459 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 Don't add -lgcc on i386 and x86_64.
1462
1463 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
1464 * conf/Makefile.common (LDADD_KERNEL): Likewise.
1465 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
1466
1467 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * configure.ac: Add -Wno-trampolines when supported.
1470
1471 2010-11-14 Modestas Vainius <modax@debian.org>
1472
1473 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
1474 fakeraid.
1475
1476 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1477
1478 Add generic logical block size support for UDF.
1479
1480 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
1481 (GRUB_UDF_BLKSZ): Removed.
1482 (struct grub_udf_data): New field "lbshift" to hold the logical block
1483 size of the file system in log2 format. All users updated.
1484 (sblocklist): Change type to unsigned.
1485 (grub_udf_mount): Change type of "sblklist" to unsigned.
1486 Move AVDP search before VRS recognition, because the latter requires
1487 knowledge of the logical block size, which is detected during the
1488 former.
1489 Detect and validate logical block size during AVDP search, adding
1490 support for block sizes 512, 1024 and 4096.
1491 Make VRS recognition independent of block size.
1492
1493 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1494
1495 Properly handle deleted files on UDF.
1496
1497 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
1498 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
1499 set.
1500
1501 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1502
1503 Support reading files larger than 2 GiB.
1504
1505 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
1506 "offset" to grub_off_t.
1507 (grub_udf_read_file): Likewise for parameter "pos".
1508
1509 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
1512 unavailable.
1513 (Simple configuration): Refer to Changes from GRUB Legacy about
1514 save_env availability.
1515
1516 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * util/grub-install.in: Ignore empty partition table detection
1519 instead of trying to include part_ module.
1520
1521 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
1524 LVM on RAID support.
1525
1526 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 Properly define WORDS_BIGENDIAN in wrapped environments.
1529
1530 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
1531 definition.
1532 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
1533
1534 Reported by: Manoel Rebelo Abranches.
1535 Tested by: Manoel Rebelo Abranches.
1536
1537 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * util/grub-mkconfig.in: Fix quoting.
1540
1541 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 Support big ext2 files.
1544
1545 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
1546 (grub_ext2_read_block): Support triple indirect blocks.
1547 (grub_ext2_read_file): Use 64-bit types and read size_high.
1548 (grub_ext2_open): Read size_high.
1549 Reported by: Ximin Luo.
1550 Tested by: Manoel Rebelo Abranches.
1551
1552 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * util/grub-install.in: Handle filenames containing spaces.
1555 Reported by: Jordan Uggla.
1556 Tested by: Jordan Uggla.
1557
1558 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * util/grub-mkconfig.in (grub_script_check): New variable.
1561 Use grub_script_check instead of grub-script-check.
1562 Reported by: Barry Jackson.
1563
1564 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * docs/grub.texi (menu): Correct the order.
1567 Reported by: D. Hugh Redelmeier.
1568
1569 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
1572 jump.
1573
1574 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
1575
1576 * include/grub/elfload.h (grub_elf32_size): New parameter.
1577 All users updated.
1578 Return maximum segments alignment.
1579 (grub_elf64_size): Likewise.
1580 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
1581 Return maximum segments alignment.
1582 (grub_elf64_size): Likewise.
1583 * grub-core/loader/powerpc/ieee1275/linux.c:
1584 (grub_linux_claimmap_iterate): New function. Uses the
1585 "available" property in the "memory" node for memory allocation
1586 for kernel in the PowerPC loader.
1587 (grub_linux_load32): Correctly find linux entry point offset.
1588 (grub_linux_load64): Likewise.
1589
1590 2010-11-07 Robert Millan <rmh@gnu.org>
1591
1592 On mips-yeeloong, build with -march=loongson2f when this flag is
1593 available (GCC >= 4.4).
1594 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
1595 `-march=mips3'.
1596 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
1597 or otherwise add -march=mips3.
1598
1599 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
1600
1601 Suppress shell expansion on echo '*' and echo "*" like cases.
1602 Reported by: Jordan Uggla.
1603
1604 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1605 string arguments before shell expansion.
1606 * tests/grub_cmd_echo.in: New testcases.
1607
1608 2010-11-07 Robert Millan <rmh@gnu.org>
1609
1610 * conf/mips-qemu-mips.rmk: Remove stale file from previous
1611 transition.
1612
1613 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * grub-core/kern/emu/hostdisk.c
1616 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
1617
1618 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
1621 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
1622 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
1623
1624 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
1627
1628 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * util/grub-install.in: Replace useless recomendation to pass
1631 --modules with a recomendation to report a bug.
1632
1633 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 Properly register serial terminfo.
1636 Reported by: Jordan Uggla
1637
1638 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
1639 const.
1640 (grub_serial_terminfo_output_template): Likewise.
1641 (grub_cmd_serial): Register "serial" with terminfo.
1642 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
1643 grub_serial_terminfo_output.
1644
1645 2010-11-05 Robert Millan <rmh@gnu.org>
1646
1647 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
1648 needed).
1649
1650 2010-11-05 Robert Millan <rmh@gnu.org>
1651
1652 On Yeeloong, pass machine type information to Linux.
1653
1654 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
1655 (LOONGSON_MACHTYPE): New macro, set to
1656 "machtype=lemote-yeeloong-2f-8.9inches".
1657 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
1658 additional argument to Linux.
1659
1660 2010-11-04 Robert Millan <rmh@gnu.org>
1661
1662 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
1663 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
1664 (its SATA disks are detected as slaveless IDE master drives on
1665 kFreeBSD).
1666 Reported by Carsten Aulbert.
1667
1668 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
1669
1670 * util/bin2h.c (main): Fix spelling error in generated output.
1671
1672 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
1673
1674 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
1675
1676 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
1679 vga= option is supplied.
1680
1681 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
1684 * util/grub.d/10_kfreebsd.in: Likewise.
1685 * util/grub.d/10_linux.in: Likewise.
1686 * util/grub.d/20_linux_xen.in: Likewise.
1687
1688 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
1691 argument as an argument to no-argument option.
1692
1693 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * util/grub.d/10_linux.in: Add missing load_video with explicit
1696 GRUB_GFXPAYLOAD_LINUX.
1697
1698 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
1701
1702 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
1705 elements with invlid index.
1706 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1707 * grub-core/disk/raid.c (insert_array): Automatically reallocate
1708 members.
1709 * include/grub/raid.h (grub_raid_member): New struct.
1710 (grub_raid_array): Transform devices and start_sector into usage of
1711 grub_raid_member. All users updated
1712 (allocated_devs): New member.
1713
1714 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
1717 is modified
1718
1719 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
1720
1721 NetBSD build fix for getline function conflict from gnulib.
1722
1723 * Makefile.util.def (libgrubkern.a): New library for grub kernel
1724 components that depend on gnulib headers.
1725 (libgrubmods.a): Renamed from earlier libgrub.a.
1726 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
1727
1728 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
1731 install rather than creating a broken install.
1732
1733 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * util/grub-setup.c (argp): Remove misleading example of installing to
1736 a partition.
1737
1738 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * util/grub-setup.c (setup): Clarify the error message.
1741
1742 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
1745
1746 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/kern/emu/misc.c
1749 (grub_make_system_path_relative_to_its_root)
1750 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
1751
1752 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/kern/emu/misc.c
1755 (grub_make_system_path_relative_to_its_root): Revert r2882.
1756
1757 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
1760 useless field head. All users updated.
1761 (free_subchunk): Correct handling of IN_REGION subchunk.
1762
1763 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
1764
1765 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
1766 (Supported kernels): Likewise.
1767
1768 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1769
1770 Make mktemp invocations portable.
1771
1772 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
1773 exit if mktemp fails.
1774 * tests/grub_script_blockarg.in: Likewise.
1775 * tests/partmap_test.in: Likewise.
1776 * tests/util/grub-shell-tester.in: Likewise.
1777 * tests/util/grub-shell.in: Likewise.
1778 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1779 * Makefile.am: Likewise, and chain shell commands with `&&'
1780 instead of ';'.
1781 * util/grub-mkrescue.in: Use the same explicit template as above, and
1782 exit if mktemp fails.
1783
1784 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
1785
1786 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
1787 Linux kernel, reported by Dennis Schridde.
1788
1789 2010-10-17 Szymon Janc <szymon@janc.net.pl>
1790
1791 * grub-core/normal/auth.c (grub_auth_check_authentication):
1792 Set-but-not-used variable removed.
1793
1794 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * docs/grub.texi (GNU/Linux): Document APM unavailability with
1797 32-bit linux protocol.
1798
1799 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
1802 cursor shape for sanity.
1803
1804 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1805
1806 * docs/grub.texi (Installation): Document buggy BIOS install.
1807
1808 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * docs/grub.texi (Installation): Indent.
1811
1812 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * util/grub-setup.c (setup): New parameter allow_floppy.
1815 (arguments): New member allow_floppy.
1816 (argp_parser): Handle --allow-floppy.
1817 (main): Pass allow_floppy.
1818 * util/grub-install.in: New option --allow-floppy passed though to
1819 grub-setup.
1820
1821 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * util/grub-install.in: Handle partitionless disks.
1824
1825 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * util/grub-setup.c (setup): Don't clean blocklists before readability
1828 verfification.
1829
1830 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * docs/grub.texi (Installation): Document embedding zone. Remove
1833 obsolete grub-install example.
1834
1835 2010-10-16 Szymon Janc <szymon@janc.net.pl>
1836
1837 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
1838 Set-but-not-used variable ifdef'ed.
1839 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
1840 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
1841 variable removed.
1842 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
1843 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
1844 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
1845 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
1846 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
1847 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
1848 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
1849 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
1850 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1851 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
1852 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
1853 Likewise.
1854
1855 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
1858 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
1859 enum value.
1860
1861 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
1864 synonym to _S5_. Needed for some DSDTs.
1865
1866 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 Userspace ACPI parser debugging.
1869
1870 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
1871 headers and add relevant defines. Don't include standard headers.
1872 (main) [GRUB_DSDT_TEST]: New function.
1873 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
1874 Don't declare functions.
1875
1876 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 Remove dead grub_efi_mm_fini.
1879
1880 * grub-core/kern/efi/mm.c (allocated_page): Removed.
1881 (ALLOCATED_PAGES_SIZE): Likewise.
1882 (MAX_ALLOCATED_PAGES): Likewise.
1883 (allocated_pages): Likewise.
1884 (grub_efi_allocate_pages): Don't record allocated pages.
1885 (grub_efi_free_pages): Likewise.
1886 (grub_efi_mm_init): Likewise.
1887 (grub_efi_mm_fini): Removed.
1888
1889 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
1892 (grub_efi_mm_init): Take into account the memory map size increase.
1893
1894 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
1897 (serial_hw_put): Wait based on real time rather than port reads. Don't
1898 roken ports.
1899 * include/grub/serial.h (grub_serial_port): New field broken.
1900
1901 2010-10-16 Robert Millan <rmh@gnu.org>
1902
1903 * grub-core/kern/emu/misc.c
1904 (grub_make_system_path_relative_to_its_root): Fix premature return
1905 when processing non-root ZFS filesystems.
1906 Reported by Sergio Talens-Oliag.
1907
1908 2010-10-15 Robert Millan <rmh@gnu.org>
1909
1910 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
1911 guarantee compressed ones are processed first.
1912
1913 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
1916 grub_efiemu_autocore.
1917
1918 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
1921 rather than 0x1b.
1922 (grub_console_getkey): Use correct jae opcode rather than ja.
1923
1924 2010-10-12 Robert Millan <rmh@gnu.org>
1925
1926 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
1927 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
1928 variable. All references updated.
1929
1930 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
1931
1932 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 Correctly distinguish mdraid flavours.
1935
1936 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
1937 (insert_array): New argument raid.
1938 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
1939 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
1940 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
1941
1942 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
1945 handling of special keys.
1946
1947 2010-10-02 Aleš Nesrsta <starous@volny.cz>
1948
1949 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
1950 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
1951
1952 2010-10-02 Aleš Nesrsta <starous@volny.cz>
1953
1954 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
1955 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
1956 users updated.
1957 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
1958 Use right endpoint when querying descriptor.
1959
1960 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 Clear out 0x80 color bit on EFI.
1963 Tested by: decoder
1964 Reported by: decoder and meta tech.
1965
1966 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
1967 (grub_console_setcolorstate): Clear out 0x80 bit.
1968 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
1969 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
1970 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
1971
1972 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
1975 Set to "auto".
1976
1977 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
1980 mo_file after freeing.
1981
1982 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
1985
1986 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
1989 flags.
1990
1991 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
1994 usage.
1995
1996 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 Put terminfo into core on ieee1275 and yeeloong (needed for console).
1999
2000 * gentpl.py: New groups terminfoinkernel and terminfomodule.
2001 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
2002 and terminfo.h when needed.
2003 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
2004 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
2005 (terminfo): Enable only on terminfokernel.
2006 (extcmd): Likewise.
2007 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
2008 * include/grub/lib/arg.h: Likewise.
2009 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
2010 incorrect usage of ->.
2011
2012 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
2015 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
2016
2017 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 Fix coreboot compilation.
2020
2021 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2022 Take VBE info into account even if only text is supported.
2023 (fill_vbe_info): Take into account the case when only VGA text
2024 is supported.
2025 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
2026 on coreboot, multiboot and qemu.
2027
2028 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
2031 debug messages.
2032 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
2033
2034 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
2037 parameters.
2038
2039 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
2042 if they were BSD-style.
2043
2044 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * grub-core/boot/i386/pc/lnxboot.S: Replace
2047 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
2048 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
2049
2050 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 Write embedding zone using Reed-Solomon.
2053
2054 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
2055 * grub-core/Makefile.am (rs_decoder.S): New target.
2056 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
2057 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
2058 (multiboot): Move to RS part.
2059 (post_reed_solomon): New label.
2060 (grub_boot_drive): Move to non-RS part since it's modified in memory
2061 on boot.
2062 Include rs_decoder.S.
2063 * grub-core/lib/reed_solomon.c: New file.
2064 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
2065 New definition.
2066 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
2067 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
2068 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
2069 * include/grub/partition.h (grub_partition_map): Change prototype of
2070 embed to allow returning additional sectors.
2071 * include/grub/reed_solomon.h: New file.
2072 * util/grub-setup.c (setup): Handle Reed-Solomon.
2073
2074 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
2075
2076 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2077 i386 and x86-64 definedness tests.
2078
2079 2010-09-27 Yves Blusseau <blusseau@zetam.org>
2080
2081 Fix generation of kernel_syms.lst
2082
2083 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
2084 ASM_PREFIX
2085
2086 2010-09-26 Robert Millan <rmh@gnu.org>
2087
2088 Support degraded ZFS arrays in "grub-probe -t device" resolution.
2089
2090 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
2091 the pool is an array of devices, iterate through it and return the
2092 first device that passes a stat() test (instead of blindly returning
2093 the first one).
2094
2095 2010-09-26 Robert Millan <rmh@gnu.org>
2096
2097 Build fixes for GNU/kFreeBSD.
2098
2099 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
2100 to programs that require ZFS conversion.
2101 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
2102 kernels that don't have FLOPPY_MAJOR.
2103
2104 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2105
2106 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
2107
2108 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2109
2110 Fix grub-emu build.
2111
2112 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
2113 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
2114 mdraid09 and mdraid1x.
2115
2116 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
2117
2118 Re-enable grub-extras.
2119
2120 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
2121 avoid confusing Automake. Run autogen only twice, once for the top
2122 level and once for grub-core. Add Makefile.util.def and
2123 Makefile.core.def from extra modules to the appropriate autogen
2124 invocations. If Makefile.common exists in an extra module, include
2125 it in both Makefile.util.am and grub-core/Makefile.core.am;
2126 similarly, include any Makefile.util.common file in Makefile.util.am
2127 and any Makefile.core.common file in grub-core/Makefile.core.am.
2128 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
2129 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
2130 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
2131 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
2132
2133 * gentpl.py (gvar_add): Turn GVARS into a set.
2134 (global_variable_initializers): Sort global variables on output.
2135 (vars_init): New function.
2136 (first_time): Likewise.
2137 (library): Ensure that non-global variable initialisations are
2138 emitted before the first time we emit code for a library block.
2139 Append to variables rather than setting them. Only emit
2140 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
2141 each conditional path.
2142 (program): installdir() emits an Autogen macro, so must be passed to
2143 var_add rather than gvar_add.
2144 (data): Likewise.
2145 (script): Likewise.
2146 (rules): New function, centralising handling for different target
2147 types. Set up Guile association lists for first_time and vars_init,
2148 and send most output to a diversion so that variable initialisations
2149 can be emitted first.
2150 (module_rules): Use new rules function.
2151 (kernel_rules): Likewise.
2152 (image_rules): Likewise.
2153 (library_rules): Likewise.
2154 (program_rules): Likewise.
2155 (script_rules): Likewise.
2156 (data_rules): Likewise.
2157
2158 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
2159
2160 * .bzrignore: Add contrib and grub-core/contrib. Remove
2161 grub-core/Makefile.gcry.am.
2162
2163 2010-09-24 Yves Blusseau <blusseau@zetam.org>
2164
2165 * grub-core/lib/LzFind.c: Add missing include.
2166 * grub-core/lib/LzmaEnc.c: Likewise.
2167 * grub-core/script/lexer.c: Likewise.
2168 * grub-core/script/yylex.l: Likewise.
2169 * util/grub-macho2img.c: Likewise.
2170 * util/grub-menulst2cfg.c: Likewise.
2171 * util/grub-mklayout.c: Likewise.
2172 * util/grub-mkpasswd-pbkdf2.c
2173 * util/grub-mkrelpath.c: Likewise.
2174 * util/resolve.c: Likewise.
2175
2176 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
2177
2178 * Makefile.util.def (example_unit_test): Add
2179 grub-core/gnulib/libgnu.a.
2180
2181 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
2182
2183 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
2184
2185 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 Support xz compression on yeeloong.
2188
2189 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
2190 * configure.ac: Check for LZMA.
2191 * grub-core/Makefile.core.def (xz_decompress): New target.
2192 (none_decompress): Likewise.
2193 * grub-core/boot/decompressor/minilib.c: New file.
2194 * grub-core/boot/decompressor/none.c: Likewise.
2195 * grub-core/boot/decompressor/xz.c: Likewise.
2196 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
2197 * grub-core/kern/mips/cache_flush.S: Likewise.
2198 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
2199 * grub-core/kern/mips/startup.S: Move first stage to ...
2200 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
2201 nomacro.
2202 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
2203 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
2204 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
2205 Allocate statically.
2206 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
2207 Allocate statically or use scratch. Don't check CRC32.
2208 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
2209 Allocate statically. Don't check CRC32.
2210 * include/grub/decompressor.h: New file.
2211 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
2212 Removed.
2213 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
2214 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
2215 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
2216 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
2217 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
2218 * util/grub-mkimage.c (grub_compression_t): New type.
2219 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
2220 (image_target_desc): New field default_compression.
2221 (image_targets): Adjust yeeloong targets.
2222 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
2223 (compress_kernel): New parameter comp.
2224 (generate_image): Likewise. Handle new compression case.
2225 (options): New option --compression
2226 (help): Likewise.
2227 (main): Handle new option.
2228
2229 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
2230
2231 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
2232
2233 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
2234
2235 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2236 typo in __i386__ conditional.
2237
2238 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
2241 include.
2242
2243 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 Implement EFI and ACPI multiboot2 extensions.
2246
2247 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
2248 new tags as supported.
2249 (acpiv2_size): New function.
2250 (grub_multiboot_get_mbi_size): Take new tags into account.
2251 (grub_multiboot_make_mbi): Add new tags.
2252 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
2253
2254 2010-09-21 Aleš Nesrsta <starous@volny.cz>
2255
2256 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
2257 Added missing configuration of USB device.
2258
2259 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2260
2261 * grub-core/normal/menu_entry.c (run): Make sure we always return
2262 a value.
2263
2264 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2265
2266 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
2267 NumberOfPages is UINT64 according to the UEFI specification, not
2268 UINTN. Fix printf format.
2269
2270 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2271
2272 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
2273 `err' to grub_usb_err_t.
2274 Reported and tested by: KESHAV P.R.
2275
2276 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2277
2278 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
2279 tpart non-const, so that we can assign to it. (Since this is a
2280 typedef, the constness refers to the pointer rather than what it
2281 points to.)
2282
2283 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2284
2285 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
2286 $(top_srcdir)/grub-core/gnulib as well as
2287 $(top_builddir)/grub-core/gnulib.
2288 Reported by: KESHAV P.R.
2289
2290 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2291
2292 * util/grub-install.in: Fix the bootloader ID option to be
2293 consistently --bootloader-id, not --bootloader_id.
2294 Reported by: KESHAV P.R.
2295
2296 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2297
2298 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
2299 check hash checksum." consistently translatable.
2300
2301 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2302
2303 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
2304 $(top_builddir).
2305
2306 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2307
2308 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
2309 (GRUB_MOD_INIT): Register sha1sum command.
2310 (GRUB_MOD_FINI): Unregister sha1sum command.
2311
2312 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2313
2314 Keep boot and grub directory names in sync with utils scripts
2315
2316 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
2317 * config.h.in: Add previous macros.
2318 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
2319 * util/grub-install.in: Use $bootdir and $grubdir variables.
2320
2321 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2322
2323 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
2324 convert partition names to disk names if the new `convert' parameter
2325 is set.
2326 (grub_util_biosdisk_get_grub_dev): If opening the disk device
2327 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
2328 disk in its own right. This can happen with Xen disk images.
2329
2330 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2331
2332 * util/grub-editenv.c: Update strings to avoid warnings when generating
2333 grub.pot file.
2334 * util/grub-setup.c: Likewise.
2335
2336 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * configure.ac: Change version to 1.99~beta0.
2339
2340 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2343 Add BADRAM.
2344 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
2345 Likewise.
2346 * include/multiboot.h: Resynced with specification.
2347 * include/multiboot2.h: Likewise.
2348
2349 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2350
2351 Fix po directory handling.
2352
2353 * configure.ac: Create po/Makefile.in rather than po/Makefile.
2354 * grub-core/gnulib/Makefile.am: Import gettext module.
2355 * m4/gnulib-cache.m4: Likewise.
2356 * m4/gnulib-comp.m4: Likewise.
2357 * m4/gettext.m4: New file, from gnulib.
2358 * m4/glibc2.m4: Likewise.
2359 * m4/iconv.m4: Likewise.
2360 * m4/intdiv0.m4: Likewise.
2361 * m4/intl.m4: Likewise.
2362 * m4/intldir.m4: Likewise.
2363 * m4/intlmacosx.m4: Likewise.
2364 * m4/intmax.m4: Likewise.
2365 * m4/inttypes-pri.m4: Likewise.
2366 * m4/lcmessage.m4: Likewise.
2367 * m4/lib-ld.m4: Likewise.
2368 * m4/lib-link.m4: Likewise.
2369 * m4/lib-prefix.m4: Likewise.
2370 * m4/lock.m4: Likewise.
2371 * m4/nls.m4: Likewise.
2372 * m4/po.m4: Likewise.
2373 * m4/printf-posix.m4: Likewise.
2374 * m4/progtest.m4: Likewise.
2375 * m4/threadlib.m4: Likewise.
2376 * m4/uintmax_t.m4: Likewise.
2377 * m4/visibility.m4: Likewise.
2378 * po/Makefile.am: Remove.
2379 * po/Makefile.in.in: New file, from gettext.
2380 ($(DOMAIN).pot-update): Support POTFILES-shell.
2381 * po/Makevars: New file.
2382 * po/POTFILES-shell: Rename to ...
2383 * po/POTFILES-shell.in: ... this. Update.
2384 * po/POTFILES: Rename to ...
2385 * po/POTFILES.in: ... this. Update.
2386 * po/Rules-quot: New file, from gettext.
2387 * po/boldquot.sed: Likewise.
2388 * po/en@boldquot.header: Likewise.
2389 * po/en@quot.header: Likewise.
2390 * po/insert-header.sin: Likewise.
2391 * po/quot.sed: Likewise.
2392 * po/remove-potcdate.sin: Likewise.
2393
2394 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
2397
2398 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * util/grub.d/20_linux_xen.in: Use submenus.
2401
2402 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 Support submenus.
2405
2406 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
2407 parameter submenu. All users updated.
2408 * grub-core/normal/main.c (free_menu): Rename to ...
2409 (grub_normal_free_menu): ... this. Made global.
2410 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
2411 if requested.
2412 * grub-core/normal/menu_entry.c (screen): New field submenu.
2413 (make_screen): Set submenu.
2414 (run): Open new context if requested.
2415 * include/grub/menu.h (grub_menu_entry): New field submenu.
2416 * include/grub/normal.h (grub_normal_free_menu): New proto.
2417
2418 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 Menu entries extractor.
2421
2422 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
2423 variants.
2424 (GRUB_MOD_INIT): Register new variants.
2425 (GRUB_MOD_FINI): Unregister new variants.
2426 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
2427 into grub_cmd_legacy_source.
2428 (grub_cmd_legacy_source): Implement extractor variants.
2429 (GRUB_MOD_INIT): Register new variants.
2430 (GRUB_MOD_FINI): Unregister new variants.
2431 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
2432 as an extractor.
2433 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
2434 search as an extractor.
2435 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
2436 test as an extractor.
2437 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
2438 as an extractor.
2439 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
2440 (grub_env_new_context): New function.
2441 (grub_env_context_open): Likewise.
2442 (grub_env_extractor_open): Likewise.
2443 (grub_env_extractor_close): Likewise.
2444 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2445 grub_extractor_level.
2446 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
2447 * include/grub/env.h (grub_env_extractor_open): New proto.
2448 (grub_env_extractor_close): Likewise.
2449 * include/grub/normal.h (grub_extractor_level): New external variable.
2450
2451 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 Make cutmem accept a region specification.
2454 Suggested by: Samuel Thibault
2455
2456 * grub-core/mmap/mmap.c (parsemem): New function.
2457 (grub_cmd_cutmem): Handle new arguments.
2458
2459 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 New command cutmem.
2462
2463 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
2464 (GRUB_MOD_INIT): Register new command.
2465 (GRUB_MOD_FINI): Unregister new command.
2466
2467 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 Support some annoying BSD and Minix subpartitions.
2470
2471 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
2472 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2473 Properly handle concatenation.
2474 * grub-core/kern/device.c (grub_device_iterate): Likewise.
2475 * grub-core/normal/completion.c (iterate_partition): Likewise.
2476 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
2477 contain partition. All users updated.
2478 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
2479 struct.
2480 (grub_openbsdlabel_partition_map): Likewise.
2481 (bsdlabel_partition_map_iterate): Rename to ..
2482 (iterate_real): ... this. New arguments sector, freebsd and pmap.
2483 (bsdlabel_partition_map_iterate): New function.
2484 (netopenbsdlabel_partition_map_iterate): Likewise.
2485 (netbsdlabel_partition_map_iterate): Likewise.
2486 (openbsdlabel_partition_map_iterate): Likewise.
2487 (GRUB_MOD_INIT): Register new partmaps.
2488 (GRUB_MOD_FINI): Unregister new partmaps.
2489 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
2490 (grub_partition_msdos_iterate): ... this. All users updated.
2491 Don't support embedding other than in a minix partition.
2492 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
2493 proto.
2494 * include/grub/partition.h (grub_partition): New field msdostype.
2495 * util/grub-install.in: Handle openbsd and netbsd types being in
2496 part_bsd module.
2497
2498 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
2501
2502 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
2503 * grub-core/Makefile.core.def (mdraid): Renamed to ...
2504 (mdraid09): ... this.
2505 (mdraid1x): New module.
2506 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
2507 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
2508
2509 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
2512 vsprintf.
2513
2514 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2515
2516 * grub-core/commands/efi/lsefimmap.c: Correct header.
2517 * NEWS: Update.
2518
2519 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2520
2521 * util/grub-editenv.c (argp_parser): Don't pass translated strings
2522 as printf format strings; the translations might contain '%' which
2523 could cause a crash.
2524 (main): Likewise.
2525 * util/grub-fstest.c (argp_parser): Likewise.
2526 * util/grub-setup.c (argp_parser): Likewise.
2527 (main): Likewise.
2528
2529 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 Use argp in grub-fstest.
2532
2533 * util/grub-fstest.c: Don't include getopt.h.
2534 Include argp.h.
2535 (root): New variable.
2536 (args_count): Likewise.
2537 (nparm): Likewise.
2538 (num_disks): Likewise.
2539 (images): Likewise.
2540 (cmd): Likewise.
2541 (debug_str): Likewise.
2542 (args): Likewise.
2543 (options): Transformed to argp.
2544 (usage): Removed.
2545 (main): Split argument parsing into ...
2546 (argp_parser): ... this. Changed to argp format.
2547 (argp): New variable.
2548 (main): Use argp_parse.
2549
2550 2010-09-20 Tristan Gingold <gingold@free.fr>
2551 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
2552 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * grub-core/commands/efi/lsefimmap.c: New file.
2555 * grub-core/Makefile.core.def (lsefimmap): New module.
2556 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
2557
2558 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 Pause the execution (10s max) if any errors are displayed so the user
2561 has a chance to see them.
2562
2563 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
2564 (grub_print_error): Increment grub_err_printed_errors.
2565 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
2566 execution if any errors were displayed.
2567 (show_menu): Remove old code for pause.
2568 * grub-core/normal/menu_entry.c (run): Likewise.
2569 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
2570 users updated.
2571 (grub_normal_get_char_counter): Likewise.
2572 * include/grub/err.h (grub_err_printed_errors): New external variable.
2573 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
2574
2575 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 Support multiboot VBE info.
2578
2579 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2580 Take VBE info into account.
2581 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
2582 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
2583 Call fill_vbe_info when appropriate.
2584 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
2585 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
2586 as supported.
2587 (grub_multiboot_get_mbi_size): Take new tags into account.
2588 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
2589 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
2590 Call fill_vbe_tag when appropriate.
2591 (grub_multiboot_make_mbi): Properly align tags.
2592 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
2593 function.
2594 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
2595 proto.
2596 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
2597
2598 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 Suport manual terminal geometry specification.
2601
2602 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
2603 Save state in grub_ofconsole_terminfo_output.
2604 (grub_ofconsole_term): Use grub_terminfo_getwh.
2605 (grub_ofconsole_getwh): Removed.
2606 * grub-core/term/serial.c (grub_serial_getwh): Removed.
2607 (grub_serial_term): Use grub_terminfo_getwh.
2608 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
2609 (options): New struct.
2610 (OPTION_*): New enum.
2611 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
2612 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
2613 width and height.
2614 (grub_terminfo_getwh): New proto.
2615 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
2616
2617 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 Handle legacy "terminal" command.
2620
2621 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
2622 and FLAG_TERMINAL.
2623 (legacy_commands): Add terminal and title.
2624 (grub_legacy_parse): Handle terminal. Simplify title handling.
2625
2626 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
2629 parameters overflow.
2630
2631 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2632
2633 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
2634 widthspec.h.
2635
2636 * docs/grub.texi (Shell-like scripting): Document `!'.
2637 (Network): Simplify using new i386-pc-pxe format. Mention
2638 grub-mknetdir.
2639
2640 * NEWS: Update.
2641
2642 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2643
2644 * Makefile.am (SUBDIRS): Restore "."; it's important to force
2645 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
2646 when needed.
2647
2648 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2649
2650 * grub-core/commands/efi/lsefisystab.c: Correct header.
2651 * grub-core/commands/efi/lssal.c: Likewise.
2652 * grub-core/commands/testload.c: Likewise.
2653
2654 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2655
2656 * util/grub-mkrescue.in: Add explicit root argument to --set to
2657 prevent the UUID being interpreted as an argument to --set (matches
2658 previous change to prepare_grub_to_access_device).
2659
2660 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2661
2662 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
2663 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
2664 the verbosity of later #ifs.
2665 (find_partition_start): Define this function on FreeBSD too.
2666 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
2667 function.
2668 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
2669 on FreeBSD.
2670
2671 2010-09-20 Yves Blusseau <blusseau@zetam.org>
2672
2673 * util/grub-editenv.c: Use argp instead of getopt.
2674
2675 2010-09-20 Yves Blusseau <blusseau@zetam.org>
2676
2677 * util/grub-setup.c: Use argp instead of getopt.
2678
2679 2010-09-20 Yves Blusseau <blusseau@zetam.org>
2680
2681 Use gnulib-tool to create gnulib source files.
2682
2683 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
2684 grub-core/gnulib directories
2685 * .bzignore: Add **/.deps and autogenerated gnulib files
2686 * configure.ac: Assign auxiliary directory to build-aux, add invocation
2687 of gnulib macros, add grub-core/gnulib/Makefile
2688 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
2689 include m4 directory to aclocal.
2690 * Makefile.util.def: Remove direct compilation of gnulib source files
2691 and use the new grub-core/gnulib/libgnu.a.
2692 * build-aux/config.rpath: move config.rpath from top directory to
2693 build-aux
2694 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
2695 in gnulib headers
2696 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
2697 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
2698 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
2699 header.
2700 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
2701 string.
2702
2703 2010-09-20 Yves Blusseau <blusseau@zetam.org>
2704
2705 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
2706 grub-core/genmod.sh and grub-core/gensyminfo.sh
2707
2708 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
2709
2710 Add a test for echo command options.
2711
2712 * tests/grub_cmd_echo.in: New test.
2713 * Makefile.util.def: Rules for new test.
2714
2715 2010-09-20 Szymon Janc <szymon@janc.net.pl>
2716
2717 Remove crc.mod and move crc command to hashsum.mod.
2718 Remove lib/crc.c - users updated to use gcrypt implementation.
2719
2720 * grub-core/commands/crc.c: Removed.
2721 * grub-core/Makefile.core.def (crc): Module removed.
2722 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
2723 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
2724 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
2725 * grub-core/lib/crc.c: Removed.
2726 * include/grub/lib/crc.h: Removed.
2727 * Makefile.util.def (crc): Remove lib/crc.c
2728 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
2729 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
2730 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
2731 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
2732 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
2733 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
2734
2735 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
2738
2739 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 Split config.h for util and core.
2742
2743 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
2744 (ADDR32): Likewise.
2745 (DATA32): Likewise.
2746 (BSS_START_SYMBOL): Likewise.
2747 (END_SYMBOL): Likewise.
2748 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
2749 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
2750 * config.h.in: New file.
2751 * configure.ac: Use config-util.h as config define file.
2752 Rename MACHINE into GRUB_MACHINE. All users updated.
2753 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
2754 updated.
2755 (NESTED_FUNC_ATTR): Likewise.
2756 Substitue new variables.
2757 (COND_HAVE_ASM_USCORE): New conditional.
2758 * grub-core/Makefile.am (ASM_PREFIX): New variable.
2759 (kernel_syms.lst): Use ASM_PREFIX.
2760 * grub-core/kern/emu/console.c: Include config-util.h.
2761 * grub-core/kern/emu/misc.c: Likewise.
2762 * grub-core/kern/emu/mm.c: Likewise.
2763 * include/grub/emu/misc.h: Likewise.
2764 * include/grub/libgcc.h: Likewise.
2765
2766 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
2769 constants usage.
2770 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
2771 Fix GRUB_TERM_KEY_* constants usage.
2772 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
2773
2774 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
2777 print pointer.
2778 * grub-core/bus/usb/uhci.c: Remove empty define.
2779 (grub_uhci_check_transfer): Add missing cast.
2780 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
2781 print pointer.
2782 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
2783 PRIuGRUB_SIZE.
2784 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
2785
2786 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * grub-core/Makefile.core.def (legacycfg): Add
2789 lib/i386/pc/vesa_modes_table.c on emu.
2790
2791 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
2792
2793 Reduce number of temporary files generated by build system.
2794
2795 * grub-core/gencmdlist.sh: Removed.
2796 * grub-core/genfslist.sh: Removed.
2797 * grub-core/genhandlerlist.sh: Removed.
2798 * grub-core/genmodsrc.sh: Removed.
2799 * grub-core/genpartmaplist.sh: Removed.
2800 * grub-core/genparttoollist.sh: Removed.
2801 * grub-core/gentermiinallist.sh: Removed.
2802 * grub-core/genvideolist.sh: Removed.
2803
2804 * grub-core/genmod.sh.in: New file.
2805 * grub-core/gensyminfo.sh.in: New file.
2806
2807 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
2808 * conf/Makefile.extra-dist: Update with new files.
2809 * gentpl.py: Remove rules related to unnecessary temporary files.
2810 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
2811 and und-* files.
2812 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
2813 genmod.sh scripts.
2814 * grub-core/bus/usb/uhci.c: Remove empty #define.
2815 * grub-core/genmoddep.awk: Updated with new syminfo format.
2816 * util/bash-completion.d/Makefile.am: Add config.log to
2817 CLEANFILES.
2818
2819 2010-09-19 Yves Blusseau <blusseau@zetam.org>
2820
2821 * Makefile.util.def: Add forgotten $(LIBINTL) library.
2822
2823 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
2824
2825 * util/grub-mkconfig.in: Check the config script for syntax errors
2826 before saving.
2827
2828 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
2829 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * Makefile.util.def (grub-install): Use util/grub-install.in on all
2832 platforms.
2833 * util/grub-install.in: Add EFI and IEEE1275 support.
2834 * util/i386/efi/grub-install.in: Removed.
2835 * util/ieee1275/grub-install.in: Likewise.
2836
2837 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
2840 (grub_cmd_cmosclean): Likewise.
2841 (GRUB_MOD_INIT): Register command cmosclean.
2842 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
2843 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
2844
2845 2010-09-18 Carles Pina i Estany <carles@pina.cat>
2846 2010-09-18 Aleš Nesrsta <starous@volny.cz>
2847 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 Add keyboard layouts support.
2850
2851 * Makefile.util.def (grub-mklayout): New file.
2852 (grub-kbdcomp): New script.
2853 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
2854 Add keyboard_layouts.h.
2855 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
2856 commands/boot.c on yeeloong.
2857 (keylayouts): New module.
2858 * grub-core/bus/usb/ohci.c
2859 * grub-core/bus/usb/uhci.c
2860 * grub-core/bus/usb/usbhub.c (rescan): New variable.
2861 (grub_usb_add_hub): Poll interrupt pipe for device handling.
2862 (attach_root_port): Likewise.
2863 (poll_nonroot_hub): Likewise.
2864 (grub_usb_poll_devices): Likewise.
2865 (detach_device): Close transfer.
2866 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
2867 function.
2868 (grub_usb_bulk_setup_readwrite): Likewise.
2869 (grub_usb_bulk_finish_readwrite): Likewise.
2870 * grub-core/commands/keylayouts.c: New file.
2871 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
2872 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
2873 aliases.
2874 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
2875 support scancode 2.
2876 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
2877 * include/grub/keyboard_layouts.h: New file.
2878 * util/grub-mklayout.c: New file.
2879 * util/grub-kbdcomp.in: Likewise.
2880
2881 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 Unify memory types.
2884
2885 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
2886 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
2887 types.
2888 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
2889 (grub_upper_mem): Likewise.
2890 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
2891 * include/grub/memory.h (grub_memory_type_t): New enum.
2892 All users updated.
2893
2894 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/Makefile.core.def (lsapm): New module.
2897 * grub-core/commands/i386/pc/lsapm.c: New file.
2898 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
2899 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
2900 Likewise.
2901 * include/grub/i386/pc/apm.h: New file.
2902 * include/multiboot.h (multiboot_apm_info): New struct.
2903
2904 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 GRUB-legacy configuration file support.
2907
2908 * Makefile.util.def (grub-menulst2cfg): New util.
2909 * docs/man/grub-menulst2cfg.h2m: New file.
2910 * grub-core/Makefile.core.def (legacycfg): New module.
2911 * grub-core/commands/legacycfg.c: New file.
2912 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
2913 (grub_normal_add_menu_entry): ... this.
2914 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
2915 (grub_normal_set_password): ...this.
2916 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
2917 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
2918 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
2919 * grub-core/lib/legacy_parse.c: New file.
2920 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
2921 * include/grub/i386/pc/vesa_modes_table.h: New file.
2922 * include/grub/legacy_parse.h: Likewise.
2923 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
2924 * util/grub-menulst2cfg.c: New file.
2925
2926 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
2927
2928 * grub-core/kern/emu/hostdisk.c
2929 (convert_system_partition_to_system_disk): Initialise node.
2930
2931 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
2932
2933 * grub-core/kern/emu/hostdisk.c
2934 (convert_system_partition_to_system_disk): Fix devmapper memory pool
2935 leak.
2936 Reported and based on patch by: Modestas Vainius.
2937
2938 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
2939
2940 Fix DM-RAID probing with recent versions of device-mapper udev
2941 rules.
2942
2943 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
2944 canonicalise device paths under /dev/mapper/.
2945 (convert_system_partition_to_system_disk): Compare the
2946 uncanonicalised path to /dev/mapper/ rather than the canonicalised
2947 path, since device nodes under /dev/mapper/ are often symlinks.
2948
2949 2010-09-17 Yves Blusseau <blusseau@zetam.org>
2950
2951 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
2952
2953 2010-09-16 Yves Blusseau <blusseau@zetam.org>
2954
2955 * configure.ac: Avoid some annoying error messages if freetype-config
2956 program is not found.
2957
2958 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
2959
2960 Support RAID on virtio devices, and others.
2961
2962 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
2963 Rename to ...
2964 [__MINGW32__] (grub_find_device): ... this.
2965 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
2966 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
2967 reasonable default if dir is NULL.
2968 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
2969 ...
2970 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
2971 (grub_guess_root_device): Update callers.
2972 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
2973
2974 * util/raid.c (grub_util_getdiskname): Remove.
2975 (grub_util_raid_getmembers): Use grub_find_device rather than
2976 grub_util_getdiskname.
2977
2978 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
2979
2980 * docs/grub.texi (serial): Remove obsolete comment about GRUB
2981 needing to be compiled with serial support.
2982 (ls): Indicate that multiple files are accepted.
2983 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
2984 indicate that multiple files are accepted.
2985
2986 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
2987
2988 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
2989 libgrub_a_init.c, and util/bash-completion.d/grub.
2990
2991 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * util/grub-setup.c (setup): Fix incorrect container semantics.
2994
2995 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
2998 misusage.
2999 Reported by: J. Nick Terry
3000
3001 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 Move embedding routines to partmap sources files.
3004
3005 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
3006 [GRUB_UTIL]: New variable.
3007 (gpt_partition_map_iterate): Set part.parent.
3008 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
3009 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
3010 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
3011 New function.
3012 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
3013 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
3014 (grub_partition_map) [GRUB_UTIL]: New field embed.
3015 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
3016 (setup): Use ->embed.
3017
3018 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
3021 function.
3022 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
3023 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
3024
3025 2010-09-15 Yves Blusseau <blusseau@zetam.org>
3026
3027 Add function to get completions from usage.
3028
3029 * util/bash-completion.d/grub-completion.bash.in: Add function to get
3030 completions from usage. Use LC_ALL=C to get options properly.
3031
3032 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 * grub-core/gnulib/basename-lgpl.c: Imported.
3035 * grub-core/gnulib/basename.c: Likewise.
3036 * grub-core/gnulib/dirname-lgpl.c: Likewise.
3037 * grub-core/gnulib/dirname.c: Likewise.
3038 * grub-core/gnulib/dirname.h: Likewise.
3039 * grub-core/gnulib/stripslash.c: Likewise.
3040
3041 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/gnulib/error.c: Resynced.
3044 * grub-core/gnulib/getopt.c: Likewise.
3045 * grub-core/gnulib/getopt_int.h: Likewise.
3046 * grub-core/gnulib/regex.h: Likewise.
3047 * grub-core/gnulib/regex_internal.c: Likewise.
3048 * grub-core/gnulib/regex_internal.h: Likewise.
3049
3050 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3051
3052 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
3053 CRC calculations and validity checks.
3054 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
3055 calculations.
3056
3057 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3058
3059 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
3060
3061 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 Fix incorrect echo options handling.
3064 Reported by: Yves Blusseau.
3065
3066 * include/grub/command.h (grub_command_flags_t): New flags
3067 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
3068 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
3069 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
3070
3071 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
3074 users updated.
3075 (GRUB_COMMAND_FLAG_MENU): Likewise.
3076 (GRUB_COMMAND_FLAG_BOTH): Likewise.
3077 (GRUB_COMMAND_FLAG_TITLE): Removed.
3078 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
3079 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
3080 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
3081 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
3082 (grub_command_flags_t): New enum. All users updated.
3083
3084 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
3085
3086 Fix solaris compilation.
3087
3088 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
3089 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
3090 (grub-emu-list): Likewise.
3091
3092 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 Remove deprecated root command.
3095
3096 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
3097 updated.
3098
3099 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * util/i386/pc/grub-setup.c: Merge this ...
3102 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
3103 * util/grub-setup.c: ... into this.
3104 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
3105 New struct.
3106
3107 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
3110 possible.
3111
3112 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
3115 allocate p.
3116
3117 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3120 explicit root argument to set to prevent UUID to be interpreted as
3121 argument to set.
3122
3123 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
3126
3127 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 Don't export grub_gate_a20.
3130
3131 * grub-core/kern/i386/pc/init.c: Remove leftovers.
3132 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
3133 to ...
3134 (grub_gate_a20): ... this. All users updated.
3135 * include/grub/i386/pc/init.h: Removed. All users updated.
3136
3137 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 Create euro.pf2 which supports most European languages.
3140
3141 * Makefile.am (grubdata_DATA): Add euro.pf2.
3142 (euro.pf2): New target.
3143 (CLEANFILES): Add euro.pf2.
3144
3145 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * configure.ac: Disable emu-usb by default to prevent inadvertent
3148 device takeover.
3149
3150 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 Disable usbserial on grub-emu since our libusb code isn't good enough
3153 yet.
3154
3155 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
3156 (usbserial_pl2303): Likewise.
3157 (usbserial_ftdi): Likewise.
3158
3159 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * include/grub/disk.h (grub_disk): Remove has_partitions.
3162 All users updated.
3163 * disk/loopback.c (grub_loopback): Remove has_partitions.
3164 All users updated.
3165 (options): Remove partitions. All users updated.
3166 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
3167 * util/i386/pc/grub-setup.c (setup): copy partition table only when
3168 actual partition table is found.
3169
3170 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 Remove readability checks (too many false negatives).
3173
3174 * util/grub-install.in: Remove readability checks.
3175 * util/grub-mkconfig.in: Likewise.
3176 * util/grub.d/10_hurd.in: Likewise.
3177 * util/grub.d/10_kfreebsd.in: Likewise.
3178 * util/grub.d/10_linux.in: Likewise.
3179 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
3180 way.
3181
3182 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 Enable acpi shutdown on all ACPI platforms.
3185
3186 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
3187 on coreboo, multiboot and EFI.
3188 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
3189 (grub_acpi_halt): Likewise.
3190 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
3191 (grub_cmd_halt): Don't call grub_acpi_halt directly.
3192 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
3193 * grub-core/lib/i386/halt.c (grub_halt)
3194 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
3195
3196 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
3199 context.
3200
3201 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/video/efi_gop.c: Fix over-80-chars line.
3204 * grub-core/video/efi_uga.c: Likewise.
3205
3206 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 Filter devaliases and never open same device twice.
3209
3210 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
3211 (last_ihandle): Likewise.
3212 (ofdisk_hash_ent): New member shortest.
3213 (ofdisk_hash_add): Add canonical path too.
3214 (scan): New function.
3215 (grub_ofdisk_iterate): Iterate over hashed entries.
3216 (compute_dev_path): Don't add :0.
3217 (grub_ofdisk_open): Don't really open the disk.
3218 (grub_ofdisk_close): Avoid closing unrelated disk.
3219 (grub_ofdisk_read): Implement reopen logic.
3220 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
3221 New function.
3222 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
3223 New proto.
3224
3225 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 Fix sparc64.
3228
3229 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
3230 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
3231 right address. Add sparc64_ieee1275_ldflags.
3232 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
3233 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
3234 to grub_host_to_target_addr
3235 (load_image): Likewise.
3236
3237 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * grub-core/normal/completion.c (complete_file): Handle device
3240 containing slash.
3241 Fix based on patch by Doug Nazar.
3242
3243 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 grub-mknetdir script.
3246
3247 * Makefile.util.def (grub-mknetdir): New module.
3248 * tests/util/grub-shell.in: Support boot=net
3249 * util/grub-mknetdir.in: New file.
3250
3251 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 videoinfo on non-vbe.
3254
3255 * grub-core/Makefile.core.def (vbeinfo): Removed.
3256 (vbetest): Removed.
3257 (videoinfo): New module.
3258 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
3259 * grub-core/commands/i386/pc/vbetest.c: Removed.
3260 * grub-core/commands/videoinfo.c: New file.
3261 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
3262 specification.
3263 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
3264 as vbetest.
3265 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
3266 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
3267 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
3268 mode_number. New parameter mode. All users updated.
3269 (grub_video_gop_iterate): New function.
3270 (grub_video_efi_gop): New member iterate.
3271 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
3272 (grub_vbe_set_video_mode): Remove setting useless fields.
3273 (vbe2videoinfo): New function.
3274 (grub_video_vbe_iterate): Likewise.
3275 (grub_video_vbe_setup): Use vbe2videoinfo.
3276 (grub_video_vbe_print_adapter_specific_info): New function.
3277 (grub_video_vbe_adapter): New fields iterate and
3278 print_adapter_specific_info.
3279 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
3280 All users updated.
3281 (grub_video_mode_info): New field mode_number.
3282 (grub_video_adapter): New fields iterate and
3283 print_adapter_specific_info.
3284
3285 2010-09-13 Tristan Gingold <gingold@free.fr>
3286 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
3287 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * grub-core/commands/efi/lsefisystab.c: New file.
3290 * grub-core/commands/efi/lssal.c: Likewise.
3291 * grub-core/Makefile.core.def (lsacpi): New module.
3292 (lsefisystab): Likewise.
3293 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
3294 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
3295 (grub_efi_sal_system_table): New struct.
3296 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
3297 (grub_efi_sal_system_table_memory_descriptor): Likewise.
3298 (grub_efi_sal_system_table_platform_features): Likewise.
3299 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
3300 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
3301 (grub_efi_sal_system_table_ap_wakeup): Likewise.
3302 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
3303
3304 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 Support explicit user claim that a device is BIOS-visible.
3307
3308 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
3309 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
3310 * grub-core/kern/emu/hostdisk.c
3311 (convert_system_partition_to_system_disk): Support mdX.
3312 (find_system_device): New parameter add. All users updated.
3313 (grub_util_biosdisk_is_present): New function.
3314 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
3315 proto.
3316
3317 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 Search hints support.
3320
3321 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
3322 All users updated.
3323
3324 2010-09-13 Yves Blusseau <blusseau@zetam.org>
3325
3326 Bash completion script for util commands
3327
3328 * Makefile.am: Add util/bash-completion.d directory
3329 * configure.ac: Likewise.
3330 * util/bash-completion.d/Makefile.am: New file.
3331 * util/bash-completion.d/grub-completion.bash.in: Likewise.
3332
3333 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
3336 (print_backlog): set backlog_ucs4 and backlog_glyphs.
3337 Reported by: Yves Blusseau.
3338
3339 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
3342 partition size and offset.
3343
3344 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
3347
3348 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
3351
3352 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
3355 (grub_xvasprintf): Likewise.
3356
3357 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
3360
3361 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
3364 args ending with NULL.
3365
3366 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
3369 pointer.
3370
3371 2010-09-11 Szymon Janc <szymon@janc.net.pl>
3372
3373 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
3374
3375 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 Shutdown using ACPI.
3378
3379 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
3380 * grub-core/commands/acpihalt.c: New file.
3381 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
3382 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
3383 (grub_acpi_halt): New proto.
3384 (GRUB_ACPI_SLP_EN): New const.
3385 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
3386 (GRUB_ACPI_OPCODE_*): New enum.
3387 (GRUB_ACPI_EXTOPCODE_*): Likewise.
3388
3389 2010-09-11 Tristan Gingold <gingold@free.fr>
3390 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
3391 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * commands/lsacpi.c: New file.
3394 * grub-core/Makefile.core.def (lsacpi): New module.
3395 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
3396 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
3397 (grub_acpi_madt_entry_header): New struct.
3398 (grub_acpi_madt): Likewise.
3399 (grub_acpi_madt_entry_interrupt_override): Likewise.
3400 (grub_acpi_madt_entry_sapic): Likewise.
3401 (grub_acpi_madt_entry_lsapic): Likewise.
3402 (grub_acpi_madt_entry_platform_int_source): Likewise.
3403 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
3404 (PRIuGRUB_UINT32_T): Likewise.
3405 (PRIxGRUB_UINT64_T): Likewise.
3406
3407 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 Implement loading palette on ieee1275_fb.
3410
3411 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
3412 (have_setcolors): Likewise.
3413 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
3414 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
3415 (grub_video_ieee1275_set_palette): Implement.
3416
3417 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3418 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
3419
3420 * util/grub-install.in (grub_partition): New variable.
3421 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
3422 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
3423 Fixes a bug reported by Yves Blusseau.
3424
3425 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 Fix emu on mipsel.
3428
3429 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
3430 =grub_cpu_flush_cache on all mips and not only yeeloong.
3431 * configure.ac (COND_mips): New conditional.
3432 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
3433 platforms.
3434 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
3435 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
3436 [GRUB_LINKER_HAVE_INIT]: New function.
3437 (grub_emu_post_init): Likewise.
3438 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
3439 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
3440 * include/grub/cache.h (_mips): Include mips/cache.h.
3441 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
3442 LVM and RAID prototypes.
3443 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
3444 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
3445 function.
3446
3447 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3448
3449 * util/grub-install.in: Don't try to verify core.img until after
3450 running grub-mkimage to create it.
3451
3452 2010-09-10 Robert Millan <rmh@gnu.org>
3453
3454 * util/grub.d/10_hurd.in: Add misc readability checks.
3455 * util/grub.d/10_kfreebsd.in: Likewise.
3456 * util/grub.d/10_linux.in: Likewise.
3457
3458 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3459
3460 * util/grub-install.in: ${imgext} won't be defined here until the
3461 install branch is merged. For the meantime, only verify core.img on
3462 i386-pc and sparc64-ieee1275 platforms.
3463
3464 2010-09-10 Robert Millan <rmh@gnu.org>
3465
3466 Solaris support in grub_find_zpool_from_dir(). Thanks
3467 Seth Goldberg for referring to getextmntent() facility.
3468
3469 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
3470 `sys/mkdev.h'.
3471 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
3472 `<sys/mnttab.h>'.
3473 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
3474 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
3475 method for finding zpool name.
3476
3477 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3478
3479 grub-fstest needs the host and hostfs modules while other utilities
3480 actively require those modules to be absent, so grub-fstest needs
3481 its own initialisation and finalisation code.
3482
3483 * Makefile.am (grub_fstest.pp): New target.
3484 (grub_fstest_init.lst): Likewise.
3485 (grub_fstest_init.c): Likewise.
3486 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
3487
3488 2010-09-10 Robert Millan <rmh@gnu.org>
3489
3490 * configure.ac: Check for `struct statfs.f_fstypename' and
3491 `struct statfs.f_mntfromname'.
3492
3493 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
3494 kFreeBSD-specific code.
3495
3496 2010-09-10 Robert Millan <rmh@gnu.org>
3497
3498 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
3499 on ZFS. Now non-main filesystems are supported as / too.
3500
3501 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
3502
3503 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
3504 and grub-core/disk/host.c to ...
3505 (grub-fstest): ... here. Having the host disk implementation
3506 present confuses grub-probe and other utility programs.
3507
3508 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
3509 when writing to a file, not when writing to stdout.
3510
3511 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
3512
3513 * tests/partmap_test.in: New test for partitions.
3514 * Makefile.util.def: Rules for new test.
3515
3516 2010-09-09 Robert Millan <rmh@gnu.org>
3517
3518 * util/grub-probe.c (probe): Fix a pair of unhandled error
3519 conditions.
3520
3521 2010-09-09 Robert Millan <rmh@gnu.org>
3522
3523 Basic Btrfs support (detection and UUID).
3524
3525 * grub-core/fs/btrfs.c: New file.
3526 * Makefile.util.def (library): Register btrfs.c.
3527 * grub-core/Makefile.core.def: Likewise.
3528
3529 2010-09-08 Robert Millan <rmh@gnu.org>
3530
3531 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
3532 with (optional) parameters to specify device and relative path.
3533 * util/grub-install.in: Use is_path_readable_by_grub() to
3534 verify readability of a few critical files.
3535 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
3536 verify readability of grub.cfg.new.
3537
3538 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 Split minix.mod into minix.mod and minix2.mod.
3541
3542 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
3543 * grub-core/Makefile.core.def (minix2): New module.
3544 * grub-core/fs/minix.c: Use definitions instead of runtime version
3545 checking.
3546 * grub-core/fs/minix2.c: New file.
3547
3548 2010-09-08 Yves Blusseau <blusseau@zetam.org>
3549
3550 Add new --boot-directory option to replace --root-directory
3551
3552 * util/grub-install.in: Add new --boot-directory option
3553 * util/grub-reboot.in: Likewise.
3554 * util/grub-set-default.in: Likewise.
3555
3556 2010-09-08 Yves Blusseau <blusseau@zetam.org>
3557
3558 * util/grub-mkconfig.in: Use new variable.
3559
3560 2010-09-08 Yves Blusseau <blusseau@zetam.org>
3561
3562 * configure.ac: Define some useful variables.
3563
3564 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3567 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
3568 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
3569 Use terminfo and don't use cursor-on/cursor-off unless it's known
3570 to work.
3571 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
3572 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
3573
3574 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
3575
3576 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
3577 starts with "(,", fill the drive containing the loaded image in
3578 between those two characters, but expect that a full partition
3579 specification including partition map names will follow.
3580
3581 2010-09-08 Robert Millan <rmh@gnu.org>
3582
3583 * configure.ac: Remove `--enable-grub-fstest' option.
3584 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
3585
3586 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
3587 `grub-fstest' instead of `grub-probe' for readability verification.
3588 * util/grub-probe.c (probe): Remove readability verification kludge.
3589
3590 2010-09-08 Robert Millan <rmh@gnu.org>
3591
3592 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
3593 initializing `GRUB_FS'.
3594
3595 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
3596
3597 Not command (!) support to GRUB script.
3598
3599 * tests/grub_script_not.in: New test.
3600 * Makefile.util.def: Rules for new test.
3601
3602 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3603 ! command as a special case.
3604 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
3605
3606 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3607
3608 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
3609 grub_free.
3610
3611 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3612
3613 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
3614
3615 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3616
3617 * docs/grub.texi (Shell-like scripting): Documentation for break,
3618 continue, shift and return commands.
3619
3620 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 Rename CD-ROM to cd on BIOS.
3623
3624 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
3625 "cd".
3626 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
3627
3628 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
3631 * util/grub-probe.c (main): Likewise.
3632 * util/i386/pc/grub-setup.c (main): Likewise.
3633 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
3634 Reported and debugged by: alexxy
3635
3636 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
3639 diagnostic info.
3640
3641 2010-09-05 Jo Shields <directhex@apebox.org>
3642
3643 * util/grub.d/30_os-prober.in: Add missing classes.
3644
3645 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * docs/grub.texi (Theme file format): Document new position format.
3648
3649 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
3652 a table. Use @code instead of @verbatim.
3653
3654 2010-09-05 Colin D Bennett <colin@gibibit.com>
3655
3656 Gfxmenu documentation.
3657
3658 * docs/grub.texi (Theme file format): New chapter.
3659
3660 2010-09-05 Szymon Janc <szymon@janc.net.pl>
3661
3662 * grub-core/Makefile.core.def (xzio): New module.
3663 * grub-core/io/xzio.c: New file.
3664 * grub-core/lib/xzembed/xz.h: New file (from xembed).
3665 * grub-core/lib/xzembed/xz_config.h: Likewise.
3666 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
3667 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
3668 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
3669 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
3670 * grub-core/lib/xzembed/xz_private.h: Likewise.
3671 * grub-core/lib/xzembed/xz_stream.h: Likewise.
3672 * include/grub/file.h (grub_file_filter_id): New compression filter
3673 GRUB_FILE_FILTER_XZIO.
3674
3675 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
3678 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
3679 size.
3680
3681 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
3684 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
3685
3686 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 Uncompressed checksum support.
3689
3690 * grub-core/commands/hashsum.c (options): Add option --uncompress.
3691 (check_list): New parameter uncompress.
3692 (grub_cmd_hashsum): Handle --uncompress.
3693
3694 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 Reintroduce testload.
3697
3698 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
3699 from here ...
3700 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
3701 (GRUB_MOD_INIT): New function.
3702 (GRUB_MOD_FINI): Likewise.
3703 * grub-core/Makefile.core.def (testload): New module.
3704
3705 2010-09-05 Szymon Janc <szymon@janc.net.pl>
3706
3707 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
3708 (uint8_t): New type.
3709 (uint16_t): Likewise.
3710 (uint32_t): Likewise.
3711 (uint64_t): Likewise.
3712
3713 2010-09-05 Szymon Janc <szymon@janc.net.pl>
3714
3715 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
3716
3717 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
3720 Made static.
3721 (grub_gzfile_open): Removed. All users updated.
3722 (GRUB_MOD_INIT): New function.
3723 (GRUB_MOD_FINI): Likewise.
3724 * grub-core/kern/file.c (grub_file_filters_all): New variable.
3725 (grub_file_filters_enabled): Likewise.
3726 (grub_file_open): Handle filters.
3727 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
3728 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
3729 * include/grub/file.h (grub_file_filter_id_t): New type.
3730 (grub_file_filter_t): Likewise.
3731 (grub_file_filters_all): New extern variable.
3732 (grub_file_filters_enabled): Likewise.
3733 (grub_file_filter_register): New inline function.
3734 (grub_file_filter_unregister): Likewise.
3735 (grub_file_filter_disable): Likewise.
3736 (grub_file_filter_disable_compression): Likewise.
3737 * include/grub/gzio.h: Removed.
3738
3739 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3740
3741 Filename expansion support for wildcards in GRUB script.
3742
3743 * tests/grub_script_expansion.in: New test.
3744 * Makefile.util.def: Rule for new test.
3745
3746 * grub-core/commands/wildcard.c: New file, implements filename
3747 expansion support for GRUB script.
3748 * grub-core/Makefile.core.def: Rule update for regexp.mod.
3749 * grub-core/script/argv.c: Cosmetic changes.
3750 * grub-core/script/execute.c (grub_script_arglist_to_argv):
3751 Refactored to perform wildcard expansion on arguments.
3752 * include/grub/script_sh.h (grub_script_wildcard_translator): New
3753 struct.
3754
3755 * tests/util/grub-shell.in: Fix quoting for read input.
3756
3757 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3758
3759 Support for updating environment variables with matched substrings
3760 of regexp.
3761
3762 * tests/grub_cmd_regexp.in: New test.
3763 * Makefile.util.def: Rule for new test.
3764
3765 * grub-core/commands/regexp.c: New option -s to update environment
3766 variables with regexp matches.
3767
3768 2010-09-04 Szymon Janc <szymon@janc.net.pl>
3769
3770 * include/grub/file.h (grub_file): New member not_easly_seekable.
3771 (grub_file_seekable): New inline function.
3772 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
3773 easily seekable.
3774 (grub_gzio_open): Set not_easly_seekable.
3775 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
3776 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
3777
3778 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3779
3780 Support for options to appear multiple times on cmdline.
3781
3782 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
3783 * grub-core/commands/extcmd.c: Support for repeatable option.
3784 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
3785 repeatable option support.
3786
3787 Refactor menuentry into a regular command.
3788
3789 * grub-core/commands/menuentry.c: New file, menuentry command
3790 implementation.
3791 * grub-core/Makefile.core.def: Rule update for normal.mod.
3792 * grub-core/normal/main.c: Moved menuentry creation to
3793 grub-core/commands/menuentry.c.
3794 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
3795 (grub_menu_execute_entry_real): Removed.
3796 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
3797 function.
3798 (grub_script_execute_menuentry): Removed.
3799 * grub-core/script/parser.y (menuentry): Removed.
3800 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
3801 * grub-core/script/yylex.l (menuentry): Removed.
3802 * include/grub/menu.h (grub_menu_init): New prototype.
3803 (grub_menu_fini): New prototype.
3804 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
3805 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
3806 (grub_script_execute_sourcecode): New prototype.
3807
3808 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3809
3810 "return" command for GRUB script functions.
3811
3812 * tests/grub_script_return.in: New test.
3813 * Makefile.util.def: Rules for new test.
3814
3815 * grub-core/script/execute.c (grub_script_return): New function.
3816 * grub-core/script/main.c: Register/unregister return commaond.
3817 * include/grub/script_sh.h (grub_script_return): New prototype.
3818
3819 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3820
3821 "setparams" command to update positional parameters.
3822
3823 * tests/grub_script_setparams.in: New test.
3824 * Makefile.util.def: Rules for new test.
3825
3826 * grub-core/script/argv.c (grub_script_argv_make): New function.
3827 * grub-core/script/execute.c (replace_scope): New function.
3828 (grub_script_setparams): New function.
3829 * grub-core/script/lexer.c: Remove unused variables.
3830 * grub-core/script/main.c: Register/unregister setparams command.
3831 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
3832 (grub_script_setparams): New prototype.
3833
3834 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3835
3836 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
3837 grub_free order.
3838
3839 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3840
3841 Support for passing block of commands as an argument to extcmds.
3842
3843 * Makefile.util.def: Rules for new test.
3844 * tests/grub_script_blockarg.in: New test.
3845 * grub-core/tests/test_blockarg.c: New file, block argument
3846 command used in the test.
3847
3848 * include/grub/extcmd.h (grub_extcmd_context): New struct.
3849 (grub_register_extcmd_prio): New function prototype.
3850 (grub_extcmd_dispatcher): New function prototype.
3851 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
3852 type.
3853 * include/grub/script_sh.h (struct grub_script): New members
3854 `children', `next_siblings' and `refcnt' for block arguments and
3855 reference counting.
3856 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
3857 (grub_script_arg): New member `script' for block argument.
3858 (grub_script_argv): New member `script' for block argument.
3859 (grub_parser_param): New member `scripts' for block argument.
3860 (grub_script_mem_free): New extern function prototype.
3861 (grub_script_ref): New function prototype.
3862 (grub_script_unref): New function prototype.
3863
3864 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
3865 extcmd form to support block arguments.
3866 * grub-core/script/argv.c: Block arguments support.
3867 * grub-core/script/execute.c: Likewise.
3868 * grub-core/script/lexer.c: Likewise.
3869 * grub-core/script/main.c: Likewise.
3870 * grub-core/script/script.c: Likewise.
3871 * grub-core/script/parser.y: Likewise. New `block' and `block0'
3872 non-terminals.
3873
3874 * grub-core/commands/acpi.c: Update extcmd implementations with
3875 grub_extcmd_context_t.
3876 * grub-core/commands/cat.c: Likewise.
3877 * grub-core/commands/echo.c: Likewise.
3878 * grub-core/commands/extcmd.c: Likewise.
3879 * grub-core/commands/hashsum.c: Likewise.
3880 * grub-core/commands/hdparm.c: Likewise.
3881 * grub-core/commands/help.c: Likewise.
3882 * grub-core/commands/hexdump.c: Likewise.
3883 * grub-core/commands/i386/cpuid.c: Likewise.
3884 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3885 * grub-core/commands/i386/pc/halt.c: Likewise.
3886 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3887 * grub-core/commands/iorw.c: Likewise.
3888 * grub-core/commands/keystatus.c: Likewise.
3889 * grub-core/commands/loadenv.c: Likewise.
3890 * grub-core/commands/ls.c: Likewise.
3891 * grub-core/commands/lspci.c: Likewise.
3892 * grub-core/commands/memrw.c: Likewise.
3893 * grub-core/commands/probe.c: Likewise.
3894 * grub-core/commands/search_wrap.c: Likewise.
3895 * grub-core/commands/setpci.c: Likewise.
3896 * grub-core/commands/sleep.c: Likewise.
3897 * grub-core/disk/loopback.c: Likewise.
3898 * grub-core/hello/hello.c: Likewise.
3899 * grub-core/loader/i386/bsd.c: Likewise.
3900 * grub-core/loader/xnu.c: Likewise.
3901 * grub-core/term/gfxterm.c: Likewise.
3902 * grub-core/term/serial.c: Likewise.
3903 * grub-core/tests/lib/functional_test.c: Likewise.
3904
3905 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3906
3907 Multi-line quoted strings support.
3908
3909 * grub-core/script/lexer.c (append_newline): Removed.
3910 (grub_script_lexer_yywrap): Refactored.
3911 (grub_script_lexer_init): Refactored.
3912 * grub-core/script/yylex.l (yywrap): New function.
3913 (grub_lexer_resplit): New function.
3914 (grub_lexer_unput): New function.
3915 * include/grub/script_sh.h (grub_lexer_param): New members, unput
3916 and resplit.
3917 * tests/grub_script_echo1.in: Added few more testcases.
3918
3919 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * grub-core/kern/misc.c: Don't add abort alias in utils.
3922 Reported by: echoline.
3923
3924 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
3925
3926 Add missing files into "make dist" tarball for other platforms.
3927
3928 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
3929 * conf/Makefile.common (dist_noinst_DATA): New variable.
3930 * conf/Makefile.extra-dist: Added missing make dist files.
3931 * grub-core/Makefile.core.def: Likewise.
3932
3933 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 Compress grub_prefix.
3936
3937 * grub-core/boot/i386/pc/lnxboot.S: Use
3938 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
3939 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
3940 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
3941 GRUB_MACHINE_PREFIX_END. All users updated.
3942 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
3943 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
3944 + 0x40.
3945 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
3946 * util/grub-mkimage.c (image_target_desc): Change data_end to
3947 prefix_end. All users updated.
3948
3949 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
3952 value.
3953 (grub_openbsd_boot): Likewise.
3954 (grub_netbsd_boot): Likewise.
3955 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
3956 (grub_xnu_boot): Likewise.
3957
3958 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * configure.ac: Clean LIBS variable after tests.
3961
3962 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
3963
3964 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
3965
3966 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
3969 echo if libdevmapper will be used.
3970
3971 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
3972
3973 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
3974 constant for the same file.
3975
3976 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
3979
3980 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
3981
3982 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
3983 grub-core/*.pp.
3984
3985 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
3986
3987 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
3988 required by the boot protocol.
3989
3990 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
3991 ebp and edi members.
3992 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
3993 state.ebp and state.edi.
3994 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
3995 %ebp and %edi according to grub_relocator32_ebp and
3996 grub_relocator32_edi respectively.
3997 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
3998 and state.edi.
3999
4000 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 Add i386-pc-pxe image target.
4003
4004 * util/grub-mkimage.c (image_target_desc): New enum value
4005 IMAGE_I386_PC_PXE.
4006 (image_targets): New target i386-pc-pxe.
4007 (generate_image): Handle i386-pc-pxe image.
4008
4009 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 Fix grub_pxe_scan.
4012
4013 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
4014 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
4015 All users updated.
4016 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
4017 (grub_pxe_pxenv): Correct type.
4018
4019 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4020
4021 * NEWS: Document most of the important changes since 1.98.
4022
4023 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4024
4025 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
4026 generated manual page) a little.
4027
4028 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4029
4030 * docs/grub.texi: Add myself as an author.
4031
4032 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * Makefile.util.def (libgrub.a): Add missing sunpc.
4035 Reported by: Seth Goldberg.
4036
4037 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 Interrupt wrapping and code simplifications.
4040
4041 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
4042 x86_noieee1275 which are functionaly equivalent in this case.
4043 (grub-install): Make source on each platform explicit. Enable on
4044 all noemu.
4045 * gentpl.py (x86_efi_pc): Removed group.
4046 (x86_noefi): Likewise.
4047 (i386_noefi): Likewise.
4048 (x86_noieee1275): Likewise.
4049 (i386_noieee1275): Likewise.
4050 (i386_noefi_noieee1275): Likewise.
4051 (i386_pc_qemu_coreboot): Likewise.
4052 (i386_coreboot_multiboot): Likewise.
4053 (i386_pc_coreboot_multiboot_qemu): Likewise.
4054 (x86_noefi_mips): Likewise.
4055 (noieee1275): Likewise.
4056 (ieee1275_mips): Likewise.
4057 (noemu_noieee1275): Likewise.
4058 (cmos): New group.
4059 (usb): Likewise.
4060 (videoinkernel): Likewise.
4061 (videomodules): Likewise.
4062 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
4063 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
4064 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
4065 include/grub/loader.h, include/grub/msdos_partition.h,
4066 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
4067 include/grub/machine/console.h, include/grub/machine/vga.h,
4068 include/grub/machine/vbe.h, include/grub/machine/init.h,
4069 include/grub/machine/kernel.h, include/grub/cpu/time.h,
4070 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
4071 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
4072 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
4073 * grub-core/Makefile.core.def (kernel): Explicit the source for
4074 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
4075 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
4076 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
4077 Use videoinkernel tag.
4078 (usb): Enable on all usb.
4079 (usbserial_common): Likewise.
4080 (usbserial_pl2303): Likewise.
4081 (usbserial_ftdi): Likewise.
4082 (uhci): Enable on all x86.
4083 (ohci): Enable on all pci.
4084 (cmostest): Enable on all CMOS.
4085 (acpi): Include commands/acpi.c on all platforms.
4086 (halt): Add relevant lib/*/halt.c.
4087 (hdparm): Enable on all pci.
4088 (lspci): Likewise.
4089 (usbtest): Enable on all usb.
4090 (ata): Enable on all pci.
4091 (ata_pthru): Likewise.
4092 (usbms): Enable on all usb.
4093 (usb_keyboard): Likewise.
4094 (font): Use tag videomodules.
4095 (bufio): Likewise.
4096 (datetime): Use tag cmos. Enable on all noemu.
4097 (mmap): Use tags common and x86.
4098 (gfxterm): Use tag videomodules.
4099 (bitmap): Likewise.
4100 (bitmap_scale): Likewise.
4101 (video_fb): Likewise.
4102 (video): Likewise.
4103 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
4104 adjust padding accordingly. All users updated.
4105 (grub_ohci_transaction): Fix bad format specification.
4106 (GRUB_MOD_INIT): Add asserts for struct size.
4107 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
4108 (grub_alloc_td): Likewise.
4109 (grub_free_queue): Likewise.
4110 (grub_uhci_transfer): Likewise.
4111 (grub_uhci_transaction): Fix bad format specification.
4112 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4113 (grub_usb_bulk_readwrite): Likewise.
4114 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
4115 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
4116 Made static.
4117 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
4118 Made static.
4119 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
4120 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
4121 Transformed into C.
4122 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
4123 Moved from here ...
4124 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
4125 ... here. Transformed into C. Made static.
4126 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
4127 Moved from here ...
4128 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
4129 ... here. Transformed into C. Made static.
4130 * grub-core/kern/i386/pc/startup.S
4131 (grub_biosdisk_check_int13_extensions): Moved from here ...
4132 * grub-core/disk/i386/pc/biosdisk.c
4133 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
4134 Made static.
4135 * grub-core/kern/i386/pc/startup.S
4136 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
4137 * grub-core/disk/i386/pc/biosdisk.c
4138 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
4139 Transformed into C. Made static.
4140 * grub-core/kern/i386/pc/startup.S
4141 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
4142 * grub-core/disk/i386/pc/biosdisk.c
4143 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
4144 Transformed into C. Made static.
4145 * grub-core/kern/i386/pc/startup.S
4146 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
4147 * grub-core/disk/i386/pc/biosdisk.c
4148 (grub_biosdisk_get_diskinfo_standard): ... here.
4149 Transformed into C. Made static.
4150 * grub-core/kern/i386/pc/startup.S
4151 (grub_biosdisk_get_num_floppies): Moved from here ...
4152 * grub-core/disk/i386/pc/biosdisk.c
4153 (grub_biosdisk_get_num_floppies): ... here.
4154 Transformed into C. Made static.
4155 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
4156 New function.
4157 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
4158 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
4159 Transformed into C. Made static.
4160 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
4161 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
4162 Transformed into C. Made static.
4163 * grub-core/kern/i386/ieee1275/init.c: Removed.
4164 * grub-core/kern/i386/misc.S: Likewise.
4165 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
4166 Splitted from here ...
4167 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
4168 Transformed into C. Made static. All users updated.
4169 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
4170 Transformed into C. Made static. All users updated.
4171 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
4172 Moved from here...
4173 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
4174 Transformed into C. Made static. All users updated.
4175 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
4176 Moved from here...
4177 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
4178 Transformed into C. Made static. All users updated.
4179 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
4180 Removed (replaced by C version).
4181 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
4182 Moved from here...
4183 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
4184 Transformed into C. Made static.
4185 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
4186 Moved from here...
4187 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
4188 ... here. Transformed into C.
4189 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
4190 Moved from here...
4191 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
4192 ... here. Transformed into C.
4193 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
4194 Moved from here...
4195 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
4196 ... here. Transformed into C. Made static.
4197 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
4198 Moved from here...
4199 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
4200 ... here. Transformed into C.
4201 * grub-core/kern/i386/pc/startup.S
4202 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
4203 * grub-core/video/i386/pc/vbe.c
4204 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
4205 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
4206 Moved from here...
4207 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
4208 ... here. Transformed into C.
4209 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
4210 Moved from here...
4211 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
4212 ... here. Transformed into C.
4213 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
4214 Moved from here...
4215 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
4216 ... here. Transformed into C.
4217 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
4218 Moved from here...
4219 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
4220 ... here. Transformed into C.
4221 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
4222 Moved from here...
4223 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
4224 ... here. Transformed into C. Made static.
4225 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
4226 Moved from here...
4227 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
4228 ... here. Transformed into C. Made static.
4229 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
4230 Moved from here...
4231 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
4232 ... here. Transformed into C. Made static.
4233 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
4234 pxe_rm_entry as third argument.
4235 (grub_bios_interrupt): New function.
4236 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
4237 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
4238 of calling grub_stop.
4239 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
4240 * grub-core/lib/efi/halt.c (grub_halt): ...here.
4241 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
4242 * grub-core/lib/emu/halt.c (grub_halt): ... here.
4243 * grub-core/lib/i386/halt.c: Moved from here ...
4244 * grub-core/lib/i386/halt.c: ... here.
4245 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
4246 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
4247 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
4248 grub_stop_floppy.
4249 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
4250 * include/grub/i386/coreboot/init.h: Removed.
4251 * include/grub/i386/multiboot/init.h: Likewise.
4252 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
4253 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
4254 * include/grub/i386/pc/int.h: New file.
4255 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
4256 (grub_pxe_scan): Removed.
4257 (grub_pxe_call): Update prototype.
4258 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
4259 prototypes.
4260 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
4261 * include/grub/i386/qemu/init.h: Removed.
4262 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
4263 noreturn.
4264 (grub_halt): Likewise.
4265 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
4266 (grub_reboot): Likewise.
4267 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
4268 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
4269 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
4270
4271 2010-08-30 Robert Millan <rmh@gnu.org>
4272
4273 * NEWS: Document addition of ZFS support in `grub-install' and
4274 `grub-mkconfig'.
4275
4276 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
4277
4278 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
4279 dprintf output.
4280
4281 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 Remove leftover embedding of font objects.
4284
4285 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4286 * util/grub-install.in (font): Removed.
4287 * util/grub-mkimage.c (generate_image): Remove font support. All users
4288 updated.
4289
4290 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 Remove leftover embedding of font objects.
4293
4294 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4295 * util/grub-install.in (font): Removed.
4296 * util/grub-mkimage.c (generate_image): Remove font support. All users
4297 updated.
4298
4299 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * docs/grub.texi (Network): Fix reference to pxe_blksize.
4302 Reported by: Ian Turner
4303
4304 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
4307 timeout to avoid indefinite boot stalling.
4308
4309 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
4312 (grub_env_write_color_highlight): Likewise.
4313
4314 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * grub-core/normal/term.c (print_more): Return to normal and not
4317 to standard state after printing "---MORE---".
4318
4319 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
4322 Mask out the bit 0x80 since it has other meaning that specifiing color.
4323
4324 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 New relocator. Allows for more kernel support and more straightforward
4327 loader writing.
4328
4329 * Makefile.am (BOOTTARGET): New variable.
4330 (QEMU32): Likewise.
4331 (linux.init.x86_64): New target.
4332 (linux.init.i386): Likewise.
4333 (multiboot.elf): Likewise.
4334 (kfreebsd.elf): Likewise.
4335 (kfreebsd.aout): Likewise.
4336 (pc-chainloader.elf): Likewise.
4337 (pc-chainloader.bin): Likewise.
4338 (ntldr.elf): Likewise.
4339 (ntldr.bin): Likewise.
4340 (multiboot2.elf): Likewise.
4341 (kfreebsd.init.x86_64): Likewise.
4342 (kfreebsd.init.i386): Likewise.
4343 (knetbsd.init.i386): Likewise.
4344 (kopenbsd.init.i386): Likewise.
4345 (knetbsd.init.x86_64): Likewise.
4346 (kopenbsd.init.x86_64): Likewise.
4347 (linux-initramfs.i386): Likewise.
4348 (linux-initramfs.x86_64): Likewise.
4349 (kfreebsd-mfsroot.i386.img): Likewise.
4350 (knetbsd.image.i386): Likewise.
4351 (kopenbsd.image.i386): Likewise.
4352 (kopenbsd.image.x86_64): Likewise.
4353 (knetbsd.miniroot-image.i386.img): Likewise.
4354 (kfreebsd-mfsroot.x86_64.img): Likewise.
4355 (knetbsd.image.x86_64): Likewise.
4356 (knetbsd.miniroot-image.x86_64.img): Likewise.
4357 (kfreebsd-mfsroot.i386.gz): Likewise.
4358 (bootcheck-kfreebsd-i386): Likewise.
4359 (kfreebsd-mfsroot.x86_64.gz): Likewise.
4360 (bootcheck-kfreebsd-x86_64): Likewise.
4361 (knetbsd.miniroot-image.i386.gz): Likewise.
4362 (bootcheck-knetbsd-i386): Likewise.
4363 (bootcheck-kopenbsd-i386): Likewise.
4364 (bootcheck-kopenbsd-x86_64): Likewise.
4365 (knetbsd.miniroot-image.x86_64.gz): Likewise.
4366 (bootcheck-knetbsd-x86_64): Likewise.
4367 (bootcheck-linux-i386): Likewise.
4368 (bootcheck-linux-x86_64): Likewise.
4369 (bootcheck-linux16-i386): Likewise.
4370 (bootcheck-linux16-x86_64): Likewise.
4371 (bootcheck-multiboot): Likewise.
4372 (bootcheck-multiboot2): Likewise.
4373 (bootcheck-kfreebsd-aout): Likewise.
4374 (bootcheck-pc-chainloader): Likewise.
4375 (bootcheck-ntldr): Likewise.
4376 (CLEANFILES): Add new targets.
4377 (BOOTCHECKS): New variable.
4378 (.PHONY): Add bootchecks.
4379 (SUCCESSFUL_BOOT_STRING): New variable.
4380 (BOOTCHECK_TIMEOUT): Likewise.
4381 (bootcheck): New target
4382 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
4383 * configure.ac: Correct efiemu excuse.
4384 * docs/grub.texi (Supported kernels): New chapter.
4385 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
4386 include/grub/mm_private.h. Simplify inclusion of
4387 include/grub/boot.h, include/grub/loader.h
4388 and include/grub/msdos_partition.h
4389 (KERNEL_HEADER_FILES) [i386_coreboot]:
4390 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
4391 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
4392 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
4393 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
4394 include/grub/machine/loader.h.
4395 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
4396 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
4397 extra_dist.
4398 (pci.mod): Enable on i386-multiboot.
4399 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
4400 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
4401 i386-qemu.
4402 (relocator.mod): Rewritten.
4403 (aout.mod): Enable on all x86.
4404 (bsd.mod): Likewise.
4405 (ntldr.mod): New module.
4406 (linux.mod): Use loader/i386/linux.c on all x86.
4407 (xnu.mod): Enable on all x86.
4408 (vga_text.mod): disable on EFI and QEMU.
4409 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
4410 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
4411 * grub-core/efiemu/loadcore.c: Likewise.
4412 * grub-core/efiemu/main.c: Likewise.
4413 (grub_efiemu_exit_boot_services): Removed.
4414 (grub_efiemu_finish_boot_services): Likewise.
4415 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
4416 function.
4417 * grub-core/efiemu/i386/nocfgtables.c: New file.
4418 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
4419 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
4420 (grub_efi_finish_boot_services): Moved from here ...
4421 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
4422 Fille finish memory map and related data.
4423 (finish_mmap_buf): New variable.
4424 (grub_efi_uintn_t finish_mmap_size): Likewise.
4425 (grub_efi_uintn_t finish_key): Likewise.
4426 (grub_efi_uintn_t finish_desc_size): Likewise.
4427 (grub_efi_uint32_t finish_desc_version): Likewise.
4428 (grub_efi_is_finished): Likewise.
4429 (grub_efi_get_memory_map): Use saved memory map if EFI is already
4430 finished.
4431 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
4432 (grub_elf64_phdr_iterate): Likewise.
4433 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
4434 (grub_os_area_size): Likewise.
4435 (grub_machine_init): Don't reserve os area.
4436 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
4437 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4438 * grub-core/kern/i386/loader.S: Removed.
4439 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
4440 (grub_os_area_size): Likewise.
4441 (grub_machine_init): Don't reserve os area.
4442 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4443 Don't call grub_dl_unload_all.
4444 Don't include loader.S.
4445 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4446 Declare the memory after _end as available.
4447 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
4448 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
4449 (GRUB_MM_ALLOC_MAGIC): Moved from here...
4450 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
4451 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
4452 * include/grub/mm_private.h (grub_mm_header): ... here.
4453 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
4454 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
4455 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
4456 (grub_mm_region): ..here. Removed addr. Added pre_size.
4457 All users updated.
4458 * grub-core/kern/mm.c (base): Renamed to ...
4459 (grub_mm_base): ... this. Made global.
4460 (grub_real_malloc): Alloc from end of region.
4461 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
4462 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
4463 * grub-core/kern/powerpc/cache_flush.S: ... here.
4464 * grub-core/lib/efi/relocator.c: New file.
4465 * grub-core/lib/i386/relocator.c: Rewritten.
4466 * grub-core/lib/i386/relocator16.S: New file.
4467 * grub-core/lib/i386/relocator32.S: Likewise.
4468 * grub-core/lib/i386/relocator64.S: Likewise.
4469 * grub-core/lib/i386/relocator_asm.S: Rewritten.
4470 * grub-core/lib/i386/relocator_common.S: New file.
4471 * grub-core/lib/ieee1275/relocator.c: Likewise.
4472 * grub-core/lib/mips/relocator.c: Rewritten.
4473 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
4474 stylistic adjustments.
4475 * grub-core/lib/powerpc/relocator.c: New file.
4476 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
4477 * grub-core/lib/relocator.c: Rewritten.
4478 * grub-core/lib/x86_64/relocator_asm.S: New file.
4479 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
4480 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
4481 (bsd_tag): New struct.
4482 (tags): New variable.
4483 (tags_last): Likewise.
4484 (netbsd_module): New struct.
4485 (netbsd_mods): New variable.
4486 (netbsd_mods_last): Likewise.
4487 (openbsd_opts): New parameter "serial".
4488 (OPENBSD_SERIAL_ARG): New definition.
4489 (netbsd_opts): New parameter "serial".
4490 (NETBSD_SERIAL_ARG): New definition.
4491 (grub_freebsd_add_meta): Reorganised into ...
4492 (grub_bsd_add_meta): ...this. All users updated.
4493 (grub_freebsd_add_mmap): Reorganised into ...
4494 (generate_e820_mmap): ...this...
4495 (grub_bsd_add_mmap): ...and this. All users updated.
4496 (grub_freebsd_list_modules): Use tags.
4497 (grub_netbsd_add_meta_module): New function.
4498 (grub_netbsd_list_modules): Likewise.
4499 (grub_freebsd_boot): Use relocator and finish EFI.
4500 (grub_openbsd_boot): Likewise.
4501 (grub_netbsd_setup_video): New function.
4502 (grub_netbsd_add_modules): Likewise.
4503 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
4504 and finish EFI.
4505 (grub_bsd_unload): Unload tags.
4506 (grub_bsd_load_aout): Use relocator.
4507 (grub_bsd_elf32_size_hook): New function.
4508 (grub_bsd_elf32_hook): Use relocator.
4509 (grub_bsd_elf64_size_hook): New function.
4510 (grub_bsd_elf64_hook): Use relocator.
4511 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
4512 (grub_bsd_load): Zero-out openbsd_ramdisk.
4513 (grub_bsd_load): Use relocator.
4514 (grub_cmd_openbsd): Support serial.
4515 (grub_cmd_netbsd): Support modules.
4516 (grub_cmd_freebsd_module): Use relocator.
4517 (grub_netbsd_module_load): New function.
4518 (grub_cmd_netbsd_module): Likewise.
4519 (grub_cmd_openbsd_ramdisk): Likewise.
4520 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
4521 kopenbsd_ramdisk.
4522 (GRUB_MOD_FINI): Unregister new commands.
4523 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
4524 (grub_freebsd_load_elfmodule_obj): Use relocator.
4525 (grub_freebsd_load_elfmodule): Likewise.
4526 (grub_freebsd_load_elf_meta): Likewise.
4527 (grub_netbsd_load_elf_meta): New function.
4528 (grub_openbsd_find_ramdisk): Likewise.
4529 * grub-core/loader/i386/bsd_helper.S: Removed.
4530 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
4531 * grub-core/loader/i386/bsd_trampoline.S: Removed.
4532 * grub-core/loader/i386/efi/linux.c: Likewise.
4533 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
4534 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
4535 (DEFAULT_VIDEO_MODE): Likewise.
4536 (real_mode_target): New variable.
4537 (prot_mode_target): Likewise.
4538 (initrd_mem_target): Likewise.
4539 (relocator): Likewise.
4540 (efi_mmap_buf): Likewise.
4541 (efi_mmap_size): Likewise.
4542 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
4543 (free_pages): Use relocator.
4544 (allocate_pages): Account for efi_mmap and use relocator. Return error.
4545 (grub_linux_setup_video): Return error.
4546 (grub_linux_trampoline_start): Removed.
4547 (grub_linux_trampoline_end): Likewise.
4548 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
4549 andd video parameters depending on firmware.
4550 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
4551 [GRUB_MACHINE_EFI]: Pass EFI parameters.
4552 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
4553 (grub_cmd_initrd): Use relocator.
4554 * grub-core/loader/i386/linux_trampoline.S: Removed.
4555 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
4556 (elf_sec_entsize): Likewise.
4557 (elf_sec_shstrndx): Likewise.
4558 (elf_sections): Likewise.
4559 (grub_multiboot_load): Use relocator.
4560 (grub_multiboot_get_mbi_size): Account for sections.
4561 (grub_multiboot_make_mbi): Use relocator and support sections.
4562 (grub_multiboot_add_elfsyms): New function.
4563 (grub_multiboot_free_mbi): Free sections.
4564 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
4565 (grub_linux_real_target): Likewise.
4566 (grub_linux_real_chunk): Likewise.
4567 (grub_linux16_prot_size): Likewise.
4568 (grub_linux16_boot): Use relocator.
4569 (grub_linux_unload): Unload relocator.
4570 (grub_cmd_linux): Use relocator.
4571 (grub_cmd_initrd): Likewise.
4572 * grub-core/loader/i386/pc/ntldr.c: New file.
4573 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
4574 Don't try to guess CPU frequency.
4575 (grub_xnu_set_video): Stretch bitmap.
4576 (grub_xnu_boot): Use relocator.
4577 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
4578 (grub_linux_unload): Free relocator.
4579 (grub_linux_load32): Use relocator.
4580 (grub_linux_load64): Likewise.
4581 (grub_cmd_initrd): Likewise.
4582 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
4583 (grub_multiboot_unload): Unload relocator.
4584 (grub_cmd_multiboot): Use relocator.
4585 (grub_cmd_module): Likewise.
4586 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
4587 Use relocator and support sections.
4588 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
4589 (elf_sec_entsize): Likewise.
4590 (elf_sec_shstrndx): Likewise.
4591 (elf_sections): Likewise.
4592 (grub_multiboot_load): Use relocator.
4593 (grub_multiboot_get_mbi_size): Account for sections.
4594 (grub_multiboot_make_mbi): Use relocator and support sections.
4595 (grub_multiboot_add_elfsyms): New function.
4596 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
4597 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
4598 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
4599 Prototype changed. All users updated.
4600 (grub_xnu_align_heap): Simplified.
4601 (grub_xnu_writetree_toheap): Likewise.
4602 (grub_xnu_unload): Unload relocator.
4603 (grub_cmd_xnu_kernel): Use relocator.
4604 (grub_cmd_xnu_kernel64): Likewise.
4605 (grub_xnu_register_memory): Simplified.
4606 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
4607 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
4608 EFI is finished.
4609 (grub_console_checkkey): Likewise.
4610 (grub_console_getkey): Likewise.
4611 (grub_console_getwh): Likewise.
4612 (grub_console_getxy): Likewise.
4613 (grub_console_gotoxy): Likewise.
4614 (grub_console_cls): Likewise.
4615 (grub_console_setcolorstate): Likewise.
4616 (grub_console_setcursor): Likewise.
4617 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
4618 * grub-core/tests/boot/kbsd.init-i386.S: New file.
4619 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
4620 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
4621 * grub-core/tests/boot/kernel-8086.S: Likewise.
4622 * grub-core/tests/boot/kernel-i386.S: Likewise.
4623 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
4624 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
4625 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
4626 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
4627 * grub-core/tests/boot/knetbsd.cfg: Likewise.
4628 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
4629 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
4630 * grub-core/tests/boot/linux.cfg: Likewise.
4631 * grub-core/tests/boot/linux.init-i386.S: Likewise.
4632 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
4633 * grub-core/tests/boot/linux16.cfg: Likewise.
4634 * grub-core/tests/boot/multiboot.cfg: Likewise.
4635 * grub-core/tests/boot/multiboot2.cfg: Likewise.
4636 * grub-core/tests/boot/ntldr.cfg: Likewise.
4637 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
4638 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
4639 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
4640 New definition.
4641 * include/grub/dl.h (grub_dl_unload_all): Removed.
4642 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
4643 (grub_efi_finish_boot_services): Change prototype.
4644 (grub_efi_is_finished): New variable.
4645 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
4646 Changed prototype.
4647 (grub_efiemu_finish_boot_services): Removed.
4648 (grub_machine_efiemu_init_tables): New prototype.
4649 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
4650 (grub_elf64_phdr_iterate): Likewise.
4651 * include/grub/i386/bsd.h: Include relocator.h.
4652 (freebsd_tag_header): New struct.
4653 (grub_openbsd_bios_mmap): Removed.
4654 (grub_unix_real_boot): Removed.
4655 (grub_freebsd_load_elfmodule32): Changed prototype.
4656 (grub_freebsd_load_elfmodule_obj64): Likewise.
4657 (grub_freebsd_load_elf_meta32): Likewise.
4658 (grub_freebsd_load_elf_meta64): Likewise.
4659 (grub_freebsd_add_meta): Removed.
4660 (grub_netbsd_load_elf_meta32): New prototype.
4661 (grub_netbsd_load_elf_meta64): Likewise.
4662 (grub_bsd_add_meta): Likewise.
4663 (grub_openbsd_ramdisk_descriptor): New struct.
4664 (grub_openbsd_find_ramdisk32): New prototype.
4665 (grub_openbsd_find_ramdisk64): Likewise.
4666 * include/grub/i386/coreboot/loader.h: Removed.
4667 * include/grub/i386/efi/loader.h: Likewise.
4668 * include/grub/i386/ieee1275/loader.h: Likewise.
4669 * include/grub/i386/linux.h (linux_kernel_header): Change void *
4670 to grub_uint32_t.
4671 * include/grub/i386/loader.h: Removed.
4672 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
4673 value.
4674 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
4675 (grub_phys_addr_t): New type.
4676 (grub_vtop): New inline function.
4677 (grub_map_memory): Likewise.
4678 (grub_unmap_memory): Likewise.
4679 * include/grub/i386/multiboot/loader.h: Removed.
4680 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
4681 (NETBSD_BTINFO_CONSOLE): New definition.
4682 (NETBSD_BTINFO_SYMTAB): Likewise.
4683 (NETBSD_BTINFO_MODULES): Likewise.
4684 (NETBSD_BTINFO_FRAMEBUF): Likewise.
4685 (grub_netbsd_bootinfo): New struct.
4686 (grub_netbsd_btinfo_common): Use explicit bitsize.
4687 (grub_netbsd_btinfo_mmap_entry): Removed.
4688 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
4689 (grub_netbsd_btinfo_bootdisk): New struct.
4690 (grub_netbsd_btinfo_symtab): Likewise.
4691 (grub_netbsd_btinfo_serial): Likewise.
4692 (grub_netbsd_btinfo_modules): Likewise.
4693 (grub_netbsd_btinfo_framebuf): Likewise.
4694 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
4695 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
4696 Likewise.
4697 (grub_openbsd_bootargs): Use explicit bitsize.
4698 (grub_openbsd_bootarg_console): New struct.
4699 (GRUB_OPENBSD_COM_MAJOR): New definition.
4700 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
4701 * include/grub/i386/pc/efiemu.h: Removed.
4702 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
4703 * include/grub/i386/qemu/loader.h: Removed.
4704 * include/grub/i386/relocator.h: Rewritten.
4705 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
4706 * include/grub/mips/memory.h: New file.
4707 * include/grub/mips/multiboot.h: Rewritten.
4708 * include/grub/mips/relocator.h: Rewritten.
4709 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
4710 (grub_vtop): New function.
4711 (grub_map_memory): Likewise.
4712 (grub_unmap_memory): Likewise.
4713 * include/grub/misc.h (ALIGN_DOWN): New definition.
4714 * include/grub/mm.h (grub_mm_check_real): New proto.
4715 (GRUB_MM_CHECK): New definition.
4716 * include/grub/mm_private.h: New file.
4717 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
4718 (grub_multiboot_get_mbi_size): Removed.
4719 (grub_multiboot_make_mbi): Change prottype.
4720 (grub_multiboot_set_accepts_video): New proto.
4721 (grub_multiboot_add_elfsyms): Likewise.
4722 (grub_multiboot_payload_eip): New variable.
4723 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
4724 New prototype.
4725 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
4726 New definition.
4727 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
4728 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
4729 * include/grub/powerpc/ieee1275/loader.h: Removed.
4730 * include/grub/powerpc/memory.h: New file.
4731 * include/grub/powerpc/relocator.h: Likewise.
4732 * include/grub/relocator.h: Likewise.
4733 * include/grub/relocator_private.h: Likewise.
4734 * include/grub/sparc64/ieee1275/loader.h: Removed.
4735 * include/grub/x86_64/memory.h: New file.
4736 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
4737 (grub_xnu_heap_malloc): Likewise.
4738 (grub_xnu_heap_real_start): Removed.
4739 (grub_xnu_heap_start): Likewise.
4740 (grub_xnu_relocator): New variable.
4741 (grub_xnu_heap_target_start): Likewise.
4742 * tests/util/grub-shell.in: Support non-pc.
4743 * util/grub-mkimage.c (image_targets): Fix multiboot target.
4744
4745 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
4748 on malloc error.
4749 (grub_bidi_logical_to_visual): Check that malloc succeded.
4750 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
4751 puts.
4752 (grub_xputs_normal): Likewise.
4753
4754 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
4757 extra_dist.
4758
4759 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/efiemu/runtime/efiemu.sh: Removed.
4762
4763 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
4766
4767 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
4770 dprintf.
4771
4772 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
4773
4774 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
4775
4776 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/normal/term.c (print_more): Fix a memory leak.
4779 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
4780 (grub_xputs_normal): Likewise.
4781
4782 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
4785 the begining of the string
4786
4787 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * grub-core/script/script.c (grub_script_parse): Free parsed on
4790 failure.
4791
4792 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
4795 on failure.
4796
4797 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
4800 return.
4801
4802 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
4805 (scroll_up): Fix a memory leak.
4806
4807 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
4810 errors.
4811
4812 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 Handle USB pendrives exposed as floppies.
4815
4816 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
4817 floppy.
4818 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
4819 Check for partitions on all devices.
4820
4821 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
4824 (readkey): Likewise.
4825
4826 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
4827
4828 Multiple variable names support to "export" command.
4829
4830 * normal/context.c (grub_cmd_export): "export" command supports
4831 multiple variable names.
4832
4833 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
4834
4835 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
4836 --target=drive output to Mach device name.
4837
4838 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
4839
4840 New Automake based build system for GRUB.
4841
4842 * ABOUT-NLS: New file.
4843 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
4844 in Makefile.util.def file.
4845 * Makefile.util.def: New file. Autogen build definitions file for
4846 GRUB host utils.
4847 * conf/Makefile.common: New file. Common variables for GRUB host
4848 utils and target modules.
4849 * conf/Makefile.extra-dist: New file. Extra files for make dist.
4850 * docs/Makefile.am: New file. Automake file for docs.
4851 * gentpl.py: New file. Python script to generate Autogen
4852 template.
4853 * grub-core/Makefile.am: New file. GRUB target modules' rules
4854 that doesn't fit in Makefile.core.def file.
4855 * grub-core/Makefile.core.def: New file. Autogen build
4856 definitions file for GRUB target modules.
4857 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
4858 specific setjmp.S file.
4859 * po/Makefile.am: New file.
4860
4861 * .bzrignore: New ignores.
4862 * INSTALL: New requirements, without Ruby.
4863 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
4864 * autogen.sh: Updated to invoke autogen as necessary.
4865 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
4866 and defines for Automake conditionals.
4867 * geninit.sh: Refactoring.
4868
4869 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
4870 necessary.
4871 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
4872 New prototype.
4873
4874 * include/grub/test.h: Fix functional test modules' naming.
4875 * grub-core/tests/example_functional_test.c: Fix test module name.
4876
4877 * util/misc.c: Hosted versions' of grub functions for libgrub.a
4878 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
4879 * util/grub-editenv.c: Likewise.
4880 * util/grub-fstest.c: Likewise.
4881 * util/grub-mkdevicemap.c: Likewise.
4882 * util/grub-mkfont.c: Likewise.
4883 * util/grub-mkimage.c: Likewise.
4884 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4885 * util/grub-probe.c: Likewise.
4886 * util/grub-script-check.c: Likewise.
4887 * util/i386/pc/grub-setup.c: Likewise.
4888 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4889
4890 * tests/util/grub-shell.in: Fix override directory path.
4891 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
4892 * util/import_gcry.py: Create Makefile.gcry.def file instead.
4893
4894 * util/lvm.c: Update #includes.
4895 * util/raid.c: Likewise.
4896 * util/resolve.c: Likewise.
4897 * grub-core/bus/emu/pci.c: Likewise.
4898 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
4899 * grub-core/lib/posix_wrap/string.h: Likewise.
4900 * grub-core/kern/emu/main.c: Likewise.
4901
4902 * grub-core/gensymlist.sh: New file. Script for generating kernel
4903 symbols file.
4904 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
4905
4906 * grub-core/gentrigtables.c: Fix unused variable warnings.
4907
4908 * Makefile.in: Removed.
4909 * conf/any-emu.rmk: Removed.
4910 * conf/common.rmk: Removed.
4911 * conf/i386-coreboot.rmk: Removed.
4912 * conf/i386-efi.rmk: Removed.
4913 * conf/i386-ieee1275.rmk: Removed.
4914 * conf/i386-multiboot.rmk: Removed.
4915 * conf/i386-pc.rmk: Removed.
4916 * conf/i386-qemu.rmk: Removed.
4917 * conf/i386.rmk: Removed.
4918 * conf/mips-yeeloong.rmk: Removed.
4919 * conf/mips.rmk: Removed.
4920 * conf/powerpc-ieee1275.rmk: Removed.
4921 * conf/sparc64-ieee1275.rmk: Removed.
4922 * conf/tests.rmk: Removed.
4923 * conf/x86-efi.rmk: Removed.
4924 * conf/x86_64-efi.rmk: Removed.
4925 * gendistlist.sh: Removed.
4926 * geninitheader.sh: Removed.
4927 * genkernsyms.sh.in: Removed.
4928 * genmk.rb: Removed.
4929 * gensymlist.sh.in: Removed.
4930 * mkinstalldirs: Removed.
4931 * boot: Moved ...
4932 * grub-core/boot: ... to here.
4933 * bus: Moved ...
4934 * grub-core/bus: ... to here.
4935 * commands: Moved ...
4936 * grub-core/commands: ... to here.
4937 * disk: Moved ...
4938 * grub-core/disk: ... to here.
4939 * efiemu: Moved ...
4940 * grub-core/efiemu: ... to here.
4941 * font: Moved ...
4942 * grub-core/font: ... to here.
4943 * fs: Moved ...
4944 * grub-core/fs: ... to here.
4945 * gencmdlist.sh: Moved ...
4946 * grub-core/gencmdlist.sh: ... to here.
4947 * genemuinit.sh: Moved ...
4948 * grub-core/genemuinit.sh: ... to here.
4949 * genemuinitheader.sh: Moved ...
4950 * grub-core/genemuinitheader.sh: ... to here.
4951 * genfslist.sh: Moved ...
4952 * grub-core/genfslist.sh: ... to here.
4953 * genhandlerlist.sh: Moved ...
4954 * grub-core/genhandlerlist.sh: ... to here.
4955 * genmoddep.awk: Moved ...
4956 * grub-core/genmoddep.awk: ... to here.
4957 * genmodsrc.sh: Moved ...
4958 * grub-core/genmodsrc.sh: ... to here.
4959 * genpartmaplist.sh: Moved ...
4960 * grub-core/genpartmaplist.sh: ... to here.
4961 * genparttoollist.sh: Moved ...
4962 * grub-core/genparttoollist.sh: ... to here.
4963 * genterminallist.sh: Moved ...
4964 * grub-core/genterminallist.sh: ... to here.
4965 * gentrigtables.c: Moved ...
4966 * grub-core/gentrigtables.c: ... to here.
4967 * genvideolist.sh: Moved ...
4968 * grub-core/genvideolist.sh: ... to here.
4969 * gettext: Moved ...
4970 * grub-core/gettext: ... to here.
4971 * gfxmenu: Moved ...
4972 * grub-core/gfxmenu: ... to here.
4973 * gnulib: Moved ...
4974 * grub-core/gnulib: ... to here.
4975 * hello: Moved ...
4976 * grub-core/hello: ... to here.
4977 * hook: Moved ...
4978 * grub-core/hook: ... to here.
4979 * io: Moved ...
4980 * grub-core/io: ... to here.
4981 * kern: Moved ...
4982 * grub-core/kern: ... to here.
4983 * lib: Moved ...
4984 * grub-core/lib: ... to here.
4985 * loader: Moved ...
4986 * grub-core/loader: ... to here.
4987 * mmap: Moved ...
4988 * grub-core/mmap: ... to here.
4989 * normal: Moved ...
4990 * grub-core/normal: ... to here.
4991 * partmap: Moved ...
4992 * grub-core/partmap: ... to here.
4993 * parttool: Moved ...
4994 * grub-core/parttool: ... to here.
4995 * script: Moved ...
4996 * grub-core/script: ... to here.
4997 * term: Moved ...
4998 * grub-core/term: ... to here
4999 * tests/example_functional_test.c: Moved ...
5000 * grub-core/tests/example_functional_test.c: ... to here.
5001 * tests/lib/functional_test.c: Moved ...
5002 * grub-core/tests/lib/functional_test.c: ... to here.
5003 * tests/lib/test.c: Moved ...
5004 * grub-core/tests/lib/test.c: ... to here.
5005 * video: Moved ...
5006 * grub-core/video: ... to here.
5007
5008 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5009
5010 Replace --enable-grub-emu-modules with grub-emu-lite.
5011
5012 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
5013 cache.S.
5014
5015 * include/grub/emu/misc.h (grub_emu_init): New prototype.
5016 * kern/emu/full.c: New file. For grub-emu specific initialization.
5017 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
5018 * kern/emu/main.c: Call initialization function grub_emu_init.
5019
5020 * Makefile.in: Include grub-emu-lite in install.
5021 * commands/parttool.c: Use grub_no_autoload to differentiate
5022 between grub-emu and grub-emu-lite.
5023 * include/grub/misc.h: New variable grub_no_autoload.
5024
5025 * conf/any-emu.rmk: New rules for grub-emu-lite.
5026 * configure.ac: Remove --enable-grub-emu-modules.
5027 * genmk.rb: Cleanup unnecessary rules.
5028 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
5029
5030 * normal/main.c: Don't load list files on grub-emu-lite.
5031 * util/misc.c (grub_arch_sync_caches): Removed.
5032
5033 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
5034
5035 * kern/mips/startup.S (grub_prefix): Update comment to refer to
5036 grub-mkimage rather than grub-mkelfimage.
5037 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5038
5039 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
5042 a key after CapsLock or NumLock. It's just a qemu bug.
5043
5044 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
5047 needed by libusb wrapper.
5048
5049 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5050
5051 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
5052
5053 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
5056 --nounzip is passed.
5057
5058 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 USB hotunplugging and USB serial support.
5061
5062 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
5063 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
5064 (grub_uhci_transfer): Respect timeout and set *actual.
5065 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
5066 non-standard length.
5067 (grub_usb_device_attach): Autoload modules.
5068 (GRUB_MOD_INIT): Set grub_term_poll_usb.
5069 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
5070 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
5071 users updated.
5072 (grub_usb_add_hub): Fill nports and children.
5073 (attach_root_port): Receive hub instead of controller.
5074 All users updated. Fill hub->devices.
5075 (grub_usb_root_hub): Allocate hub->devices.
5076 (detach_device): New function.
5077 (poll_nonroot_hub): Fill children and detach devices.
5078 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
5079 actual arguments. All users updated.
5080 (grub_usb_bulk_read_extended): New function.
5081 * bus/usb/serial/common.c: New file.
5082 * bus/usb/serial/ftdi.c: Likewise.
5083 * bus/usb/serial/pl2303.c: Likewise.
5084 * commands/terminal.c (handle_command): Support wildcard.
5085 * commands/usbtest.c: Output "Unknown" instead of empty string.
5086 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
5087 (usbserial_common_mod_SOURCES): New variable.
5088 (usbserial_common_mod_CFLAGS): Likewise.
5089 (usbserial_common_mod_LDFLAGS): Likewise.
5090 (pkglib_MODULES): Add usbserial_pl2303.mod.
5091 (usbserial_pl2303_mod_SOURCES): New variable.
5092 (usbserial_pl2303_mod_CFLAGS): Likewise.
5093 (usbserial_pl2303_mod_LDFLAGS): Likewise.
5094 (pkglib_MODULES): Add usbserial_ftdi.mod.
5095 (usbserial_ftdi_mod_SOURCES): New variable.
5096 (usbserial_ftdi_mod_CFLAGS): Likewise.
5097 (usbserial_ftdi_mod_LDFLAGS): Likewise.
5098 (pkglib_MODULES): Add serial.mod.
5099 (serial_mod_SOURCES): New variable.
5100 (serial_mod_CFLAGS): Likewise.
5101 (serial_mod_LDFLAGS): Likewise.
5102 * conf/i386-pc.rmk: Likewise.
5103 * conf/mips-yeeloong.rmk: Likewise.
5104 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
5105 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5106 * disk/usbms.c (first_available_slot): New variable.
5107 (grub_usbms_attach): Don't reuse free slots due to potential cache
5108 problems.
5109 * include/grub/serial.h: Moved to ..
5110 * include/grub/ns8250.h: ...this.
5111 * include/grub/serial.h: New file.
5112 * include/grub/term.h (grub_term_poll_usb): New variable.
5113 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
5114 readkey. All users updated.
5115 (grub_terminfo_output_state): Pass term to put.
5116 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
5117 (grub_usb_controller_dev): Add timeout and actual arguments to
5118 transfer. All users updated.
5119 (grub_usb_interface): New field detach_data.
5120 (grub_usb_device): New fields children and nports.
5121 (grub_usb_ep_type_t): New type.
5122 (grub_usb_get_ep_type): New function.
5123 (grub_usb_bulk_read_extended): Likewise.
5124 * include/grub/usbdesc.h (grub_usb_desc): New type.
5125 * include/grub/usbserial.h: New file.
5126 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
5127 * kern/term.c (grub_term_poll_usb): New variable.
5128 (grub_getkey): Call grub_term_poll_usb if set.
5129 (grub_checkkey): Likewise.
5130 (grub_getkeystatus): Likewise.
5131 * term/serial.c: Moved controller-specific parts to ...
5132 * term/ns8250.c: ... here.
5133 * term/serial.c: Mostly rewritten.
5134 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
5135 according to spec.
5136
5137 2010-08-20 Robert Millan <rmh@gnu.org>
5138
5139 Make kFreeBSD code more generic to support ext2fs as root, ufs as
5140 a separate module and maybe other interesting combinations.
5141
5142 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
5143 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
5144 (kfreebsd_entry): Add generic filesystem module load routine.
5145 Map GRUB `ext2' to kFreeBSD `ext2fs'.
5146
5147 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5148
5149 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
5150 "numcenter" (I misunderstood the purpose of this entry).
5151 * docs/grub.texi (sendkey): Likewise.
5152
5153 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5154
5155 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
5156 status flag options; simply omitting the option is equivalent and
5157 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
5158 (keysym_table): Rename "num5numlock" to "numlock".
5159 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
5160 can uniformly say that only the last of multiple `sendkey'
5161 invocations has any effect.
5162 * docs/grub.texi (sendkey): New section.
5163
5164 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
5165
5166 * commands/i386/pc/sendkey.c (options): Fix three typos.
5167
5168 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 Implement sendkey support.
5171
5172 * commands/i386/pc/sendkey.c: New file.
5173 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
5174 (sendkey_mod_SOURCES): New variable.
5175 (sendkey_mod_CFLAGS): Likewise.
5176 (sendkey_mod_LDFLAGS): Likewise.
5177
5178 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5179
5180 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
5181 fix warnings from Autoconf.
5182
5183 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5184
5185 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
5186 to avoid false positives with some assemblers that output things
5187 like "someprefix_func" as part of their output.
5188
5189 2010-08-15 Robert Millan <rmh@gnu.org>
5190
5191 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
5192 errors.
5193 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
5194 grub_get_libzfs_handle() errors.
5195
5196 2010-08-14 Robert Millan <rmh@gnu.org>
5197
5198 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
5199 filesystem is not ZFS.
5200
5201 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5202
5203 Fix for misspelled color names defaulting to black/black (bug
5204 reported by Doug Nazar)
5205
5206 * include/grub/normal.h (grub_parse_color_name_pair): Add return
5207 status to prototype.
5208 * normal/color.c (grub_parse_color_name_pair): Return failure
5209 status.
5210 (grub_env_write_color_normal): Ignore bad color names.
5211 (grub_env_write_color_highlight): Likewise.
5212 * normal/main.c (GRUB_MOD_INIT): Set default color names.
5213
5214 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5215
5216 "shift" command support to GRUB script.
5217
5218 * include/grub/script_sh.h (grub_script_shift): New prototype.
5219 * script/execute.c (grub_script_shift): New function.
5220 * script/main.c (grub_script_init): Register shift command.
5221 (grub_script_fini): Unregister shift command.
5222 * util/grub-script-check.c (grub_script_cmd_shift): New function.
5223
5224 * tests/grub_script_shift.in: New testcase.
5225 * conf/tests.rmk: Rules for new testcase.
5226
5227 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5228
5229 "continue" command support to GRUB script.
5230
5231 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
5232 (grub_script_break): Continue support.
5233 * script/main.c (grub_script_init): Register continue command.
5234 (grub_script_fini): Unregister continue command.
5235
5236 * tests/grub_script_continue.in: New testcase.
5237 * conf/tests.rmk: Rules for new testcase.
5238
5239 2010-08-12 BVK Chaitanya <bvk@dbook>
5240
5241 "break" command support to GRUB script.
5242
5243 * conf/common.rmk: Rule updates to grub-script-check.
5244 * include/grub/misc.h (grub_min): New function.
5245 * include/grub/script_sh.h (grub_script_init): New prototype.
5246 (grub_script_fini): New prototype.
5247 (grub_script_break): New prototype.
5248 * script/main.c (grub_script_init): New function.
5249 (grub_script_fini): New function.
5250 * script/execute.c (grub_script_break): New function.
5251 * normal/main.c: Calls to grub_script_{init,fini}.
5252 * util/grub-script-check.c (grub_script_break): New function.
5253
5254 * tests/grub_script_break.in: New testcase.
5255 * conf/tests.rmk: Rules for new test case.
5256
5257 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5258
5259 Function parameters support to GRUB script.
5260
5261 * script/yylex.l (VARIABLE): Regular expression update.
5262 * script/function.c (grub_script_function_call): Moved ...
5263 * script/execute.c (grub_script_function_call): ... to here.
5264 (grub_script_execute_arglist_to_argv): Removed.
5265 (grub_script_arglist_to_argv): New function.
5266 * script/argv.c: New file.
5267 (grub_script_argv_free): New function.
5268 (grub_script_argv_next): Likewise.
5269 (grub_script_argv_append): Likewise.
5270 (grub_script_argv_split_append): Likewise.
5271 * include/grub/script_sh.h (grub_script_argv): New struct.
5272 (grub_script_argv_free): New function.
5273 (grub_script_argv_next): Likewise.
5274 (grub_script_argv_append): Likewise.
5275 (grub_script_argv_split_append): Likewise.
5276
5277 * conf/common.rmk (normal.mod): New source script/argv.c.
5278
5279 * tests/grub_script_echo1.in: More tests.
5280 * tests/grub_script_vars1.in: Likewise.
5281 * tests/grub_script_functions.in: New test case.
5282 * conf/tests.rmk: Rules for new testcase.
5283
5284 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5285
5286 Remove grub_script_cmdblock struct.
5287
5288 * include/grub/script_sh.h: Remove grub_script_cmdblock.
5289 * script/parser.y: Likewise.
5290 * script/execute.c: Rename cmdblock suffix to cmdlist.
5291 * script/script.c: Likewise.
5292 * util/grub-script-check.c: Likewise.
5293
5294 2010-08-11 Yves Blusseau <blusseau@zetam.org>
5295
5296 * .bzrignore: add grub-macho2img
5297
5298 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
5301
5302 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 Remove the dump of sm712 initialisation sequence.
5305
5306 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
5307 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
5308 (GRUB_VGA_IO_MISC_WRITE): Likewise.
5309 (GRUB_VGA_CR_*): Added many registers.
5310 (GRUB_VGA_SR_*): Likewise.
5311 (GRUB_VGA_GR_*): Likewise.
5312 (grub_vga_write_arx): New function.
5313 (grub_video_hw_config): New struct.
5314 (grub_vga_set_geometry): New function.
5315 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
5316 GRUB_PCI_CLASS_SUBCLASS_VGA.
5317 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
5318 * video/sm712.c (grub_sm712_write_reg): New function
5319 (grub_sm712_read_reg): Likewise.
5320 (grub_sm712_sr_write): Likewise.
5321 (grub_sm712_gr_write): Likewise.
5322 (grub_sm712_cr_write): Likewise.
5323 (grub_sm712_write_arx): Likewise.
5324 (grub_sm712_cr_shadow_write): Likewise.
5325 (grub_sm712_write_dda_lookup): Likewise.
5326 (grub_video_sm712_setup): Initialise the video rather then
5327 blindly replay the dump.
5328 (main) [TEST]: Add a routine to be able to compile as standalone for
5329 tests.
5330 * video/sm712_init.c (sm712_init): Removed.
5331 (sm712_sr_seq1): New array.
5332 (sm712_sr_seq2): Likewise.
5333
5334 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 * include/grub/vga.h: Add missing grub/pci.h include.
5337
5338 2010-08-10 Yves Blusseau <blusseau@zetam.org>
5339
5340 * util/grub-macho2img.c (main): fix typo
5341
5342 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
5345 (grub_vga_gr_read): Likewise.
5346 (grub_vga_cr_write): Likewise.
5347 (grub_vga_cr_read): Likewise.
5348 (grub_vga_sr_write): Likewise.
5349 (grub_vga_sr_read): Likewise.
5350 (grub_vga_palette_read): Likewise.
5351 (grub_vga_palette_write): Likewise.
5352 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
5353 (grub_sm712_sr_read): New function.
5354 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
5355 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
5356
5357 2010-08-09 Robert Millan <rmh@gnu.org>
5358
5359 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
5360 out unused variables on non-ZFS build.
5361
5362 2010-08-08 Robert Millan <rmh@gnu.org>
5363
5364 Fix path generation for sub-filesystems in ZFS.
5365
5366 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
5367 missing slash.
5368
5369 2010-08-08 Robert Millan <rmh@gnu.org>
5370
5371 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
5372
5373 2010-08-08 Robert Millan <rmh@gnu.org>
5374
5375 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
5376 exist, issue a proper error message (rely on `ls' for translated
5377 strings).
5378
5379 2010-08-08 Robert Millan <rmh@gnu.org>
5380
5381 Fix grub-probe invocation.
5382
5383 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
5384
5385 2010-08-04 Robert Millan <rmh@gnu.org>
5386
5387 * configure.ac: Remove checks for getfsstat() and getmntany().
5388 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
5389 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
5390 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
5391 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
5392 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
5393 function.
5394 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
5395 via find_mount_point_from_dir() and getfsstat() / getmntany().
5396
5397 2010-08-04 Robert Millan <rmh@gnu.org>
5398
5399 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5400 (grub_find_zpool_from_mount_point): Merge into ...
5401 (grub_find_zpool_from_dir): ... this.
5402 * kern/emu/misc.c: Likewise.
5403
5404 * kern/emu/misc.c
5405 (grub_make_system_path_relative_to_its_root): Replace
5406 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
5407 with grub_find_zpool_from_dir().
5408 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
5409
5410 2010-08-04 Robert Millan <rmh@gnu.org>
5411
5412 Support OpenSolaris in ZFS device resolution.
5413
5414 * configure.ac: Check for getmntany().
5415 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
5416 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
5417 support.
5418
5419 2010-08-03 Robert Millan <rmh@gnu.org>
5420
5421 Fix grub-emu build.
5422
5423 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
5424 * include/grub/emu/misc.h: ... here.
5425
5426 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
5427 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
5428
5429 * util/misc.c: Remove `<grub/util/libzfs.h>'.
5430 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
5431 (grub_get_libzfs_handle): Move to ...
5432 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
5433 (grub_get_libzfs_handle): ... here.
5434
5435 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
5436
5437 * script/execute.c (grub_script_execute_cmdline): Check for NULL
5438 as command name case.
5439
5440 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
5441
5442 * disk/raid.c (insert_array): Select unique numbers for named arrays
5443 as well, for use as keys in the disk cache.
5444
5445 2010-08-01 Robert Millan <rmh@gnu.org>
5446
5447 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
5448 kFreeBSD device name, except on ZFS where the filesystem label is
5449 used.
5450 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
5451 `/boot/zfs/zpool.cache'.
5452 Set mountfrom kernel variable using ${kfreebsd_device}.
5453
5454 2010-08-01 Robert Millan <rmh@gnu.org>
5455
5456 Make it even harder to use uninitialized `libzfs_handle' (and
5457 make the interface a bit simpler).
5458
5459 * include/grub/util/misc.h (grub_util_init_libzfs)
5460 (libzfs_handle): Remove.
5461 (grub_get_libzfs_handle): New prototype.
5462
5463 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
5464 attribute.
5465 (grub_util_init_libzfs): Remove.
5466 (grub_get_libzfs_handle): New function.
5467
5468 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
5469 grub_get_libzfs_handle() to obtain a libzfs handle instead of
5470 accessing `libzfs_handle' directly.
5471
5472 2010-08-01 Robert Millan <rmh@gnu.org>
5473
5474 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5475 (grub_find_zpool_from_mount_point): New function prototypes.
5476
5477 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5478 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5479
5480 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5481 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5482 `static' attribute.
5483
5484 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5485 finding zpool from mount point into ...
5486 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5487
5488 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5489 requested path is part of a ZFS pool, use
5490 grub_find_zpool_from_mount_point() to detect its filesystem name,
5491 and generate a path with `/fsname@path' syntax.
5492
5493 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5494
5495 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
5496 (void) rather than () so that this is a proper prototype.
5497
5498 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
5501
5502 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
5505 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
5506
5507 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5508
5509 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
5510
5511 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5512
5513 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
5514
5515 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5516
5517 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
5518 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
5519 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
5520 disable gfxpayload.
5521 (Shell-like scripting): Add real content.
5522 (Serial terminal): Suggest `terminal_input serial; terminal_output
5523 serial' rather than putting the two commands on separate lines,
5524 since console input will be inoperative after the first command.
5525 (menuentry): Document --class, --users, and --hotkey options.
5526 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
5527 Vladimir Serbinenko).
5528
5529 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5530 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5531
5532 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
5533
5534 2010-08-01 Robert Millan <rmh@gnu.org>
5535
5536 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5537 (grub_find_zpool_from_mount_point): New function prototypes.
5538
5539 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5540 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5541
5542 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5543 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5544 `static' attribute.
5545
5546 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5547 finding zpool from mount point into ...
5548 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5549
5550 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5551 requested path is part of a ZFS pool, use
5552 grub_find_zpool_from_mount_point() to detect its filesystem name,
5553 and generate a path with `/fsname@path' syntax.
5554
5555 2010-08-01 Robert Millan <rmh@gnu.org>
5556
5557 Prevent accidental use of uninitialized libzfs_handle.
5558
5559 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
5560 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
5561 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
5562
5563 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5564
5565 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
5566 util/grub.d/10_linux.in). Fixes Debian bug #591093.
5567
5568 2010-08-01 Robert Millan <rmh@gnu.org>
5569
5570 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
5571
5572 2010-07-31 Robert Millan <rmh@gnu.org>
5573
5574 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
5575
5576 2010-07-31 Robert Millan <rmh@gnu.org>
5577
5578 * kern/emu/misc.c: Add missing license header.
5579
5580 2010-07-31 Robert Millan <rmh@gnu.org>
5581
5582 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
5583
5584 * include/grub/util/libnvpair.h: Include `<config.h>'.
5585 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
5586 declaring libnvpair prototypes ourselves.
5587 * include/grub/util/libzfs.h: Include `<config.h>'.
5588 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
5589 declaring libzfs prototypes ourselves.
5590
5591 (libzfs_handle): Moved to ...
5592 * include/grub/util/misc.h (libzfs_handle): ... here.
5593 Include `<grub/util/libzfs.h>'.
5594
5595 2010-07-30 Robert Millan <rmh@gnu.org>
5596
5597 * include/grub/emu/misc.h: Add missing license header.
5598
5599 2010-07-30 Robert Millan <rmh@gnu.org>
5600
5601 Enable `grub-probe -t device' resolution on ZFS.
5602
5603 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
5604 * include/grub/util/libnvpair.h: New file.
5605 * include/grub/util/libzfs.h: New file.
5606
5607 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
5608 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
5609 `<grub/util/libnvpair.h>'.
5610 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
5611
5612 (find_mount_point_from_dir): New static function.
5613 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
5614 function.
5615 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
5616 find_root_device_from_libzfs() before ressorting to find_root_device().
5617
5618 * include/grub/util/misc.h (grub_util_init_libzfs): New function
5619 prototype.
5620 * util/misc.c: Include `<grub/util/libzfs.h>'.
5621 (grub_util_init_libzfs): New function.
5622 [HAVE_LIBZFS] (libzfs_handle): New global variable.
5623 [HAVE_LIBZFS] (fini_libzfs): New static function.
5624 (grub_util_init_libzfs): New function.
5625 * util/grub-probe.c (main): Call grub_util_init_libzfs().
5626
5627 2010-07-30 Robert Millan <rmh@gnu.org>
5628
5629 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
5630 (xmalloc, xrealloc, xstrdup, xasprintf): Add
5631 `warn_unused_result' attribute.
5632 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
5633 (grub_xasprintf, grub_xvasprintf): Likewise.
5634 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
5635
5636 2010-07-29 Robert Millan <rmh@gnu.org>
5637
5638 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
5639 (probe): Handle `PRINT_FS_LABEL'.
5640 (main): Handle `-t fs_label'.
5641
5642 2010-07-29 Robert Millan <rmh@gnu.org>
5643
5644 * configure.ac: Remove grub-mkisofs checks.
5645
5646 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * util/ieee1275/grub-install.in: Don't use empty grub_device.
5649 Reported by: Lennart Sorensen.
5650
5651 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
5654 prior to terminal_input/terminal_output separation. It's been over 1.5
5655 years and those versions weren't widely deployed.
5656
5657 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
5658
5659 * disk/raid.c (insert_array): Don't count named arrays when looking
5660 for unused array numbers.
5661 Reported and tested by: Michael Guntsche.
5662
5663 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
5664
5665 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
5666 implementation of this so that grub-emu links again, with a note
5667 that this should support hotplugging in the future.
5668
5669 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
5670
5671 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
5672
5673 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
5674
5675 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
5676 handle on failure.
5677 (grub_loopback_close): Remove empty function.
5678 (grub_loopback_dev): Remove close method.
5679
5680 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
5681
5682 Disable EFI cursor when the EFI console becomes inactive.
5683
5684 * term/efi/console.c (grub_efi_console_init): New function.
5685 (grub_efi_console_fini): New function.
5686 (grub_console_term_output): Register init and fini methods.
5687
5688 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * tests/util/grub-shell-tester.in: Remove bashism and declare as
5691 sh script.
5692
5693 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * disk/loopback.c (grub_loopback): Replace filename with file.
5696 (delete_loopback): Handle new semantics.
5697 (grub_cmd_loopback): Likewise.
5698 (grub_loopback_iterate): Likewise.
5699 (grub_loopback_close): Likewise.
5700
5701 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
5704 with -p "".
5705 Reported by: Tito Keitel.
5706
5707 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 * docs/grub.texi (Naming convention): Document new naming convention.
5710
5711 2010-07-20 Vadim Solomin <vadic052@gmail.com>
5712 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
5713
5714 Generate device.map in something closer to the old ordering.
5715
5716 * util/deviceiter.c (struct device): New declaration.
5717 (compare_file_names): Rename to ...
5718 (compare_devices): ... this. Sort by kernel name in preference to
5719 the stable by-id name, but keep the latter as a fallback comparison.
5720 Update header comment.
5721 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
5722 of `struct device' rather than of plain file names.
5723
5724 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
5725
5726 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
5727 on i386.
5728
5729 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * commands/acpi.c (setup_common_tables): Use sizeof instead of
5732 hardcoding size.
5733 (setv1table): Likewise.
5734
5735 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
5736
5737 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
5738 removing the homehost if present.
5739 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
5740 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
5741 removing the homehost if present.
5742 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
5743 if possible.
5744 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
5745
5746 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
5747 parameter. Set its pointer target to 0.
5748 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
5749 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
5750 `data_offset' value from the superblock for 1.x metadata.
5751 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
5752 data on the device.
5753 (insert_array): Record the start sector of data on the device.
5754 (grub_raid_register): Pass start_sector parameters to
5755 grub_raid_list->detect and insert_array.
5756 * include/grub/raid.h (struct grub_raid_array): Add start_sector
5757 member.
5758 (struct grub_raid): Add start_sector parameter to `detect'.
5759
5760 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
5761 __attribute__ ((packed)), leaving a comment.
5762 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
5763 (grub_mdraid_detect_09): ... here and ...
5764 (grub_mdraid_detect_1x): ... here.
5765
5766 2010-07-20 Peter Henn <peter.henn@web.de>
5767
5768 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
5769 chunk size and disk size, which are already given as sector counts
5770 as distinct from the 0.90 units. Fetch the correct device number
5771 from the role table instead of using the table index.
5772
5773 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
5774
5775 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
5776 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
5777 (WriteMostly1): New macro.
5778 Set array->name to NULL for metadata format 0.90. Add support for
5779 metadata 1.x. Fix some comments.
5780 * disk/raid.c (): Add support for name based RAID arrays. Fix a
5781 few comments.
5782 * util/getroot.c (grub_util_get_grub_dev): Add support for
5783 /dev/md/name style devices.
5784
5785 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
5786
5787 * .bzrignore: Ignore 20_linux_xen.
5788
5789 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
5790
5791 * util/import_unicode.py: Remove unnecessary imports.
5792
5793 2010-07-17 Aleš Nesrsta <starous@volny.cz>
5794
5795 Hotplugging and USB hub support.
5796
5797 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
5798 (grub_ohci): Likewise.
5799 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
5800 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
5801 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
5802 (GRUB_OHCI_CTRL_EDS): Likewise.
5803 (GRUB_OHCI_BULK_EDS): Likewise.
5804 (GRUB_OHCI_TDS): Likewise.
5805 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
5806 (grub_ohci_ed_phys2virt): New function.
5807 (grub_ohci_virt_to_phys): Likewise.
5808 (grub_ohci_td_phys2virt): Likewise.
5809 (grub_ohci_td_virt2phys): Likewise.
5810 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
5811 attachment.
5812 (grub_ohci_find_ed): New function.
5813 (grub_ohci_alloc_td): Likewise.
5814 (grub_ohci_free_td): Likewise.
5815 (grub_ohci_free_tds): Likewise.
5816 (grub_ohci_transfer): Use previously allocated memory.
5817 (grub_ohci_portstatus): Reset status changed bit.
5818 (grub_ohci_detect_dev): Supply status changed.
5819 (grub_ohci_fini_hw): Free memory.
5820 (grub_ohci_restore_hw): Reallocate memory.
5821 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
5822 Reset status change.
5823 (grub_uhci_detect_dev): Supply status_change.
5824 * bus/usb/usb.c (attach_hooks): New var.
5825 (grub_usb_device_attach): New function.
5826 (grub_usb_register_attach_hook_class): Likewise.
5827 (grub_usb_unregister_attach_hook_class): Likewise.
5828 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
5829 (grub_usb_add_hub): Reset connection changed bit.
5830 (attach_root_port): New function.
5831 (grub_usb_root_hub): Likewise.
5832 (poll_nonroot_hub): Likewise.
5833 (grub_usb_poll_devices): Likewise.
5834 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
5835 * disk/usbms.c (grub_usbms_open): Use device hooks.
5836 (grub_usbms_iterate) :Poll devices.
5837 (grub_usbms_finddevs): Split into ...
5838 (grub_usbms_attach): ... this ...
5839 (grub_usbms_attach): ... and this.
5840 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
5841 in detect_dev.
5842 (grub_usb_interface): New fields attached and detach_hook.
5843 (grub_usb_attach_hook_class): New type.
5844 (grub_usb_attach_desc): New struct.
5845 (grub_usb_register_attach_hook_class): New function.
5846 (grub_usb_unregister_attach_hook_class): Likewise.
5847 (grub_usb_poll_devices): Likewise.
5848 (grub_usb_device_attach): Likewise.
5849 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
5850 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
5851
5852 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
5855 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
5856 delta determination style. Works with most NetBSD partitions too.
5857
5858 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
5861 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
5862
5863 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
5866
5867 2010-07-14 Anton Blanchard <anton@samba.org>
5868
5869 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
5870 ET_DYN files.
5871
5872 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5873
5874 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
5875
5876 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5877
5878 * kern/partition.c (grub_partition_check_containment): New function to
5879 check that a partition is physically contained in a parent. Since
5880 offsets are relative (and non-negative), this reduces to checking that
5881 the partition ends before its parent.
5882 (grub_partition_map_probe): Discard out-of-range sub-partitions.
5883 (grub_partition_iterate): Likewise.
5884 * include/grub/partition.h (grub_partition_map): Slightly more detailed
5885 comments.
5886 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
5887 partitions that start before their parent, and add debug printfs.
5888
5889 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
5890
5891 * Makefile.in (.SUFFIX): Spell correctly, as ...
5892 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
5893 bare module name without `.mod', e.g. `test') tried to invoke a
5894 Modula-2 compiler.
5895
5896 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
5897
5898 * README: Point to the Info manual.
5899
5900 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
5901
5902 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
5903 2nd superblock position from partition size.
5904
5905 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
5906
5907 * Makefile.in (MAINTAINER_CLEANFILES): Remove
5908 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
5909 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
5910 outputs.
5911
5912 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 Restructure SCSI .id handling.
5915 Reported and tested by: Aleš Nesrsta.
5916
5917 * disk/ata.c (grub_atapi_close): Removed. All users updated.
5918 (grub_atapi_dev): Changed .name to "ata". New field .id.
5919 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
5920 (grub_usbms_dev): New field .id.
5921 * disk/scsi.c (grub_scsi_iterate): Generate name.
5922 (grub_scsi_open): Parse name.
5923 * include/grub/scsi.h (grub_make_scsi_id): New function.
5924 (grub_scsi_dev): Change iterate and open to number instead of naming
5925 busses. All users updated.
5926 (grub_scsi): Remove name. Add .bus.
5927
5928 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * commands/help.c (grub_cmd_help): Fix a typo.
5931
5932 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
5935 Reported and tested by: Colin Watson.
5936
5937 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
5940 in this context.
5941
5942 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
5945
5946 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
5947
5948 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
5949 indentation.
5950
5951 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
5952
5953 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
5954 and disk/raid6_recover.c.
5955 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5956 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
5957
5958 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
5959
5960 * term/gfxterm.c (repaint_schedulded): Rename to ...
5961 (repaint_scheduled): ... this. Update all callers.
5962 (repaint_was_schedulded): Rename to ...
5963 (repaint_was_scheduled): ... this. Update all callers.
5964
5965 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
5966
5967 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
5968 which we expect to be handled by upper layers.
5969
5970 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
5971
5972 * bus/usb/usbhub.c: #include time.h header.
5973
5974 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
5975
5976 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
5977 entry_name also for entries without stat blocks (e.g. ".."); fixes
5978 corruption of the first entry in a directory.
5979
5980 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
5981
5982 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
5983 after setting gfxterm as the active terminal. GRUB_BACKGROUND
5984 doesn't work otherwise.
5985
5986 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
5987
5988 * docs/grub.texi (Features): Update list of supported file systems.
5989 (GNU/Linux): Update for GRUB 2.
5990 (Serial terminal): Remove mention of --disable-serial, which was a
5991 GRUB Legacy configure option. Update instructions to use
5992 `terminal_input' and `terminal_output' rather than `terminal'.
5993 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
5994 configuration' and `Installing GRUB using grub-install'.
5995 (Menu entry editor): Update for GRUB 2.
5996 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
5997 Document new -a, -u, and -v options.
5998 (initrd): New section.
5999 (initrd16): New section.
6000 (linux): New section.
6001 (linux16): New section.
6002 (search): The `var' argument to `--set' is optional.
6003 (GRUB only offers a rescue shell): Go into a little more detail on
6004 drive ordering.
6005
6006 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6007
6008 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
6009
6010 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6011
6012 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
6013 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
6014
6015 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6016
6017 * util/i386/pc/grub-setup.c (setup): Rename prefix to
6018 install_prefix, in line with install_dos_part and install_bsd_part.
6019 Add new prefix variable, which is copied to install_prefix after
6020 comparing core.img in memory with the one read from disk in the
6021 no-embedding case, and use that rather than overwriting
6022 install_prefix immediately when installing to a partition.
6023 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
6024 Bicakci.
6025
6026 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6027
6028 * configure.ac: Avoid == in test command, it's not portable.
6029 * util/grub.d/30_os-prober.in: Likewise.
6030
6031 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
6032
6033 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
6034
6035 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6036
6037 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
6038 multiple (top-level) partmaps.
6039
6040 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6041
6042 * util/i386/efi/grub-install.in: Don't use empty grub_device.
6043 Reported by: Tino Keitel.
6044
6045 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 Bidi and diacritics support.
6048
6049 * Makefile.in (widthspec.bin): New target.
6050 (widthspec.h): Likewise.
6051 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
6052 * autogen.sh: Generate unidata.c.
6053 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
6054 * commands/ls.c (grub_ls_list_devices): Likewise.
6055 (grub_ls_list_files): Likewise.
6056 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
6057 (grub_mini_cmd_lsmod): Likewise.
6058 * commands/read.c: Likewise.
6059 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
6060 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
6061 * lib/arg.c (grub_arg_show_help): Likewise.
6062 * lib/crypto.c (grub_password_get): Likewise.
6063 * normal/auth.c (grub_username_get): Likewise.
6064 * normal/misc.c (grub_normal_print_device_info): Likewise.
6065 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
6066 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
6067 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
6068 (normal/charset.c_DEPENDENCIES): New variable.
6069 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
6070 (pkglib_MODULES): Remove charset.mod.
6071 (charset_mod_SOURCES): Removed.
6072 (charset_mod_CFLAGS): Likewise.
6073 (charset_mod_LDFLAGS): Likewise.
6074 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
6075 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
6076 and term/tparm.c.
6077 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6078 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6079 (kernel_img_HEADERS): Add terminfo.h.
6080 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
6081 Fill ->font. Reverse ascii bitmaps.
6082 (grub_font_get_xheight): New function.
6083 * font/font.c (grub_font_get_string_width): Moved from here ...
6084 * gfxmenu/font.c (grub_font_get_string_width): ... here.
6085 * font/font.c (grub_font_draw_string): Moved from here ...
6086 * gfxmenu/font.c (grub_font_draw_string): ... here.
6087 * font/font.c (grub_font_dup_glyph): New function.
6088 (grub_font_blit_glyph): Likewise.
6089 (grub_font_blit_glyph_mirror): Likewise.
6090 (blit_comb): Likewise.
6091 (grub_font_construct_dry_run): Likewise.
6092 (grub_font_get_constructed_device_width): Likewise.
6093 (grub_font_construct_glyph): Likewise.
6094 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
6095 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
6096 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
6097 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
6098 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
6099 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
6100 (grub_font_get_xheight): New proto.
6101 (grub_font_get_constructed_device_width): Likewise.
6102 (grub_font_construct_glyph): Likewise.
6103 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
6104 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
6105 * include/grub/font.h (grub_font_draw_string): Moved from here ...
6106 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
6107 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
6108 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
6109 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
6110 (grub_console_getcharwidth): Likewise.
6111 * include/grub/misc.h (grub_xputs): New proto.
6112 (grub_puts): Inlined.
6113 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
6114 (grub_normal_get_line_counter): Removed.
6115 (grub_install_newline_hook): Likewise.
6116 (grub_normal_get_char_counter): New proto.
6117 (grub_normal_reset_more): Likewise.
6118 (grub_xputs_normal): Likewise.
6119 * include/grub/powerpc/ieee1275/console.h: Removed.
6120 * include/grub/sparc64/ieee1275/console.h: Likewise.
6121 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
6122 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
6123 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
6124 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
6125 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
6126 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
6127 (grub_term_input): Pass reference to self. All users updated.
6128 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
6129 Pass reference to self. New fields normal_color, highlight_color and
6130 data. All users updated.
6131 (grub_putchar): Removed.
6132 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
6133 (grub_unicode_estimate_width): New function.
6134 (grub_term_getcharwidth): Add defaults.
6135 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
6136 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
6137 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
6138 (grub_cls): Remove EXPORT_FUNC.
6139 (grub_setcolorstate): Inline.
6140 (grub_newline_hook): Removed.
6141 * include/grub/terminfo.h: Rewritten. All users updated.
6142 * include/grub/unicode.h: New file.
6143 * include/grub/video.h (grub_video_signed_rect): New type.
6144 * kern/emu/console.c (grub_console_highlight_color): Removed.
6145 (grub_console_normal_color): Likewise.
6146 (grub_console_standard_color): Made static.
6147 (grub_ncurses_putchar): Remove mapping.
6148 (grub_ncurses_getcharwidth): Removed.
6149 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6150 (grub_ncurses_setcolor): Removed.
6151 (grub_ncurses_getcolor): Likewise.
6152 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
6153 (grub_console_putchar): ... this.
6154 (grub_console_putchar): Handle argument difference.
6155 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
6156 console_init_early and console_init_lately.
6157 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
6158 * kern/misc.c (grub_puts): Removed.
6159 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
6160 (grub_vsnprintf_real): Remove str = NULL support.
6161 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
6162 * normal/charset.c (grub_utf8_to_ucs4): ... here.
6163 * kern/term.c (grub_putcode): Renamed to ...
6164 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
6165 (grub_putchar): Removed.
6166 (grub_xputs_dumb): New function.
6167 (grub_xputs): New variable.
6168 * lib/charset.c: Move from here ...
6169 * normal/charset.c: ... to here.
6170 (grub_ucs4_to_utf8): New function.
6171 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
6172 (join_types): New variable.
6173 (unpack_join): New function.
6174 (bidi_types): New variable.
6175 (unpack_bidi): New function.
6176 (get_bidi_type): Likewise.
6177 (get_join_type): Likewise.
6178 (is_mirrored): Likewise.
6179 (grub_unicode_get_comb_type): Likewise.
6180 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
6181 (is_type_after): Likewise.
6182 (grub_unicode_aglomerate_comb): Likewise.
6183 (bidi_line_wrap): Likewise.
6184 (grub_bidi_line_logical_to_visual): Likewise.
6185 (grub_bidi_logical_to_visual): Likewise.
6186 (grub_unicode_mirror_code): Likewise.
6187 (grub_unicode_shape_code): Likewise.
6188 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
6189 Don't use grub_putchar.
6190 * normal/main.c (grub_normal_init_page): Use grub_putcode.
6191 (grub_normal_reader_init): Likewise.
6192 (grub_xputs_saved): New variable.
6193 (GRUB_MOD_INIT): Set grub_xputs.
6194 (GRUB_MOD_FINI): Restore grub_xputs.
6195 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
6196 (menu_init): Avoid printing gfxmenu error.
6197 (show_menu): Use grub_normal_get_char_counter.
6198 * normal/menu_entry.c (update_screen): Fix out-of-array.
6199 (complete): Avoid NULL dereferencing.
6200 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
6201 * normal/menu_text.c (print_spaces): Removed.
6202 (grub_print_ucs4): Likewise.
6203 (grub_print_message_indented): Use grub_print_ucs4.
6204 (print_message): Use grub_putcode.
6205 (print_entry): Hanlde diacritics.
6206 * normal/term.c (term_state): New type.
6207 (grub_more_lines): Removed.
6208 (term_states): New variable.
6209 (grub_normal_line_counter): Renamed to ..
6210 (grub_normal_char_counter): ...this. All users updated.
6211 (grub_normal_get_line_counter): Renamed to ...
6212 (grub_normal_get_char_counter): ... this.
6213 (grub_normal_reset_more): New function.
6214 (process_newline): Removed.
6215 (print_more): New function.
6216 (grub_install_newline_hook): Removed.
6217 (map_code): New function.
6218 (grub_puts_terminal): Use grub_print_ucs4.
6219 (putglyph): New function.
6220 (putcode_real): Likewise.
6221 (grub_putcode): Use putcode_real.
6222 (get_maxwidth): New function.
6223 (get_startwidth): Likewise.
6224 (print_ucs4_terminal): Likewise.
6225 (find_term_state): Likewise.
6226 (put_glyphs_terminal): Likewise.
6227 (print_backlog): Likewise.
6228 (print_ucs4_real): Likewise.
6229 (grub_print_ucs4): Likewise.
6230 (grub_xputs_normal): Likewise.
6231 * term/efi/console.c (grub_console_putchar): Output diacritics.
6232 (grub_console_getcharwidth): Removed.
6233 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6234 * term/gfxterm.c (clear_char): Free chars.
6235 (scroll_up): Avoid leaking memory.
6236 (grub_gfxterm_putchar): Support diacritics.
6237 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6238 * term/i386/pc/console.c (grub_console_term_output): Declare as
6239 GRUB_TERM_CODE_TYPE_VGA.
6240 * term/i386/pc/vga.c (grub_vga_term): Declare as
6241 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
6242 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
6243 GRUB_TERM_CODE_TYPE_VGA.
6244 * term/i386/vga_common.c (map_char): Removed.
6245 (grub_console_putchar): Likewise.
6246 (grub_console_getcharwidth): Likewise.
6247 * term/ieee1275/ofconsole.c: Simplify using terminfo.
6248 (colors): Reordered to match terminfo.
6249 (grub_ofconsole_normal_color): Removed.
6250 (grub_ofconsole_writeesc): Likewise.
6251 (grub_ofconsole_highlight_color): Likewise.
6252 (grub_ofconsole_getcharwidth): Likewise.
6253 (grub_ofconsole_setcolorstate): Likewise.
6254 (grub_ofconsole_setcolor): Likewise.
6255 (grub_ofconsole_getcolor): Likewise.
6256 (grub_ofconsole_readkey): Renamed to ...
6257 (readkey): ... this. Remove escape sequence handling. Return -1 on no
6258 key.
6259 (grub_ofconsole_checkkey): Removed.
6260 (grub_ofconsole_getkey): Likewise.
6261 (grub_ofconsole_getxy): Likewise.
6262 (grub_ofconsole_gotoxy): Likewise.
6263 (grub_ofconsole_cls): Likewise.
6264 (grub_ofconsole_refresh): Likewise.
6265 (grub_ofconsole_terminfo_input): New struct.
6266 (grub_ofconsole_terminfo_output): Likewise.
6267 (grub_ofconsole_term_input): Use terminfo.
6268 (grub_ofconsole_term_output): Likewise.
6269 (grub_console_init): Split into ...
6270 (grub_console_init_early): ...this and ...
6271 (grub_console_init_lately): ...this. Use terminfo.
6272 (grub_ofconsole_putchar): Renamed to ...
6273 (put): ... this. Remove mapping.
6274 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6275 * term/serial.c: Simplify using terminfo.
6276 (xpos): Removed.
6277 (ypos): Likewise.
6278 (keep_track): Likewise.
6279 (registered): Likewise.
6280 (input_buf): Likewise.
6281 (npending): Likewise.
6282 (serial_translate_key_sequence): Likewise.
6283 (fill_input_buf): Likewise.
6284 (grub_serial_checkkey): Likewise.
6285 (grub_serial_getkey): Likewise.
6286 (grub_serial_getxy): Likewise.
6287 (grub_serial_gotoxy): Likewise.
6288 (grub_serial_putchar): Likewise.
6289 (grub_serial_cls): Likewise.
6290 (grub_serial_setcolorstate): Likewise.
6291 (grub_serial_setcursor): Likewise.
6292 (serial_hw_init): Use serial_hw_fetch.
6293 (grub_serial_terminfo_input): New variable.
6294 (grub_serial_terminfo_output): Likewise.
6295 (grub_serial_term_input): Use terminfo.
6296 (grub_serial_term_output): Likewise.
6297 * term/terminfo.c (putstr): Use put.
6298 (grub_terminfo_all_free): New function
6299 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
6300 (grub_terminfo_output_register): New function.
6301 (grub_terminfo_output_unregister): Likewise.
6302 (grub_terminfo_getxy): Likewise.
6303 (grub_terminfo_readkey): Likewise.
6304 (grub_terminfo_checkkey): Likewise.
6305 (grub_terminfo_getkey): Likewise.
6306 (grub_terminfo_input_init): Likewise.
6307 (print_terminfo): Likewise.
6308 (grub_cmd_terminfo): Handle encoding.
6309 (grub_terminfo_gotoxy): Track position.
6310 (grub_terminfo_cls): Likewise.
6311 (grub_terminfo_putchar): Likewise.
6312 (grub_terminfo_setcolorstate): Handle colors
6313 (grub_terminfo_cursor_on): This ...
6314 (grub_terminfo_cursor_off): ... and this merged into ...
6315 (grub_terminfo_setcursor): ... this.
6316 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
6317 * unicode/ArabicShaping.txt: New file (imported from Unicode).
6318 * unicode/BidiMirroring.txt: Likewise.
6319 * unicode/UnicodeData.txt: Likewise.
6320 * unicode/COPYING: Likewise.
6321 * util/grub-editenv.c (grub_putchar): Removed.
6322 (grub_xputs_real): New function.
6323 (grub_xputs): New variable.
6324 * util/grub-fstest.c (grub_putchar): Removed.
6325 (grub_xputs_real): New function.
6326 (grub_xputs): New variable.
6327 * util/grub-mkdevicemap.c (grub_putchar): Removed.
6328 (grub_xputs_real): New function.
6329 (grub_xputs): New variable.
6330 * util/grub-probe.c (grub_putchar): Removed.
6331 (grub_xputs_real): New function.
6332 (grub_xputs): New variable.
6333 * util/grub-script-check.c (grub_putchar): Removed.
6334 (grub_xputs_real): New function.
6335 (grub_xputs): New variable.
6336 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
6337 (grub_xputs_real): New function.
6338 (grub_xputs): New variable.
6339 * util/import_unicode.py: New file.
6340 * util/grub-mkfont.c (ft_errmsgs): New array.
6341 (grub_glyph_info): Make bitmap a pointer.
6342 (file_formats): New type WIDTH_SPEC.
6343 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
6344 (options): Add width-spec.
6345 (help): Likewise.
6346 (add_char): Renamed to ...
6347 (add_glyph): ... this.
6348 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
6349 (glyph_replace): New type.
6350 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
6351 (add_char): New function.
6352 (add_subst): Likewise.
6353 (process_cursive): Likewise.
6354 (add_font): Handle GSUB.
6355 (write_font_width_spec): New function.
6356 (main): Sort glyphs.
6357 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
6358 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
6359 * kern/term.c (grub_cls): Moved from here...
6360 * normal/term.c (grub_cls): ... here.
6361
6362 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6363
6364 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
6365 suitable for using within the format argument of printf when
6366 converting grub_size_t.
6367 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
6368 "x" to convert grub_size_t arguments.
6369
6370 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
6373 too long captions.
6374 (list_get_minimal_size): Take selection box into account.
6375
6376 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
6379 NULL font.
6380
6381 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6382
6383 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
6384 devices when iterating over /dev/disk/by-id; they will be handled
6385 later if appropriate, which they aren't always (e.g. LVM).
6386
6387 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6388
6389 * include/grub/misc.h (grub_reboot): Declare as noreturn.
6390 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
6391 fails.
6392 (grub_halt): Likewise.
6393 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
6394 reset-all fails.
6395 (grub_halt): Don't return, even if all of shut-down, power-off, and
6396 poweroff fail.
6397
6398 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6399
6400 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
6401 arguments, not three.
6402
6403 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6404
6405 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
6406 * util/grub.d/10_linux.in: Use it to check for LVM, so that
6407 LVM-on-RAID is handled correctly.
6408
6409 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6410
6411 * docs/grub.texi (Changes from GRUB Legacy): New section.
6412 (Future): Fix typo.
6413
6414 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6415
6416 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
6417 grub.d/README accidentally ends up executable for one reason or
6418 another. Ignore it.
6419
6420 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
6423 (gpt_partition_map_iterate): Support non-512B sectors.
6424
6425 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * kern/efi/init.c (grub_efi_init): Disable watchdog.
6428 Tested by: Seth Goldberg.
6429
6430 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
6433 Properly align mbi.
6434 Reported by: Seth Goldberg.
6435
6436 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 * util/grub-mkrescue.in: Avoid module duplication.
6439
6440 2010-07-01 Sean Finney <seanius@seanius.net>
6441
6442 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
6443
6444 2010-07-01 Sean Finney <seanius@seanius.net>
6445
6446 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
6447
6448 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * disk/lvm.c (grub_lvm_checkvalue): New function.
6451 (grub_lvm_check_flag): Likewise.
6452
6453 2010-07-01 Robert Millan <rmh@gnu.org>
6454
6455 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
6456 Support 'p' as partition separator on kernel of FreeBSD (used
6457 with GPT labels).
6458 (grub_util_biosdisk_get_grub_dev): Likewise.
6459
6460 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 Yeeloong firmware port.
6463
6464 * boot/mips/yeeloong/fwstart.S: New file.
6465 * bus/cs5536.c (gpiodump): New const.
6466 (set_io_space): New function.
6467 (set_iod): Likewise.
6468 (set_p2d): Likewise.
6469 (grub_cs5536_init_geode): Likewise.
6470 * commands/mips/yeeloong/lsspd.c: New file.
6471 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
6472 (serial_mod_SOURCES): New variable.
6473 (serial_mod_CFLAGS): Likewise.
6474 (serial_mod_LDFLAGS): Likewise.
6475 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
6476 term/terminfo.c and term/tparm.c.
6477 (pkglib_IMAGES): Add fwstart.img.
6478 (fwstart_img_SOURCES): New variable.
6479 (fwstart_img_CFLAGS): Likewise.
6480 (fwstart_img_ASFLAGS): Likewise.
6481 (fwstart_img_LDFLAGS): Likewise.
6482 (fwstart_img_FORMAT): Likewise.
6483 (pkglib_MODULES): Add lsspd.mod.
6484 (lsspd_mod_SOURCES): New variable.
6485 (lsspd_mod_CFLAGS): Likewise.
6486 (lsspd_mod_LDFLAGS): Likewise.
6487 (pkglib_MODULES): Add halt.mod.
6488 (halt_mod_SOURCES): New variable.
6489 (halt_mod_CFLAGS): Likewise.
6490 (halt_mod_LDFLAGS): Likewise.
6491 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
6492 (serial_mod_SOURCES): Removed.
6493 (serial_mod_CFLAGS): Likewise.
6494 (serial_mod_LDFLAGS): Likewise.
6495 * disk/ata.c (check_device): New function.
6496 (grub_ata_device_initialize): Use check_device.
6497 (grub_ata_iterate): Recheck devices.
6498 (grub_ata_open): Likewise.
6499 (grub_atapi_iterate): Likewise.
6500 (grub_atapi_open): Likewise.
6501 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
6502 (GRUB_ATA_CH1_PORT1): Likewise.
6503 (GRUB_ATA_CH0_PORT2): Likewise.
6504 (GRUB_ATA_CH1_PORT2): Likewise.
6505 * include/grub/mips/loongson.h: New file.
6506 * include/grub/mips/yeeloong/ec.h: Likewise.
6507 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
6508 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
6509 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
6510 * include/grub/misc.h (grub_halt): Declare as noreturn.
6511 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
6512 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
6513 (UART_ENABLE_FIFO_TRIGGER1): New definition.
6514 (UART_ENABLE_DTRRTS): Likewise.
6515 (UART_ENABLE_MODEM): Removed.
6516 (UART_ENABLE_OUT2): New const.
6517 * include/grub/term.h (grub_term_register_input_active): New function.
6518 (grub_term_register_output_active): Likewise.
6519 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
6520 argument.
6521 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
6522 (init_pci): New function.
6523 (grub_machine_init): Execute platform init when firmware. Init serial.
6524 (grub_halt): Implement.
6525 (grub_exit): Likewise.
6526 (grub_reboot): Likewise.
6527 * term/serial.c (serial_hw_init): Update macros.
6528 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
6529 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
6530 (image_targets): New target mipsel-yeeloong-flash.
6531 (generate_image): Support IMAGE_YEELOONG_FLASH.
6532 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
6533 (grub_video_sm712_setup): Init card.
6534 (grub_video_sm712_set_palette): Removed.
6535 * video/sm712_init.c: New file.
6536
6537 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
6538
6539 * Makefile.in (install-local): Temporarily prepend $(builddir) to
6540 PATH when running help2man and then run it on the unadorned
6541 executable names, rather than passing $(builddir)/* paths to
6542 help2man. This avoids the build directory ending up in generated
6543 manual pages.
6544
6545 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
6546
6547 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
6548 to avoid accidents when debugging with 'sh -x'.
6549 * util/grub-mkrescue.in: Likewise.
6550 * util/grub.d/00_header.in: Likewise.
6551 * util/grub.d/10_hurd.in: Likewise.
6552 * util/grub.d/10_kfreebsd.in: Likewise.
6553 * util/grub.d/10_linux.in: Likewise.
6554 * util/grub.d/10_netbsd.in: Likewise.
6555 * util/grub.d/10_windows.in: Likewise.
6556 * util/grub.d/20_linux_xen.in: Likewise.
6557 * util/grub.d/30_os-prober.in: Likewise.
6558 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6559
6560 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
6561
6562 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
6563 last character in the buffer.
6564 Reported by: Vladimir Serbinenko.
6565
6566 2010-06-29 Robert Millan <rmh@gnu.org>
6567
6568 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
6569 (Command-line and menu entry commands): Document `badram' command.
6570
6571 2010-06-28 Robert Millan <rmh@gnu.org>
6572
6573 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
6574 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
6575 command using ${GRUB_BADRAM} as parameter.
6576
6577 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6578
6579 * docs/grub.texi (Device map): New section.
6580 (Themes): New section (stub).
6581 * Makefile.in (docs/grub.info): The info documentation now builds
6582 without errors. Make sure it stays that way.
6583
6584 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 Use normal parser for menu entries.
6587 Reported by: Thomas Frauendorfer
6588
6589 * include/grub/parser.h (grub_parser_execute): Don't export.
6590 * normal/menu.c (grub_menu_execute_entry_real): New function.
6591 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
6592
6593 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6594
6595 * docs/grub.texi (Embedded configuration): New section (replacing
6596 old "Preset Menu" stub).
6597 (Images): New section.
6598 (configfile): Note that any menu entries defined in `file' are shown
6599 immediately.
6600
6601 2010-06-28 Josh Triplett <josh@joshtriplett.org>
6602
6603 * mmap/i386/pc/mmap_helper.S: Set CF on return.
6604
6605 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6606
6607 * util/grub-install.in: Add --debug-image= option.
6608
6609 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6610
6611 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
6612 possible on Linux.
6613
6614 * util/deviceiter.c (check_device): Rename to ...
6615 (check_device_readable_unique): ... this. Update all callers.
6616 Maintain and check a list of which devices (by canonicalized name)
6617 have already been seen.
6618 (clear_seen_devices): New function.
6619 (compare_file_names) [__linux__]: New function.
6620 (grub_util_iterate_devices): Clear the list of seen devices on exit
6621 and (just in case) on entry.
6622 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
6623 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
6624 seen-devices list, superseded by general code in check_device.
6625
6626 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6627
6628 * commands/cat.c (options): New variable.
6629 (grub_cmd_cat): Parse options. If the --dos option is given, print
6630 DOS-style "\r\n" line endings as simple newlines (Debian bug
6631 #586358).
6632 (GRUB_MOD_INIT): Use extcmd.
6633 (GRUB_MOD_FINI): Likewise.
6634 * docs/grub.texi (cat): Document --dos.
6635
6636 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 XEN with Linux grub-mkconfig support.
6639
6640 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
6641 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
6642 GRUB_CMDLINE_XEN_DEFAULT.
6643 * util/grub.d/20_linux_xen.in: New file.
6644
6645 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 Initialise VGA video on qemu ourselves.
6648
6649 * boot/i386/qemu/boot.S: Don't call 0xc000.
6650 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
6651 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
6652 (kernel_img_HEADERS): Add pci.h.
6653 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
6654 * configure.ac: Force unifont on qemu and yeeloong.
6655 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
6656 (grub_vga_palette_write): Use correct register.
6657 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
6658 Call grub_qemu_init_cirrus.
6659 * kern/i386/qemu/init.c: New file.
6660 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
6661
6662 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
6663
6664 2010-06-26 Pavel Roskin <proski@gnu.org>
6665
6666 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
6667 13.
6668
6669 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
6670
6671 * docs/grub.texi (Simple configuration): Explain that
6672 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
6673 set to `true' to disable their respective recovery entries, not
6674 merely set.
6675
6676 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
6677
6678 Make the `source' command slightly faster.
6679
6680 * normal/main.c (grub_normal_execute): Don't re-read list files when
6681 nested.
6682
6683 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
6684
6685 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
6686 field position and mask size to red fields from mode_info, not
6687 green.
6688 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
6689 Remove redundant tag->common.framebuffer_type assignment.
6690 Reported by: Seth Goldberg.
6691
6692 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
6693
6694 Sync up other versions of the Linux loader with Robert Millan's
6695 change of 2010-01-09, "Make loader output a bit more user-friendly".
6696
6697 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
6698 grub_dprintf().
6699 (grub_cmd_linux): Likewise.
6700 (grub_cmd_initrd): Likewise.
6701 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
6702 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6703
6704 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
6705
6706 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
6707 larger than MEMORY_MAP_SIZE.
6708
6709 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
6710
6711 Fix parallel build.
6712
6713 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
6714 dependency.
6715 * script/parser.y: #include grub_script.tab.h header.
6716
6717 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 Support >3GiB and <16MiB RAM in i386-qemu.
6720
6721 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
6722 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
6723 (grub_lower_mem): Removed.
6724 (grub_upper_mem): Likewise.
6725 (mem_size): Made static.
6726 (above_4g): New variable.
6727 (grub_machine_mmap_init): Detect small mem_size and above_4g.
6728 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
6729 support.
6730
6731 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 Cirrus 5446 and Bochs video cards support.
6734
6735 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
6736 video_bochs.mod
6737 (video_cirrus_mod_SOURCES): New variable.
6738 (video_cirrus_mod_CFLAGS): Likewise.
6739 (video_cirrus_mod_LDFLAGS): Likewise.
6740 (video_bochs_mod_SOURCES): Likewise.
6741 (video_bochs_mod_CFLAGS): Likewise.
6742 (video_bochs_mod_LDFLAGS): Likewise.
6743 * include/grub/vga.h: New file.
6744 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
6745 (grub_video_fb_set_page_t): New type.
6746 (grub_video_fb_setup): New prototype.
6747 (grub_video_fb_swap_buffers): Likewise.
6748 (grub_video_fb_get_info_and_fini): Likewise.
6749 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
6750 (CRTC_DATA_PORT): Likewise.
6751 (CRTC_CURSOR): Likewise.
6752 (CRTC_CURSOR_ADDR_HIGH): Likewise.
6753 (CRTC_CURSOR_ADDR_LOW): Likewise.
6754 (CRTC_CURSOR_DISABLE): Likewise.
6755 (update_cursor): Use grub_vga_cr_write.
6756 (grub_vga_text_setcursor): Likewise.
6757 * video/bochs.c: New file.
6758 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
6759 (palette): Likewise.
6760 (palette_size): Likewise.
6761 (framebuffer): New variable.
6762 (grub_video_fb_init): Use 'framebuffer'.
6763 (grub_video_fb_fini): Likewise.
6764 (grub_video_fb_get_info): Likewise.
6765 (grub_video_fb_get_palette): Likewise.
6766 (grub_video_fb_set_palette): Likewise.
6767 (grub_video_fb_set_viewport): Likewise.
6768 (grub_video_fb_get_viewport): Likewise.
6769 (grub_video_fb_map_color): Likewise.
6770 (grub_video_fb_map_rgb): Likewise.
6771 (grub_video_fb_map_rgba): Likewise.
6772 (grub_video_fb_unmap_color): Likewise.
6773 (grub_video_fb_unmap_color_int): Likewise.
6774 (grub_video_fb_fill_rect): Likewise.
6775 (grub_video_fb_blit_bitmap): Likewise.
6776 (grub_video_fb_blit_render_target): Likewise.
6777 (grub_video_fb_scroll): Likewise.
6778 (grub_video_fb_create_render_target): Likewise.
6779 (grub_video_fb_doublebuf_blit_init): Likewise.
6780 (grub_video_fb_set_active_render_target): Handle doublebuffering.
6781 (doublebuf_pageflipping_update_screen): New function.
6782 (doublebuf_pageflipping_init): Likewise.
6783 (grub_video_fb_setup): Likewise.
6784 (grub_video_fb_swap_buffers): Likewise.
6785 (grub_video_fb_get_info_and_fini): Likewise.
6786 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
6787 All users updated.
6788 (doublebuf_pageflipping_commit): Restructured into ...
6789 (doublebuf_pageflipping_set_page): ... this.
6790 (doublebuf_pageflipping_update_screen): Removed.
6791 (doublebuf_pageflipping_init): Likewise.
6792 (double_buffering_init): Likewise.
6793 (grub_video_vbe_setup): Use grub_video_fb_setup.
6794 (grub_video_vbe_swap_buffers): Removed.
6795 (grub_video_vbe_set_active_render_target): Likewise.
6796 (grub_video_vbe_get_active_render_target): Likewise.
6797 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
6798 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
6799 grub_video_fb_set_active_render_target and
6800 grub_video_fb_get_active_render_target.
6801 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
6802 (SEQUENCER_DATA_PORT): Likewise.
6803 (MAP_MASK_REGISTER): Likewise.
6804 (CRTC_ADDR_PORT): Likewise.
6805 (CRTC_DATA_PORT): Likewise.
6806 (START_ADDR_HIGH_REGISTER): Likewise.
6807 (START_ADDR_LOW_REGISTER): Likewise.
6808 (GRAPHICS_ADDR_PORT): Likewise.
6809 (GRAPHICS_DATA_PORT): Likewise.
6810 (READ_MAP_REGISTER): Likewise.
6811 (INPUT_STATUS1_REGISTER): Likewise.
6812 (INPUT_STATUS1_VERTR_BIT): Likewise.
6813 (get_map_mask): Use grub_vga_sr_read.
6814 (set_map_mask): Use grub_vga_sr_write.
6815 (set_read_map): Use grub_vga_gr_write.
6816 (set_start_address): Use grub_vga_cr_write.
6817 * video/sm712.c (framebuffer): Remove leftover fields.
6818
6819 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
6820
6821 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
6822 setting GRUB_VIDEO_BACKEND. Make it available as a user override
6823 instead. Replace the gfxterm backend check with a check that
6824 ${GRUB_PREFIX}/video.lst is non-empty.
6825 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
6826 again.
6827 (load_video): New generated function. Call it before loading
6828 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
6829 * util/grub.d/10_linux.in (linux_entry): Call load_video.
6830 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
6831 * docs/grub.texi (Simple configuration): Document
6832 GRUB_VIDEO_BACKEND.
6833
6834 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 Use video functions in linux and xnu loaders.
6837
6838 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
6839 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
6840 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
6841 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
6842 loader/i386/pc/linux.c.
6843 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
6844 (find_line_len): Removed.
6845 (find_framebuf): Likewise.
6846 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
6847 * loader/i386/efi/xnu.c: Removed.
6848 * loader/i386/pc/xnu.c: Moved from here...
6849 * loader/i386/xnu.c: ...here.
6850
6851 Enable priorities in video drivers.
6852
6853 * include/grub/video.h (grub_video_adapter_prio_t): New type.
6854 (grub_video_adapter): New field prio.
6855 (grub_video_register): Respect prio when inserting.
6856 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
6857 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
6858 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
6859 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
6860 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
6861 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
6862 * video/sm712.c (grub_video_sm712_adapter): Likewise.
6863
6864 Fix SDL driver ID.
6865
6866 * include/grub/video.h (grub_video_driver_id_t): New value
6867 GRUB_VIDEO_DRIVER_SDL.
6868 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
6869
6870 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
6871
6872 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
6873 argument to printf.
6874 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6875
6876 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
6877
6878 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
6879 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6880
6881 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
6882
6883 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
6884 directly, and recommend grub-install instead.
6885 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6886
6887 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
6888
6889 Fix i386-pc prefix handling with nested partitions (Debian bug
6890 #585068). Note that the case where the core image is booted using
6891 multiboot and relocated from its original location still requires
6892 more work.
6893
6894 * kern/i386/pc/init.c (make_install_device): If the prefix starts
6895 with "(,", fill the boot drive in between those two characters, but
6896 expect that a full partition specification including partition map
6897 names will follow.
6898 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
6899 specified, write a prefix without the drive name but including a
6900 full partition specification.
6901
6902 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
6903
6904 * util/grub-mkconfig.in: Ignore non-option arguments, for
6905 compatibility with older versions (before 2010-06-12) which did the
6906 same. In particular, this makes it easier to ship an update-grub
6907 wrapper which is compatible with that used with GRUB Legacy (Debian
6908 bug #586056).
6909
6910 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6911
6912 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
6913 for manual page generation.
6914
6915 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6916
6917 * po/POTFILES: Remove leftover commands/handler.c.
6918
6919 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
6920
6921 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
6922 left this script non-functional.
6923
6924 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
6925
6926 * docs/man/grub-emu.h2m: New file.
6927
6928 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
6929
6930 * docs/grub.texi (Commands): Document reduced command set in rescue
6931 mode.
6932 (cpuid): New section.
6933
6934 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
6935
6936 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
6937 new partition naming style.
6938 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
6939
6940 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
6941
6942 Add "-o grub.iso" like cmdline options support.
6943
6944 * util/grub-install.in: Improve cmdline option parsing.
6945 * util/grub-mkconfig.in: Likewise.
6946 * util/grub-mkrescue.in: Likewise.
6947 * util/grub-reboot.in: Likewise.
6948 * util/grub-set-default.in: Likewise.
6949 * util/i386/efi/grub-install.in: Likewise.
6950 * util/ieee1275/grub-install.in: Likewise.
6951 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6952
6953 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
6954
6955 * .bzrignore: Ignore 41_custom.
6956
6957 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
6958
6959 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
6960
6961 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
6962
6963 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
6964 prototype declarations.
6965
6966 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
6967 generating fs, partmap, and video lists.
6968 * include/grub/fs.h (grub_fs_register): Omit prototype if
6969 GRUB_LST_GENERATOR is defined.
6970 * include/grub/partition.h (grub_partition_map_register): Likewise.
6971 * include/grub/video.h (grub_video_register): Likewise.
6972
6973 2010-06-12 Javier Martín <lordhabbit@gmail.com>
6974
6975 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
6976
6977 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
6978
6979 * util/grub-mkrescue.in: Support --xorriso argument.
6980
6981 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
6984 Suggested by: Thomas Schmitt.
6985
6986 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
6989 Suggested by: Thomas Schmitt.
6990
6991 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 custom.cfg support.
6994
6995 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
6996 * util/grub.d/41_custom.in: New file.
6997
6998 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
6999
7000 * util/grub-mkrescue.in (make_image): Remove sh module, which has
7001 been merged back into normal.
7002
7003 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7004
7005 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
7006 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
7007
7008 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7009
7010 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
7011 when generating manual pages.
7012 * docs/man/grub-bin2h.h2m: New file.
7013 * docs/man/grub-editenv.h2m: New file.
7014 * docs/man/grub-fstest.h2m: New file.
7015 * docs/man/grub-install.h2m: New file.
7016 * docs/man/grub-macho2img.h2m: New file.
7017 * docs/man/grub-mkconfig.h2m: New file.
7018 * docs/man/grub-mkdevicemap.h2m: New file.
7019 * docs/man/grub-mkfont.h2m: New file.
7020 * docs/man/grub-mkimage.h2m: New file.
7021 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
7022 * docs/man/grub-mkrelpath.h2m: New file.
7023 * docs/man/grub-mkrescue.h2m: New file.
7024 * docs/man/grub-ofpathname.h2m: New file.
7025 * docs/man/grub-pe2elf.h2m: New file.
7026 * docs/man/grub-probe.h2m: New file.
7027 * docs/man/grub-reboot.h2m: New file.
7028 * docs/man/grub-script-check.h2m: New file.
7029 * docs/man/grub-set-default.h2m: New file.
7030 * docs/man/grub-setup.h2m: New file.
7031
7032 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 Use FOR_* macros instead of *_iterate whenever possible.
7035
7036 * commands/handler.c: Removed.
7037 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
7038 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
7039 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7040 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
7041 (grub_probe_SOURCES): Remove kern/parser.c.
7042 (util/grub-script-check.c_DEPENDENCIES): Removed.
7043 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
7044 and grub_script_check_init.c.
7045 (grub_script_check_init.lst): Removed.
7046 (grub_script_check_init.h): Likewise.
7047 (grub_script_check_init.c): Likewise.
7048 (pkglib_MODULES): Remove handler.mod and sh.mod.
7049 (handler_mod_SOURCES): Removed.
7050 (handler_mod_CFLAGS): Likewise.
7051 (handler_mod_LDFLAGS): Likewise.
7052 (normal_mod_SOURCES): Remove normal/handler.c.
7053 Add script/main.c, script/script.c, script/execute.c,
7054 script/function.c, script/lexer.c, grub_script.tab.c
7055 and grub_script.yy.c.
7056 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7057 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7058 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
7059 (grub_setup_SOURCES): Remove kern/parser.c.
7060 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7061 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
7062 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7063 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7064 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7065 (grub_setup_SOURCES): Remove kern/parser.c.
7066 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7067 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
7068 * include/grub/command.h (grub_command_iterate): Removed.
7069 (FOR_COMMANDS): New macro.
7070 * include/grub/dl.h (grub_dl): New member next.
7071 (grub_dl_iterate): Removed.
7072 (grub_dl_head): New variable declaration.
7073 (FOR_DL_MODULES): New macro.
7074 * include/grub/fs.h: Include list.h.
7075 (grub_fs): Make next first element.
7076 (grub_fs_list): New variable declaration.
7077 (grub_fs_register): Make inline.
7078 (grub_fs_unregister): Likewise.
7079 (grub_fs_iterate): Removed.
7080 (FOR_FILESYSTEMS): New macro.
7081 * include/grub/handler.h: Removed.
7082 * include/grub/list.h (grub_list_hook_t): Removed.
7083 (grub_list_test_t): Likewise.
7084 (grub_list_pop): Likewise.
7085 (grub_list_iterate): Likewise.
7086 (grub_list_insert): Likewise.
7087 (FOR_LIST_ELEMENTS): New macro.
7088 * include/grub/parser.h (grub_parser_class): Removed.
7089 (grub_parser_register): Likewise.
7090 (grub_parser_unregister): Likewise.
7091 (grub_parser_get_current): Likewise.
7092 (grub_parser_set_current): Likewise.
7093 (grub_register_rescue_parser): Likewise.
7094 (grub_rescue_parse_line): New function.
7095 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
7096 * include/grub/script_sh.h (grub_script_function_list): New variable
7097 declaration.
7098 (FOR_SCRIPT_FUNCTIONS): New macro.
7099 (grub_script_function_iterate): Removed.
7100 (grub_normal_parse_line): New prototype.
7101 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
7102 (FOR_DISABLED_TERM_INPUTS): Likewise.
7103 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7104 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7105 * include/grub/video.h (grub_video_adapter): Move 'next' to first
7106 element.
7107 (grub_video_register): Inline.
7108 (grub_video_unregister): Likewise.
7109 (grub_video_adapter_list): New variable declaration.
7110 (grub_video_iterate): Removed.
7111 (FOR_VIDEO_ADAPTERS): New macro.
7112 * kern/dl.c (grub_dl_list): Removed. All users updated.
7113 (grub_dl_iterate): Removed.
7114 * kern/fs.c (grub_fs_list): Make global.
7115 (grub_fs_register): Removed.
7116 (grub_fs_unregister): Likewise.
7117 (grub_fs_iterate): Likewise.
7118 * kern/handler.c: Removed.
7119 * kern/list.c (grub_list_pop): Removed.
7120 (grub_list_iterate): Likewise.
7121 (grub_list_insert): Likewise.
7122 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
7123 (grub_prio_list_insert): Don't use grub_list_insert.
7124 * kern/main.c (grub_register_rescue_parser): Don't call
7125 grub_register_rescue_parser.
7126 * kern/parser.c (grub_parser_class): Removed.
7127 (grub_parser_execute): Use grub_rescue_parse_line.
7128 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
7129 (grub_rescue_parser): Removed.
7130 (grub_register_rescue_parser): Likewise.
7131 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
7132 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
7133 (grub_auth_check_authentication): Likewise.
7134 * normal/completion.c (iterate_command): Removed.
7135 (grub_normal_do_completion): Use FOR_COMMANDS.
7136 * normal/handler.c: Removed.
7137 * normal/main.c (read_config_file): Remove parser changing.
7138 (grub_normal_execute): Don't call read_handler_list.
7139 (grub_normal_read_line_real): Statically allocate prompt.
7140 (grub_cmdline_run): Use grub_normal_parse_line.
7141 (GRUB_MOD_FINI): Don't call free_handler_list.
7142 * normal/menu_entry.c (run): Likewise.
7143 * script/function.c (grub_script_function_list): Make global.
7144 (grub_script_function_iterate): Removed.
7145 * script/main.c (grub_normal_parse_line): Make global.
7146 (grub_sh_parser): Removed.
7147 (GRUB_MOD_INIT): Likewise.
7148 (GRUB_MOD_FINI): Likewise.
7149 * tests/lib/functional_test.c (grub_functional_test): Use
7150 FOR_LIST_ELEMENTS.
7151 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
7152 (grub_test_run): Use FOR_LIST_ELEMENTS.
7153 * tests/lib/unit_test.c (main): Likewise.
7154 * util/deviceiter.c (grub_util_iterate_devices): Don't use
7155 grub_list_pop.
7156 * util/grub-fstest.c (grub_term_input_class): Removed.
7157 (grub_term_output_class): Likewise.
7158 * util/grub-probe.c: Likewise.
7159 * util/i386/pc/grub-setup.c: Likewise.
7160 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7161 * util/grub-script-check.c (main): Don't call grub_init_all and
7162 grub_fini_all.
7163 * video/video.c (grub_video_adapter_list): Make global.
7164 (grub_video_register): Removed.
7165 (grub_video_unregister): Likewise.
7166 (grub_video_iterate): Likewise.
7167
7168 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
7171 reported by Henrique Ferreiro.
7172
7173 2010-06-09 Robert Millan <rmh@gnu.org>
7174
7175 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
7176 ones, when both are available.
7177
7178 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7179
7180 Make --version uniform and avoid hard-coded program name.
7181
7182 * util/grub-mkimage.c (main): Use `program_name' instead of
7183 hard-coded string.
7184 * util/i386/pc/grub-setup.c (main): Likewise.
7185 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
7186 * util/grub-install.in: Save the basename of $0 in $self, and use the
7187 latter in informational messages. Use the same format for --version
7188 as the binary programs.
7189 * util/grub-mkconfig.in: Likewise.
7190 * util/grub-mkrescue.in: Likewise.
7191 * util/grub-reboot.in: Likewise.
7192 * util/grub-set-default.in: Likewise.
7193 * util/i386/efi/grub-install.in: Likewise.
7194 * util/ieee1275/grub-install.in: Likewise.
7195 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7196
7197 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7198
7199 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
7200 embedding area. Use <= instead of == when checking for non-emptiness.
7201
7202 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7203
7204 * configure.ac: Add `.' to the directories searched for unifont.
7205
7206 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7207
7208 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
7209 grub_script.yy.h.
7210
7211 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7212
7213 * docs/grub.texi (History): Expand to cover GRUB 2.
7214 (Serial terminal): Refer to `terminal_input' and `terminal_output'
7215 commands, not `terminal'.
7216 (serial): Likewise.
7217 (terminal_input): New section.
7218 (terminal_output): New section.
7219 (uppermem): New section (stub).
7220 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
7221
7222 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7223
7224 * docs/grub.texi (Security): Menu entries are unrestricted by
7225 default, not restricted to superusers as I had previously thought.
7226 Reword to account for this.
7227
7228 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7229
7230 * kern/emu/misc.c (device_mapper_null_log): New function.
7231 (grub_device_mapper_supported): New function.
7232 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
7233 prototype.
7234 * kern/emu/hostdisk.c (find_partition_start): Check whether
7235 device-mapper is supported before trying to use it.
7236 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
7237
7238 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7239
7240 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
7241 (File name syntax): Likewise.
7242 (help): --all is no longer supported in GRUB 2. Be more precise
7243 about pattern matching.
7244
7245 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7246
7247 * normal/completion.c (grub_normal_do_completion): When completing
7248 arguments to "set" and the current word contains an equals sign,
7249 skip to after the equals sign before starting completion.
7250
7251 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7252
7253 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
7254
7255 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7256
7257 * docs/grub.texi (Network): New section.
7258 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
7259 `(nd)' as in GRUB Legacy.
7260 (pxe_unload): New section.
7261
7262 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7263
7264 * docs/grub.texi (Troubleshooting): `echo' is not usually available
7265 in the rescue shell, so recommend using `set' instead. Thanks,
7266 Jordan Uggla.
7267
7268 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7269
7270 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
7271 (password): New section.
7272 (password_pbkdf2): New section.
7273 (search): New section.
7274 (Security): New section.
7275 (Troubleshooting): New section, currently very incomplete.
7276 (Invoking grub-mkpasswd-pbkdf2): New section.
7277 (Internals): New section, currently very incomplete.
7278
7279 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7280
7281 * util/grub.d/00_header.in: Add some more quoting (of
7282 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
7283 work again.
7284 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
7285
7286 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7287
7288 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
7289 to `count', fixing variable shadowing that broke the -c option.
7290
7291 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
7292
7293 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
7294 in case they contain spaces.
7295
7296 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7297
7298 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
7299 "part_" to partmap module names, in line with grub-install.
7300 Reported by: Jindřich Makovička (Debian bug #584426).
7301
7302 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7303
7304 * util/grub-mkimage.c: Make target-related error messages slightly
7305 more helpful; -O talks about "format". Explicitly point to the use
7306 of -O if no target is specified.
7307 Reported by: Didier Raboud (Debian bug #584415).
7308
7309 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
7310
7311 * INSTALL: Document several build requirements for optional features
7312 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
7313
7314 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7315
7316 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
7317 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
7318 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
7319
7320 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7321
7322 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
7323 Thanks to Jordan Uggla for spotting this.
7324
7325 2010-06-02 Aleš Nesrsta <starous@volny.cz>
7326
7327 Finally make USB usable.
7328
7329 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
7330 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
7331 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
7332 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
7333 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
7334 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
7335 (GRUB_OHCI_FSMPS): Likewise.
7336 (GRUB_OHCI_PERIODIC_START): Likewise.
7337 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
7338 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
7339 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
7340 (GRUB_OHCI_SET_PORT_RESET): Likewise.
7341 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
7342 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
7343 (grub_ohci_transaction): Likewise.
7344 (grub_ohci_transfer): Improve condition detection algorithms.
7345 Handle toggle property. Program the transactions correctly.
7346 Improve error handling. Various important fixups.
7347 (grub_ohci_portstatus): Put register writes in right order.
7348 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
7349 (grub_uhci_transfer): Don't show "failed" message on success.
7350 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
7351 array.
7352 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
7353 determine its size.
7354 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
7355 before initialization is completed. Use IN direction for empty
7356 transfers. Use last_trans and compute toggle.
7357 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
7358 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
7359 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
7360 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
7361 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
7362 (grub_usb_device): Increase toggle to 256.
7363 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
7364 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
7365 GRUB_USBMS_SUBCLASS_SFF8070.
7366 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
7367 (grub_scsi_inquiry): New member page and alloc_length.
7368 (grub_scsi_request_sense): New structure.
7369 (grub_scsi_request_sense_data): Likewise.
7370 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
7371 control.
7372 * disk/scsi.c (grub_scsi_request_sense): New function.
7373 (grub_scsi_test_unit_ready): Likewise.
7374 (grub_scsi_inquiry): Fill new fields.
7375 (grub_scsi_read_capacity): Likewise.
7376 (grub_scsi_read10): Add request sense at the end.
7377 (grub_scsi_read12): Likewise.
7378 (grub_scsi_write10): Likewise.
7379 (grub_scsi_write12): Likewise.
7380 (grub_scsi_open): Add Test Unit Ready.
7381 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
7382 Support additional subclasses. Con't clear halt yet. Activate the
7383 proper config. Calculate LUNs correctly.
7384 (grub_usbms_transfer): Various important fixups.
7385
7386 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
7389 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
7390 (grub_ohci_fini_hw): New function.
7391 (grub_ohci_restore_hw): Likewise.
7392 (GRUB_MOD_INIT(ohci)): Register preboot hook.
7393 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
7394 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
7395
7396 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 Dedicated DMA allocations.
7399
7400 * bus/pci.c (grub_memalign_dma32): New function
7401 (grub_dma_free): Likewise.
7402 (grub_dma_get_virt): Likewise.
7403 (grub_dma_get_phys): Likewise.
7404 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
7405 (grub_ohci_pci_iter): Use dma32_alloc.
7406 (grub_ohci_transfer): Likewise.
7407 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7408 (grub_usb_bulk_readwrite): Likewise.
7409 * include/grub/pci.h: Add declarations.
7410
7411 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 CS5536 support.
7414
7415 * bus/cs5536.c: New file.
7416 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
7417 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
7418 (cs5536_mod_SOURCES): New variable.
7419 (cs5536_mod_CFLAGS): Likewise.
7420 (cs5536_mod_LDFLAGS): Likewise.
7421 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
7422 machine/pci.h.
7423 (kernel_img_SOURCES): Add bus/cs5536.c.
7424 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
7425 usb_keyboard.mod.
7426 (usb_mod_SOURCES): New variable.
7427 (usb_mod_CFLAGS): New variable.
7428 (usb_mod_LDFLAGS): New variable.
7429 (usbtest_mod_SOURCES): New variable.
7430 (usbtest_mod_CFLAGS): New variable.
7431 (usbtest_mod_LDFLAGS): New variable.
7432 (ohci_mod_SOURCES): New variable.
7433 (ohci_mod_CFLAGS): New variable.
7434 (ohci_mod_LDFLAGS): New variable.
7435 (usbms_mod_SOURCES): New variable.
7436 (usbms_mod_CFLAGS): New variable.
7437 (usbms_mod_LDFLAGS): New variable.
7438 (usb_keyboard_mod_SOURCES): New variable.
7439 (usb_keyboard_mod_CFLAGS): New variable.
7440 (usb_keyboard_mod_LDFLAGS): New variable.
7441 * include/grub/smbus.h: New file.
7442 * include/grub/cs5536.h: New file.
7443
7444 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7445
7446 * util/grub.d/00_header.in: Add safety check to make sure that
7447 ${locale_dir} exists before trying to probe it.
7448
7449 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7450
7451 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
7452 per the GNU Coding Standards; this is now too obscure to be worth
7453 documenting.
7454 (QNX): Likewise.
7455 (chainloader): Remove cross-reference to `SCO UnixWare'.
7456
7457 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7458
7459 * docs/grub.texi (Chain-loading): New section.
7460 (DOS/Windows): New section, borrowed from GRUB Legacy with details
7461 adjusted for GRUB 2.
7462 (SCO UnixWare): Likewise.
7463 (QNX): Likewise.
7464 (chainloader): Add reference to `Block list syntax'.
7465 (drivemap): New section.
7466 (parttool): New section.
7467
7468 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7469
7470 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
7471 the grub shell'.
7472 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
7473 (Installing GRUB using grub-install): Remove reference to the grub
7474 shell; mention `grub-mkimage' and `grub-setup' instead.
7475 (Invoking grub-install): Likewise.
7476 (Interface): Add reference to `Menu entry editor'.
7477 (serial): Remove `--device' option.
7478
7479 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7480
7481 * docs/grub.texi (Configuration): New section, documenting
7482 configuration file generation using grub-mkconfig. I've left a slot
7483 for documenting the full shell scripting format but have not yet
7484 started on writing that up.
7485 (Invoking grub-mkconfig): New section.
7486
7487 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7488
7489 * docs/grub.texi (direntry): Remove grub-terminfo reference.
7490 (GNU GRUB manual): Likewise.
7491 (General commands): Update description of `terminfo' for GRUB 2.
7492
7493 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7494
7495 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
7496 (GRUB_MOD_INIT): Fix capitalisation.
7497 * docs/grub.texi (Command-line and menu entry commands): Document
7498 gettext and gptsync commands.
7499
7500 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7501
7502 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
7503 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
7504
7505 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
7506
7507 Add btrfs probing support, currently only in the single-device case.
7508
7509 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
7510 function.
7511 (grub_guess_root_device): Call find_root_device_from_mountinfo
7512 before looking in /dev.
7513
7514 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
7517 GRUB_DISK_SIZE_UNKNOWN.
7518 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
7519
7520 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
7521
7522 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
7523 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
7524 corrupted or not synced properly.
7525
7526 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7527
7528 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
7529 Reported by: Seth Goldberg.
7530
7531 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
7534 addition of dest.
7535 Reported by: Seth Goldberg.
7536
7537 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
7540 Reported by: Seth Goldberg.
7541
7542 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
7545 64-bit address as signed on MIPS.
7546
7547 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
7548
7549 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
7550 to the empty string.
7551
7552 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
7553
7554 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
7555
7556 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
7557 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
7558 * kern/misc.c (__enable_execute_stack): Disable on
7559 GRUB_MACHINE_EMU.
7560
7561 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
7562
7563 Make grub-probe work with symbolic links under /dev/mapper as well
7564 as with real block devices. The Linux world seems to be (at best)
7565 in transition here, and GRUB shouldn't get caught in the middle.
7566
7567 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
7568 /dev/mapper.
7569
7570 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
7571
7572 * util/grub-script-check.c (main): Ensure defined behaviour on empty
7573 input files (in which case exit zero).
7574
7575 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
7576
7577 * kern/emu/misc.c (canonicalize_file_name): realpath can still
7578 return NULL for various reasons even if it has a maximum-length
7579 buffer: for example, there might be a symlink loop, or the path
7580 might exceed PATH_MAX. If this happens, return NULL.
7581
7582 2010-05-27 Robert Millan <rmh@gnu.org>
7583
7584 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
7585 partmap module to handle cross-partmap setups.
7586 Reported by Orestes Mas. Gràcies!
7587
7588 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
7589
7590 * util/grub-mkrescue.in: Initialise override_dir rather than
7591 assuming that it's unset or empty in the environment.
7592
7593 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
7594
7595 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
7596 variable index into p_index to suppress a warning with -Wshadow.
7597
7598 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
7599
7600 * INSTALL: Added flex >= 2.5.35 requirement.
7601
7602 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
7605
7606 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 cmostest support.
7609
7610 * commands/i386/cmostest.c: New file.
7611 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
7612 (cmostest_mod_SOURCES): New variable.
7613 (cmostest_mod_CFLAGS): Likewise.
7614 (cmostest_mod_LDFLAGS): Likewise.
7615 * conf/i386-pc.rmk: Likewise.
7616 * docs/grub.texi (Vendor power-on keys): New section.
7617 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
7618 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
7619 and GRUB_BUTTON_CMOS_ADDRESS.
7620 * util/grub.d/00_header.in: Handle powering-on by separate button.
7621
7622 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
7625 Removed drawing_scrollbar argument. All users updated
7626 Fixes #29792.
7627 Reported by Jo Shields
7628
7629 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
7632 buffer since gfxterm handles double repaint.
7633
7634 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
7637 * term/gfxterm.c (real_scroll): Likewise.
7638
7639 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
7642 before calling BIOS.
7643
7644 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7645
7646 * include/grub/i18n.h: Always enable grub_gettext.
7647
7648 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
7651 partition naming style.
7652
7653 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
7654
7655 * util/grub-mkconfig.in: Fix handling of -o so that it works when
7656 not the first option.
7657
7658 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
7659
7660 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
7661
7662 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
7663
7664 * util/misc.c: Move inclusion of <limits.h> to ...
7665 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
7666
7667 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
7668
7669 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
7670 Fix merge error in NetBSD code.
7671 (find_partition_start) [__NetBSD__]: Likewise.
7672
7673 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
7674
7675 Fix grub-mkrescue usage unit testing.
7676
7677 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
7678
7679 2010-05-18 Christian Franke <franke@computer.org>
7680
7681 * util/grub.d/10_windows.in: Use path names instead of
7682 drive letters to prevent warning from Cygwin 1.7.
7683 Add drivemap command to menuentry if needed.
7684
7685 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
7686
7687 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
7688 gnumach and gnumach.gz.
7689
7690 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * include/grub/i18n.h (gettext): Inline instead of using #define.
7693 (grub_gettext): Likewise.
7694 (_): Likewise.
7695
7696 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
7699 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
7700 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
7701 (main): Add a slash after pkglibdirroot.
7702
7703 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * util/grub-install.in: Add missing "in" keyword.
7706
7707 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
7710 Reported by: Seth Goldberg.
7711
7712 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7713
7714 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
7715
7716 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
7717
7718 * configure.ac: Check for Linux device-mapper support.
7719
7720 * util/hostdisk.c (device_is_mapped): New function.
7721 (find_partition_start): New function, partly broken out from
7722 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
7723 device-mapper support added.
7724 (linux_find_partition): Use find_partition_start.
7725 (convert_system_partition_to_system_disk): Add `st' argument.
7726 Support Linux /dev/mapper/* devices if device-mapper support is
7727 available; only DM-RAID devices are understood at present.
7728 (find_system_device): Add `st' argument. Pass it to
7729 convert_system_partition_to_system_disk.
7730 (grub_util_biosdisk_get_grub_dev): Pass stat result to
7731 find_system_device and convert_system_partition_to_system_disk. Use
7732 find_partition_start.
7733
7734 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
7735 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
7736 * util/deviceiter.c [__linux__]: Define MINOR.
7737 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
7738 * util/mkdevicemap.c (grub_putchar): New function.
7739 (grub_getkey): New function.
7740 (grub_refresh): New function.
7741 (main): Set debug=all if -v -v is used.
7742
7743 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
7744
7745 Fix build with non-GNU libcs.
7746
7747 * util/misc.c (canonicalize_file_name): Move to ...
7748 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
7749 grub_make_system_path_relative_to_its_root.
7750
7751 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
7752
7753 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
7754 we handle finding grub-mkimage. Default to finding grub-mkimage in
7755 ${bindir} with program_transform_name applied, and provide a
7756 --grub-mkimage option to override this.
7757
7758 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 Remove grub-mkisofs.
7761
7762 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
7763 (grub_mkisofs_SOURCES): Removed.
7764 (grub_mkisofs_CFLAGS): Removed.
7765 * util/mkisofs/defaults.h: Removed.
7766 * util/mkisofs/eltorito.c: Likewise.
7767 * util/mkisofs/exclude.h: Likewise.
7768 * util/mkisofs/hash.c: Likewise.
7769 * util/mkisofs/include/: Likewise.
7770 * util/mkisofs/include/fctldefs.h: Likewise.
7771 * util/mkisofs/include/mconfig.h: Likewise.
7772 * util/mkisofs/include/prototyp.h: Likewise.
7773 * util/mkisofs/include/statdefs.h: Likewise.
7774 * util/mkisofs/iso9660.h: Likewise.
7775 * util/mkisofs/joliet.c: Likewise.
7776 * util/mkisofs/match.c: Likewise.
7777 * util/mkisofs/match.h: Likewise.
7778 * util/mkisofs/mkisofs.c: Likewise.
7779 * util/mkisofs/mkisofs.h: Likewise.
7780 * util/mkisofs/msdos_partition.h: Likewise.
7781 * util/mkisofs/multi.c: Likewise.
7782 * util/mkisofs/name.c: Likewise.
7783 * util/mkisofs/rock.c: Likewise.
7784 * util/mkisofs/tree.c: Likewise.
7785 * util/mkisofs/write.c: Likewise.
7786
7787 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 Unify grub-mkimage accross platforms.
7790
7791 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
7792 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
7793 (grub_mkelfimage_SOURCES): Removed.
7794 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
7795 (util/grub-mkimage.c_DEPENDENCIES): .. this.
7796 (bin_UTILITIES): Add grub-mkimage.
7797 (grub_mkimage_SOURCES): New variable.
7798 (kernel_img_HEADERS): Remove machine/kernel.h.
7799 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
7800 (pkglib_PROGRAMS): Add kernel.img.
7801 (kernel_img_HEADERS): Add machine/kernel.h.
7802 (kernel_img_FORMAT): Removed.
7803 (bin_UTILITIES): Remove grub-mkimage.
7804 (grub_mkimage_SOURCES): Removed.
7805 (grub_mkimage_CFLAGS): Likewise.
7806 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7807 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
7808 (pkglib_PROGRAMS): Add kernel.img.
7809 (bin_UTILITIES): Remove grub-mkimage.
7810 (grub_mkimage_SOURCES): Removed.
7811 (grub_mkimage_CFLAGS): Likewise.
7812 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7813 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
7814 (pkglib_PROGRAMS): Add kernel.img.
7815 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
7816 (pkglib_PROGRAMS): Add kernel.img.
7817 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
7818 (grub_mkimage_SOURCES): Removed.
7819 (grub_mkimage_CFLAGS): Likewise.
7820 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7821 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
7822 (pkglib_PROGRAMS): Add kernel.img.
7823 (bin_UTILITIES): Remove grub-mkimage.
7824 (grub_mkimage_SOURCES): Removed.
7825 (grub_mkimage_CFLAGS): Likewise.
7826 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7827 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
7828 (grub_mkimage_SOURCES): Removed.
7829 (grub_mkimage_CFLAGS): Likewise.
7830 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7831 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
7832 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
7833 (grub_pe32_optional_header): ... this.
7834 (grub_pe64_optional_header): ... and this. All users updated.
7835 (GRUB_PE32_PE32_MAGIC): Split into ..
7836 (GRUB_PE32_PE32_MAGIC): .. this.
7837 (GRUB_PE32_PE64_MAGIC): .. and this.
7838 (GRUB_PE32_SIGNATURE_SIZE): New definition.
7839 * include/grub/elf.h (PT_GNU_STACK): New definition.
7840 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
7841 * include/grub/i386/efi/kernel.h: Likewise.
7842 * include/grub/i386/kernel.h: Likewise.
7843 * include/grub/i386/pc/kernel.h: Likewise.
7844 * include/grub/i386/qemu/boot.h: Likewise.
7845 * include/grub/mips/kernel.h: Likewise.
7846 * include/grub/mips/qemu-mips/kernel.h: Likewise.
7847 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7848 * include/grub/powerpc/kernel.h: Likewise.
7849 * include/grub/sparc64/ieee1275/boot.h: Likewise.
7850 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7851 * include/grub/sparc64/kernel.h: Likewise.
7852 * include/grub/x86_64/efi/kernel.h: Likewise.
7853 * include/grub/x86_64/kernel.h: Likewise.
7854 * include/grub/offsets.h: New file.
7855 * include/grub/kernel.h (grub_module_info): Split into ...
7856 (grub_module_info32): ... this.
7857 (grub_module_info64): ... and this.
7858 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
7859 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
7860 (grub_boot_blocklist): Moved from here ...
7861 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
7862 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
7863 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
7864 * include/grub/types.h (grub_target_to_host16): Removed.
7865 (grub_target_to_host32): Likewise.
7866 (grub_target_to_host64): Likewise.
7867 (grub_host_to_target16): Likewise.
7868 (grub_host_to_target32): Likewise.
7869 (grub_host_to_target64): Likewise.
7870 (grub_host_to_target_addr): Likewise.
7871
7872 Support grub-mkrescue for efi, coreboot and qemu.
7873
7874 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
7875 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
7876 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
7877 * util/grub-mkrawimage.c: Moved from here ...
7878 * util/grub-mkimage.c: ... here. All users updated.
7879 (ALIGN_ADDR): Use image_target.
7880 (TARGET_NO_FIELD): New const.
7881 (image_target_desc): New type.
7882 (image_targets): New array.
7883 (grub_target_to_host64): Use image_target.
7884 (grub_target_to_host32): Likewise.
7885 (grub_target_to_host16): Likewise.
7886 (grub_host_to_target64): Likewise.
7887 (grub_host_to_target32): Likewise.
7888 (grub_host_to_target16): Likewise.
7889 (grub_host_to_target_addr): Likewise.
7890 (generate_image): Handle multiimage.
7891 (main): Require -O parameter. All users updated.
7892 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
7893 util/efi/grub-mkimage.c
7894 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
7895 New option --rom-directory.
7896 Use xorriso.
7897 * util/i386/efi/grub-mkimage.c: Removed.
7898 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
7899 (grub_target_to_host32): Likewise.
7900 (grub_target_to_host64): Likewise.
7901 (grub_host_to_target16): Likewise.
7902 (grub_host_to_target32): Likewise.
7903 (grub_host_to_target64): Likewise.
7904 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
7905 (grub_target_to_host32): Likewise.
7906 (grub_target_to_host64): Likewise.
7907 (grub_host_to_target16): Likewise.
7908 (grub_host_to_target32): Likewise.
7909 (grub_host_to_target64): Likewise.
7910
7911 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
7912
7913 Source tree is reorganized for emu build.
7914
7915 * include/grub/util/console.h: Move from here...
7916 * include/grub/emu/console.h: ...to here.
7917 * include/grub/util/getroot.h: Move from here...
7918 * include/grub/emu/getroot.h: ...to here.
7919 * include/grub/util/hostdisk.h: Move from here...
7920 * include/grub/emu/hostdisk.h: ...to here.
7921 * util/console.c: Move from here...
7922 * kern/emu/console.c: ...to here.
7923 * util/getroot.c: Move from here...
7924 * kern/emu/getroot.c: ...to here.
7925 * util/grub-emu.c: Move from here...
7926 * kern/emu/main.c: ...to here.
7927 * util/hostdisk.c: Move from here...
7928 * kern/emu/hostdisk.c: ...to here.
7929 * util/hostfs.c: Move from here...
7930 * kern/emu/hostfs.c: ...to here.
7931 * util/mm.c: Move from here...
7932 * kern/emu/mm.c: ...to here.
7933 * util/pci.c: Move from here...
7934 * bus/emu/pci.c: ...to here.
7935 * util/sdl.c: Move from here...
7936 * video/emu/sdl.c: ...to here.
7937 * util/time.c: Move from here...
7938 * kern/emu/time.c: ...to here.
7939 * util/usb.c: Move from here...
7940 * bus/usb/emu/usb.c: ...to here.
7941
7942 * include/grub/emu/misc.h: New header for grub-emu functions.
7943 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
7944
7945 * conf/any-emu.rmk: Rule updates for above renames.
7946 * conf/common.rmk: Likewise.
7947 * conf/i386-pc.rmk: Likewise.
7948 * conf/i386-qemu.rmk: Likewise.
7949 * conf/mips.rmk: Likewise.
7950 * conf/sparc64-ieee1275.rmk: Likewise.
7951 * conf/x86-efi.rmk: Likewise.
7952
7953 * disk/lvm.h: #include updates for above renames.
7954 * util/grub-mkrelpath.c: Likewise.
7955 * util/grub-probe.c: Likewise.
7956 * util/i386/pc/grub-setup.c: Likewise.
7957 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7958 * kern/emu/console.c: Likewise.
7959 * kern/emu/getroot.c: Likewise.
7960 * kern/emu/hostdisk.c: Likewise.
7961 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
7962
7963 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
7964 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
7965 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
7966 * util/misc.c: Remove grub-emu functions.
7967
7968 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 Fix gfxmenu crash.
7971 Reported by: Thorsten Grützmacher.
7972
7973 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
7974 timeout hook.
7975 (circprog_set_property): Register and unregister timeout hook.
7976 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
7977 (label_destroy): Free template. and unregister hook.
7978 (label_set_state): New function.
7979 (label_set_property): Handle templates and hooks.
7980 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
7981 timeout hook.
7982 (progress_bar_set_property): Register and unregister timeout hook.
7983 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
7984 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
7985 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
7986 (update_timeout_visit): Removed.
7987 (update_timeouts): New function.
7988 (redraw_timeouts): Likewise.
7989 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
7990 (grub_gfxmenu_clear_timeout): Likewise.
7991 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
7992 (grub_gfxmenu_timeout_notify): Likewise.
7993 (grub_gfxmenu_timeout_notifications): New external variable.
7994 (grub_gfxmenu_timeout_register): New function.
7995 (grub_gfxmenu_timeout_unregister): Likewise.
7996
7997 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7998
7999 Transform (broken) vga terminal into (working) vga video driver.
8000
8001 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
8002 video/i386/pc/vga.c.
8003 * include/grub/video.h (grub_video_driver_id):
8004 Add GRUB_VIDEO_DRIVER_VGA.
8005 * term/i386/pc/vga.c: Renamed to ...
8006 * video/i386/pc/vga.c: ...this
8007 (DEBUG_VGA): Removed.
8008 (CHAR_WIDTH): Likewise.
8009 (CHAR_HEIGHT): Likewise.
8010 (TEXT_WIDTH): Likewise.
8011 (TEXT_HEIGHT): Likewise.
8012 (DEFAULT_FG_COLOR): Likewise.
8013 (DEFAULT_BG_COLOR): Likewise.
8014 (colored_char): Likewise.
8015 (xpos): Likewise.
8016 (ypos): Likewise.
8017 (cursor_state): Likewise.
8018 (fg_color): Likewise.
8019 (bg_color): Likewise.
8020 (text_buf): Likewise.
8021 (page): Likewise.
8022 (font): Likewise.
8023 (framebuffer): New variable.
8024 (set_read_map): Disabled.
8025 (setup): New variable.
8026 (is_target): Likewise.
8027 (grub_vga_mod_init): Likewise.
8028 (grub_vga_mod_fini): Likewise.
8029 (check_vga_mem): Likewise.
8030 (write_char): Likewise.
8031 (write_cursor): Likewise.
8032 (scroll_up): Likewise.
8033 (grub_vga_putchar): Likewise.
8034 (grub_vga_getcharwidth): Likewise.
8035 (grub_vga_getwh): Likewise.
8036 (grub_vga_getxy): Likewise.
8037 (grub_vga_gotoxy): Likewise.
8038 (grub_vga_cls): Likewise.
8039 (grub_vga_setcolorstate): Likewise.
8040 (grub_vga_setcursor): Likewise.
8041 (grub_video_vga_init): New function.
8042 (grub_video_vga_setup): Likewise.
8043 (grub_video_vga_fini): Likewise.
8044 (update_target): Likewise.
8045 (grub_video_vga_blit_bitmap): Likewise.
8046 (grub_video_vga_blit_render_target): Likewise.
8047 (grub_video_vga_set_active_render_target): Likewise.
8048 (grub_video_vga_get_active_render_target): Likewise.
8049 (grub_video_vga_swap_buffers): Likewise.
8050 (grub_video_vga_set_palette): Likewise.
8051 (grub_video_vga_get_info_and_fini): Likewise.
8052 (grub_vga_term): Removed.
8053 (grub_video_vga_adapter): New variable.
8054 (GRUB_MOD_INIT): Register a video driver instead of terminal.
8055 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
8056
8057 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 * video/readers/jpeg.c: Indented.
8060
8061 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 Various jpeg cleanups.
8064
8065 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
8066 (grub_jpeg_decode_quan_table): Use sizeof.
8067 (grub_jpeg_decode_du): Use ARRAY_SIZE.
8068
8069 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
8070
8071 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
8072 tables. Ignore non-last ac bit.
8073 (grub_jpeg_decode_quan_table): Likewise.
8074
8075 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8078 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
8079 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8080 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
8081 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
8082 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
8083
8084 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
8087 error.
8088
8089 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
8092
8093 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
8096 condition.
8097
8098 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
8101 part.
8102
8103 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
8106 pointers.
8107
8108 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
8111
8112 2010-05-01 Christian Franke <franke@computer.org>
8113
8114 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
8115 Remove broken Cygwin path conversion.
8116 * util/misc.c: [__CYGWIN__] Add include and define.
8117 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
8118 for Cygwin 1.7.
8119 (make_system_path_relative_to_its_root): Simplify loop, replace early
8120 return by break.
8121 [__CYGWIN__] Add conversion to win32 path.
8122 Include "/" case in trailing slash removal.
8123
8124 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * kern/main.c (grub_load_config): Fix copy-pasted comment.
8127 Reported by: Seth Goldberg
8128
8129 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 * commands/help.c (grub_cmd_help): Fix a typo.
8132 Reported by: Seth Goldberg
8133
8134 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
8137 name and add N_.
8138 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
8139 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
8140 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
8141 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
8142 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
8143 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
8144 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8145 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8146 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8147 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8148 * normal/context.c (GRUB_MOD_INIT): Likewise.
8149 * normal/main.c (GRUB_MOD_INIT): Likewise.
8150 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8151 * term/serial.c (GRUB_MOD_INIT): Likewise.
8152 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8153
8154 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
8157 extra == 0.
8158
8159 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * commands/iorw.c: New file.
8162 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
8163 (iorw_mod_SOURCES): New variable.
8164 (iorw_mod_CFLAGS): Likewise.
8165 (iorw_mod_LDFLAGS): Likewise.
8166
8167 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 Hotkey support
8170
8171 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
8172 * normal/main.c (hotkey_aliases): New variable.
8173 (grub_normal_add_menu_entry): Parse "--hotkey".
8174 * normal/menu_text.c (run_menu): Handle hotkeys.
8175
8176 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * kern/i386/coreboot/init.c (grub_machine_init): Call
8179 grub_machine_mmap_init on qemu.
8180
8181 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * boot/i386/qemu/boot.S: Add a missing .code16.
8184
8185 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 Use LBIO on coreboot.
8188
8189 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
8190 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
8191 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
8192 New declaration.
8193 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
8194 grub_machine_mmap_init on coreboot.
8195 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
8196 GRUB_LINUXBIOS_MEMBER_LINK.
8197 (grub_machine_mmap_iterate): Fix declaration.
8198 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
8199
8200 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 Split coreboot and multiboot ports.
8203
8204 * conf/i386-multiboot.rmk: New file.
8205 * configure.ac: Add multiboot port.
8206 * include/grub/i386/multiboot/boot.h: New file.
8207 * include/grub/i386/multiboot/console.h: Likewise.
8208 * include/grub/i386/multiboot/init.h: Likewise.
8209 * include/grub/i386/multiboot/kernel.h: Likewise.
8210 * include/grub/i386/multiboot/loader.h: Likewise.
8211 * include/grub/i386/multiboot/memory.h: Likewise.
8212 * include/grub/i386/multiboot/serial.h: Likewise.
8213 * include/grub/i386/multiboot/time.h: Likewise.
8214 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
8215 * loader/multiboot.c: Likewise.
8216 * loader/multiboot_mbi2.c: Likewise.
8217 * util/grub-mkrescue.in: Generate multiboot rescue.
8218
8219 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8220
8221 * kern/parser.c (grub_parser_execute): Cope with read-only config.
8222
8223 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 Merge handling of input and output terminals. Fix a hang.
8226
8227 * commands/terminal.c (abstract_terminal): New struct.
8228 (handle_command): New function. Based on grub_cmd_terminal_input.
8229 (grub_cmd_terminal_input): Use handle_command.
8230 (grub_cmd_terminal_output): Use handle_command.
8231
8232 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
8233
8234 Fix comment handling.
8235
8236 * tests/grub_script_comments.in: New testcase.
8237 * conf/tests.rmk: Rules for new testcase.
8238 * script/yylex.l: Updated flex rules.
8239
8240 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
8241
8242 * docs/grub.texi (play): Document that zero pitches produce rests.
8243 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
8244 if argc is 1.
8245
8246 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8247
8248 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8249 autogen issues.
8250
8251 2010-04-26 Christian Franke <franke@computer.org>
8252
8253 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
8254 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
8255 (grub_get_prefix): Remove function.
8256 * util/grub-emu.c (main): Replace grub_get_prefix () call by
8257 make_system_path_relative_to_its_root ().
8258 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8259
8260 2010-04-24 Christian Franke <franke@computer.org>
8261
8262 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
8263 (kernel_img_LDFLAGS): Remove -static-libgcc.
8264
8265 2010-04-24 Christian Franke <franke@computer.org>
8266
8267 * configure.ac: Do not CHECK_BSS_START_SYMBOL
8268 and CHECK_END_SYMBOL if grub-emu is built.
8269 Unset TARGET_OBJ2ELF if grub-emu is built
8270 without module support.
8271
8272 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
8273
8274 Nilfs2 support.
8275
8276 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
8277 (grub_fstest_SOURCES): Likewise.
8278 (pkglib_MODULES): Add nilfs2.mod.
8279 (nilfs2_mod_SOURCES): New variable.
8280 (nilfs2_mod_CFLAGS): Likewise.
8281 (nilfs2_mod_LDFLAGS): Likewise.
8282 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8283 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8284 * fs/nilfs2.c: New file.
8285
8286 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8287
8288 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
8289 is not supported.
8290
8291 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
8292
8293 Add grub-mkconfig support for NetBSD.
8294
8295 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
8296 * util/grub-mkconfig.in: export new NetBSD specific variables.
8297 * po/POTFILES-shell: added 10_netbsd.in.
8298 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
8299
8300 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
8301
8302 Fix emu build with grub-emu-pci and grub-emu-modules.
8303
8304 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
8305 functions.
8306 * include/grub/libpciaccess.h: New file.
8307 * conf/any-emu.rmk: Update kernel headers for emu build.
8308
8309 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
8312
8313 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
8316
8317 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
8320 Retrieve chosen/bootpath if bootpath isn't hardcoded.
8321 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
8322 util/ieee1275/ofpath.c.
8323 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
8324 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
8325 * include/grub/sparc64/ieee1275/boot.h
8326 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
8327 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
8328 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
8329 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
8330 const char *.
8331 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
8332 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
8333 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
8334 install.
8335
8336 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8337
8338 * util/grub-mkconfig.in: Corrected two == equality tests.
8339 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
8340 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
8341 expect a number appended to it.
8342 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
8343 expects a number appended to it.
8344
8345 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8346
8347 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
8348
8349 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 * util/hostdisk.c (make_device_name): Change to new partition naming.
8352
8353 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
8356
8357 2010-04-17 Christian Franke <franke@computer.org>
8358
8359 * Makefile.in: Add missing localedir setting.
8360
8361 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
8362
8363 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
8364 mistake in r2156. Noticed by Anthony Fok.
8365
8366 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
8367 @localedir@.
8368 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8369
8370 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
8371
8372 Fix a spurious, uninitialized variable warning.
8373
8374 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
8375 Initialize variable, shdr.
8376 (grub_freebsd_load_elfmodule): Likewise.
8377 (grub_freebsd_load_elf_meta): Likewise.
8378
8379 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
8380
8381 Fix for escaped dollar in double quoted strings.
8382
8383 * script/yylex.l: Updated flex rules.
8384 * conf/tests.rmk: Rule for new testcase.
8385 * tests/grub_script_dollar.in: New testcase.
8386
8387 2010-04-13 Carles Pina i Estany <carles@pina.cat>
8388 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
8389
8390 Enclose all translated strings in grub.cfg in single quotes, and
8391 escape them appropriately (Ubuntu bug #552921).
8392
8393 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
8394 * util/grub.d/10_hurd.in: Use it.
8395 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8396 * util/grub.d/10_linux.in (linux_entry): Likewise.
8397
8398 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 Fix cygwin compilation.
8401
8402 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
8403 * include/grub/misc.h (__register_frame_info)
8404 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
8405 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8406 * kern/misc.c (__register_frame_info)
8407 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
8408 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8409
8410 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8411
8412 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
8413
8414 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8415
8416 Unify libgcc processing.
8417
8418 * Makefile.in (kernel_img_LDFLAGS): New variable.
8419 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
8420 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
8421 overwriting.
8422 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
8423 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
8424 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
8425 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
8426 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
8427 overwriting. Remove -lgcc and -static-libgcc
8428 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
8429 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8430 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8431 (kernel_img_LDFLAGS): Append instead of overwriting.
8432 Remove -lgcc and -static-libgcc
8433 * conf/sparc64-ieee1275.rmk: Likewise.
8434 * include/grub/powerpc/libgcc.h: Move to ...
8435 * include/grub/libgcc.h: .. this.
8436 * include/grub/libgcc.h: Don't export most of the function on x86.
8437 (__bswapsi2): New export.
8438 (__bswapdi2): Likewise.
8439 * include/grub/mips/libgcc.h: Removed.
8440 * include/grub/sparc64/libgcc.h: Likewise.
8441
8442 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8443
8444 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
8445 disk_info_msg (conflicts with gettexting into languages with cases).
8446
8447 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8448
8449 Add grub-probe support for NetBSD.
8450
8451 * util/getroot.c (find_root_device): Convert block device to
8452 character device on NetBSD.
8453 * util/probe.c (probe): Require character device on NetBSD.
8454 * util/hostdisk.c: NetBSD specific headers.
8455 (configure_device_driver): new function to tune device driver
8456 parameters (currently only for NetBSD floppy driver).
8457 (grub_util_biosdisk_open): NetBSD specific code (get disk size
8458 via disklabel ioctl).
8459 (open_device): call configure_device_driver on NetBSD.
8460 (convert_system_partition_to_system_disk): NetBSD specific code.
8461 (device_is_wholedisk): Likewise.
8462 (grub_util_biosdisk_get_grub_dev): Likewise.
8463 (make_device_name): Fixed a typo in bsd_part_str.
8464 * configure.ac: check for opendisk() and getrawpartition() on
8465 NetBSD and set LIBUTIL.
8466 * Makefile.in: add LIBUTIL to LIBS.
8467
8468 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8469
8470 Documentation fix.
8471
8472 * util/grub-script-check.c: Better help message.
8473
8474 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8475
8476 Fix FreeBSD build.
8477
8478 * configure.ac: Flex version check.
8479 * conf/common.rmk: Add -Wno-error to sh.mod.
8480 * script/yylex.l: Remove all #pragma.
8481
8482 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8483
8484 * include/grub/util/misc.h (canonicalise_file_name): Add missing
8485 prototype.
8486 Reported by: Seth Goldberg.
8487
8488 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8489
8490 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
8491 Rename "module" to "module2".
8492 Reported by: Seth Goldberg.
8493
8494 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
8497 EXPORT_FUNC.
8498 Reported by: Seth Goldberg.
8499
8500 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 * lib/posix_wrap/locale.h: Add missing file.
8503 Reported by: Seth Goldberg.
8504
8505 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 grub-emu module load support.
8508
8509 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
8510 NO_DYNAMIC_MODULES switched to this.
8511 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
8512 (CFLAGS): Likewise.
8513 * conf/any-emu.rmk: Generate symlist.
8514 (kernel_img_HEADERS): Add util/datetime.h.
8515 (kernel_img_HEADERS) [sdl]: Add sdl.h.
8516 (kernel_img_HEADERS) [libusb]: Add libusb.h.
8517 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
8518 kern/$(target_cpu)/cache.S.
8519 * configure.ac (grub-emu-modules): New option.
8520 * genmk.rb: Handle multiple source lists.
8521 * include/grub/sdl.h: New file.
8522 * include/grub/libusb.h: Likewise.
8523 * util/grub-emu.c (main): Hanle (host) root.
8524 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
8525 GRUB_ERR_UNKNOWN_DEVICE.
8526 * util/misc.c: Move mm functions to ...
8527 * util/mm.c: ... here. All users updated.
8528
8529 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
8532 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
8533 missing files.
8534 (maintainer-clean): Remove libgcrypt-grub.
8535
8536 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
8539
8540 2010-04-09 EFI Coder <eficoder@hotmail.com>
8541
8542 * normal/menu_text.c (print_message): Clean up the message and show
8543 the Fn information when on EFI
8544 * term/efi/console.c (grub_console_checkkey): Add F4 support.
8545
8546 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
8549 All users updated.
8550 * normal/crypto.c (read_crypto_list): Likewise.
8551 * normal/dyncmd.c (read_command_list): Likewise.
8552 * normal/term.c (read_terminal_list): Likewise.
8553 * normal/main.c (read_lists): Use explicit prefix.
8554 (read_lists_hook): Use read_lists.
8555 (grub_normal_execute): Likewise.
8556
8557 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
8560 Reported by: Thomas Schmitt.
8561 Add -no-emul-boot to grub-mkisofs parameters.
8562
8563 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 * font/font.c: Indented.
8566
8567 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
8568
8569 Elif support to GRUB script (by Deepak Vankadaru).
8570
8571 * tests/grub_script_if.in: New testcase.
8572 * conf/tests.rmk: Rule for new testcase.
8573 * script/parser.y: Grammar rules for elif.
8574
8575 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
8576
8577 While and until loops support to GRUB script.
8578
8579 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
8580 (grub_script_create_cmdwhile): New function prototype.
8581 (grub_script_execute_cmdwhile): New function prototype.
8582 * script/execute.c (grub_script_execute_cmdwhile): New function.
8583 * script/parser.y (command): New commands.
8584 (whilecmd): New grammar rule.
8585 (untilcmd): New grammar rule.
8586 * script/script.c (grub_script_create_cmdwhile): New function.
8587 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
8588 function.
8589
8590 * tests/grub_script_while1.in: New testcase.
8591 * conf/tests.rmk: Rule for new testcase.
8592
8593 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8594
8595 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
8596 as *.jpg.
8597
8598 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
8599
8600 GRUB_BACKGROUND support.
8601
8602 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
8603 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
8604
8605 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 Load fonts and modules for gfxmenu in grub-mkconfig.
8608 Idea by: Mario Vazquez
8609
8610 * util/grub.d/00_header.in: Load pf2 and image modules.
8611
8612 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 grub-mkconfig multiple terminal support.
8615
8616 * util/grub-mkconfig.in: Handle multiple terminals correctly.
8617 * util/grub.d/00_header.in: Likewise.
8618
8619 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 * Makefile.in: Specify files explicitly instead of using $< and $@ since
8622 we use cd $(srcdir).
8623
8624 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
8625
8626 * util/grub.d/10_linux.in: Only use the first word of
8627 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
8628 spaces in GRUB_DISTRIBUTOR.
8629 * util/grub.d/10_kfreebsd.in: Likewise.
8630 * util/grub.d/10_hurd.in: Likewise.
8631
8632 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
8633
8634 Fix unit testing framework for Qemu 0.12.
8635
8636 * tests/util/grub-shell.in: Remove -serial stdio option.
8637
8638 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 POSIX header file wrappers.
8641
8642 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
8643 equivalents.
8644 * lib/posix_wrap/ctype.h: Likewise.
8645 * lib/posix_wrap/errno.h: Likewise.
8646 * lib/posix_wrap/langinfo.h: Likewise.
8647 * lib/posix_wrap/limits.h: Likewise.
8648 * lib/posix_wrap/localcharset.h: Likewise.
8649 * lib/posix_wrap/stdint.h: Likewise.
8650 * lib/posix_wrap/stdio.h: Likewise.
8651 * lib/posix_wrap/stdlib.h: Likewise.
8652 * lib/posix_wrap/string.h: Likewise.
8653 * lib/posix_wrap/sys/types.h: Likewise.
8654 * lib/posix_wrap/unistd.h: Likewise.
8655 * lib/posix_wrap/wchar.h: Likewise.
8656 * lib/posix_wrap/wctype.h: Likewise.
8657 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
8658 (grub_script.yy.h): Likewise.
8659 * script/yylex.l: Remove POSIX emulation #defines.
8660 * Makefile.in (POSIX_CFLAGS): New variable.
8661 (GNULIB_UTIL_CFLAGS): Likewise.
8662
8663 Regexp support.
8664
8665 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
8666 (regexp_mod_SOURCES): New variable.
8667 (regexp_mod_CFLAGS): Likewise.
8668 (regexp_mod_LDFLAGS): Likewise.
8669 * commands/regexp.c: New file.
8670 * gnulib/regcomp.c: New file. Imported from gnulib.
8671 * gnulib/regex.c: Likewise.
8672 * gnulib/regex_internal.c: Likewise.
8673 * gnulib/regex_internal.h: Likewise.
8674 * gnulib/regexec.c: Likewise.
8675 * gnulib/regex.h: Likewise.
8676
8677 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
8680 unsupported video mode types.
8681
8682 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
8685
8686 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
8689 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
8690
8691 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 Remove unused grub_vga_get_font.
8694
8695 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
8696 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
8697
8698 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8699
8700 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
8701 * include/grub/misc.h: Likewise.
8702
8703 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8704
8705 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
8706 for which failure is fatal.
8707
8708 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8709
8710 * util/grub-install.in: Use mkdir -p to create grub directory.
8711 * util/i386/efi/grub-install.in: Likewise.
8712 * util/ieee1275/grub-install.in: Likewise.
8713
8714 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8715
8716 * Makefile.in (LEX): new variable.
8717
8718 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8719
8720 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
8721 `=' and added double quotes on operands of this equality test.
8722
8723 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 * Makefile.in (uninstall): Remove a leftover debug echo.
8726 Reported by: Grégoire Sutre
8727
8728 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 MIPS multiboot2 support.
8731
8732 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
8733 (multiboot2_mod_SOURCES): New variable.
8734 (multiboot2_mod_CFLAGS): Likewise.
8735 (multiboot2_mod_LDFLAGS): Likewise.
8736 (multiboot2_mod_ASFLAGS): Likewise.
8737 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
8738 definition.
8739 (MULTIBOOT_ENTRY_REGISTER): Likewise.
8740 (MULTIBOOT_MBI_REGISTER): Likewise.
8741 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
8742 (MULTIBOOT_ELF32_MACHINE): Likewise.
8743 (MULTIBOOT_ELF64_MACHINE): Likewise.
8744 * include/grub/mips/multiboot.h: New file.
8745 * include/grub/video.h (grub_video_driver_id): New type
8746 GRUB_VIDEO_DRIVER_SM712.
8747 (grub_video_get_info_and_fini): Export.
8748 (grub_video_get_palette): Likewise.
8749 (grub_video_get_driver_id): Likewise.
8750 * include/multiboot2.h: Resynced with spec.
8751 * loader/i386/multiboot.c: Moved from here ...
8752 * loader/multiboot.c: ... here. All users updated.
8753 (grub_multiboot_boot): Use platform-specific macros.
8754 * loader/i386/multiboot_elfxx.c: Moved from here ...
8755 * loader/multiboot_elfxx.c: ... here. All users updated.
8756 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
8757 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
8758 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
8759
8760 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8761
8762 Import gnulib argp module.
8763
8764 * gnulib/argp-ba.c: New file.
8765 * gnulib/argp-eexst.c: Likewise.
8766 * gnulib/argp-fmtstream.c: Likewise.
8767 * gnulib/argp-fmtstream.h: Likewise.
8768 * gnulib/argp-fs-xinl.c: Likewise.
8769 * gnulib/argp-help.c: Likewise.
8770 * gnulib/argp-namefrob.h: Likewise.
8771 * gnulib/argp-parse.c: Likewise.
8772 * gnulib/argp-pin.c: Likewise.
8773 * gnulib/argp-pv.c: Likewise.
8774 * gnulib/argp-pvh.c: Likewise.
8775 * gnulib/argp-version-etc.c: Likewise.
8776 * gnulib/argp-version-etc.h: Likewise.
8777 * gnulib/argp-xinl.c: Likewise.
8778 * gnulib/argp.h: Likewise.
8779
8780 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 * kern/device.c (grub_device_iterate): Clear errors after failed
8783 opening device.
8784
8785 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8786
8787 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
8788 returned by firmware.
8789
8790 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
8793 compilation on coreboot and qemu
8794
8795 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 * include/multiboot2.h: Resync with spec.
8798
8799 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 Multiboot2 tag support
8802
8803 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
8804 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
8805 Remove loader/multiboot_loader.c.
8806 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
8807 (grub_multiboot2_real_boot): Likewise.
8808 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
8809 (grub_get_multiboot_mmap_count): New proto.
8810 (grub_fill_multiboot_mmap): Likewise.
8811 (grub_multiboot_set_video_mode): Likewise.
8812 (grub_multiboot_set_console): Likewise.
8813 (grub_multiboot_load): Likewise.
8814 (grub_multiboot_load_elf): Likewise.
8815 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
8816 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
8817 * include/multiboot.h: Resynced with specification.
8818 * include/multiboot2.h: Resynced with specification.
8819 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
8820 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
8821 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
8822 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
8823 users updated.
8824 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
8825 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
8826 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
8827 Removed.
8828 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
8829 Moved from here...
8830 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
8831 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8832 Moved from here...
8833 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
8834 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
8835 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
8836 All users updated.
8837 * loader/i386/multiboot_mbi2.c: New file.
8838
8839 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 Resync with gnulib.
8842
8843 * Makefile.in (GNULIB_CFLAGS): New variable.
8844 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
8845 (grub_script_check_CFLAGS): New variable.
8846 * gnulib/alloca.h: Resync with gnulib.
8847 * gnulib/error.c: Likewise.
8848 * gnulib/error.h: Likewise.
8849 * gnulib/fnmatch.c: Likewise.
8850 * gnulib/fnmatch_loop.c: Likewise.
8851 * gnulib/getdelim.c: Likewise.
8852 * gnulib/getline.c: Likewise.
8853 * gnulib/getopt.c: Likewise.
8854 * gnulib/getopt1.c: Likewise.
8855 * gnulib/getopt_int.h: Likewise.
8856 * gnulib/gettext.h: Likewise.
8857 * gnulib/progname.c: Likewise.
8858 * gnulib/progname.h: Likewise.
8859
8860 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
8861
8862 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
8863 which is the case with --disabled-nls.
8864
8865 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
8866 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
8867 * util/misc.c: Likewise.
8868 * util/mkisofs/mkisofs.c: Likewise.
8869 * util/mkisofs/mkisofs.h: Likewise.
8870
8871 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8872
8873 Simplify Apple CC support.
8874
8875 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
8876 Add 0 byte at the end not to have a symbol with empty target.
8877 * mmap/i386/pc/mmap_helper.S: Likewise.
8878 * genmk.rb: Ignore errors 2030 and 2050.
8879 * kern/i386/pc/startup.S: Use LOCAL when possible.
8880
8881 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
8882
8883 Testcase and the fix for final semicolon on cmdline.
8884
8885 * tests/grub_script_final_semicolon.in: New testcase.
8886 * conf/tests.rmk: Rules for the new testcase.
8887 * script/parser.y: Grammar fix.
8888
8889 2010-03-26 BVK Chaitanya <bvk@localhost>
8890
8891 Blank lines testcase for GRUB script.
8892
8893 * tests/grub_script_blanklines.in: New testcase.
8894 * conf/tests.rmk: Rules for the new testcase.
8895
8896 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 Don't use __FILE__.
8899
8900 * genmk.rb: Add -DGRUB_FILE to all C targets.
8901 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
8902 * include/grub/list.h: Likewise.
8903 * include/grub/misc.h: Likewise.
8904 * include/grub/mm.h: Likewise.
8905 * include/grub/test.h: Likewise.
8906 * kern/mm.c: Likewise.
8907 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
8908
8909 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 Sunpc partitions support.
8912
8913 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
8914 (grub_fstest_SOURCES): Likewise.
8915 (pkglib_MODULES): Add part_sunpc.mod.
8916 (part_sunpc_mod_SOURCES): New variable.
8917 (part_sunpc_mod_CFLAGS): Likewise.
8918 (part_sunpc_mod_LDFLAGS): Likewise.
8919 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
8920 * partmap/sunpc.c: New file.
8921
8922 2010-03-26 BVK Chaitanya <bvk@localhost>
8923
8924 For loop support to GRUB script.
8925
8926 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
8927 (grub_script_create_cmdfor): New function prototype.
8928 (grub_script_execute_cmdfor): New function prototype.
8929 * script/execute.c (grub_script_execute_cmdfor): New function.
8930 * script/parser.y (command): New for command.
8931 (forcmd): New grammar rule.
8932 * script/script.c (grub_script_create_cmdfor): New function.
8933 * util/grub-script-check.c (grub_script_execute_cmdfor): New
8934 function.
8935 * tests/grub_script_for1.in: New testcase.
8936 * conf/tests.rmk: Rules for new testcase.
8937
8938 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 Nested partitions
8941
8942 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
8943 'partition' is NULL, grub_partition_get_start already does that.
8944 * commands/loadenv.c (check_blocklists): Likewise.
8945 (write_blocklists): Likewise.
8946 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
8947 (grub_fstest_SOURCES): Likewise.
8948 (pkglib_MODULES): Add part_bsd.mod.
8949 (part_bsd_mod_SOURCES): New variable.
8950 (part_bsd_mod_CFLAGS): Likewise.
8951 (part_bsd_mod_LDFLAGS): Likewise.
8952 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
8953 (grub_emu_SOURCES): Likewise.
8954 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8955 * include/grub/bsdlabel.h: New file.
8956 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
8957 'get_name'.
8958 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
8959 (grub_partition_map_list): New variable.
8960 (grub_partition_map_register): Inline.
8961 (grub_partition_map_unregister): Likewise.
8962 (FOR_PARTITION_MAPS): New macro.
8963 (grub_partition_map_iterate): Removed.
8964 (grub_partition_get_start): Handle nested partitions.
8965 * include/grub/msdos_partition.h: Remove bsd-related entries.
8966 (grub_pc_partition): Remove.
8967 * kern/disk.c (grub_disk_close): Free partition data.
8968 (grub_disk_adjust_range): Handle nested partitions.
8969 * kern/partition.c (grub_partition_map_probe): New function.
8970 (grub_partition_probe): Parse name to number, handle subpartitions.
8971 (get_partmap): New function.
8972 (grub_partition_iterate): Handle subpartitions.
8973 (grub_partition_get_name): Likewise.
8974 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
8975 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
8976 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
8977 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
8978 Set 'number'.
8979 (acorn_partition_map_probe): Remove.
8980 (acorn_partition_map_get_name): Likewise.
8981 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
8982 Set 'number'.
8983 Set 'index' to 0 since there can be only one partition entry per sector.
8984 (amiga_partition_map_probe): Remove.
8985 (amiga_partition_map_get_name): Likewise.
8986 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
8987 Set 'number'.
8988 Set 'offset' and 'index' to real positions of partitions.
8989 (apple_partition_map_probe): Remove.
8990 (apple_partition_map_get_name): Likewise.
8991 * partmap/bsdlabel.c: New file.
8992 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
8993 Set 'number'.
8994 Allocate 'data' so it can be correctly freed.
8995 Set 'index' to offset inside sector.
8996 (gpt_partition_map_probe): Remove.
8997 (gpt_partition_map_get_name): Likewise.
8998 * partmap/msdos.c (grub_partition_parse): Remove.
8999 (pc_partition_map_iterate): Don't force raw access.
9000 Set 'number'.
9001 Make 'ext_offset' a local variable.
9002 (pc_partition_map_probe): Remove.
9003 (pc_partition_map_get_name): Remove.
9004 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
9005 Set 'number'.
9006 (sun_partition_map_probe): Remove.
9007 (sun_partition_map_get_name): Likewise.
9008 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
9009 (grub_pcpart_type): Likewise.
9010 * util/hostdisk.c (open_device): Handle new numbering scheme.
9011 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
9012 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
9013 * util/grub-probe.c (probe_partmap): Handle nested paritions.
9014 * util/grub-install.in: Insert all subpartition modules.
9015 * util/ieee1275/grub-install.in: Likewise.
9016
9017 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
9018
9019 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
9020 grammar.
9021
9022 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
9023
9024 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
9025
9026 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
9027
9028 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
9029 match where 'make install' puts them.
9030 * util/i386/efi/grub-install.in: Likewise.
9031
9032 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
9033
9034 * .bzrignore: Add gentrigtables, grub-script-check,
9035 grub_script_check_init.c, grub_script_check_init.h, and
9036 trigtables.c.
9037
9038 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * kern/parser.c: Indented.
9041
9042 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
9045
9046 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
9049 alpha_mask_size == 0 case.
9050
9051 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
9052
9053 GRUB shell lexer and parser improvements.
9054
9055 * conf/any-emu.rmk: Build rule updates.
9056 * conf/common.rmk: Likewise.
9057 * conf/i386-coreboot.rmk: Likewise.
9058 * conf/i386-efi.rmk: Likewise.
9059 * conf/i386-ieee1275.rmk: Likewise.
9060 * conf/i386-pc.rmk: Likewise.
9061 * conf/powerpc-ieee1275.rmk: Likewise.
9062 * conf/x86_64-efi.rmk: Likewise.
9063
9064 * configure.ac: Configure check for flex.
9065
9066 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
9067 types.
9068 (grub_lexer_param): Struct member updates.
9069 (grub_parser_param): Likewise.
9070 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
9071 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
9072 (grub_script_lexer_init): Prototype update.
9073 (grub_script_lexer_record_start): Likewise.
9074 (grub_script_lexer_record_stop): Likewise.
9075 (grub_script_lexer_yywrap): New function prototype.
9076 (grub_script_lexer_fini): Likewise.
9077 (grub_script_execute_argument_to_string): Removed by...
9078 (grub_script_execute_argument_to_argv): ...better version.
9079
9080 * script/execute.c (ROUND_UPTO): New macro.
9081 (grub_script_execute_cmdline): Out of memory fixes.
9082 (grub_script_execute_menuentry): Likewise.
9083 (grub_script_execute_argument_to_string): Removed. Update all
9084 users by...
9085 (grub_script_execute_argument_to_argv): ...better version.
9086 * script/function.c (grub_script_function_create): Use
9087 grub_script_execute_argument_to_argv instead of
9088 grub_script_execute_argument_to_string.
9089
9090 * script/lexer.c (check_varstate): Removed.
9091 (check_textstate): Removed.
9092 (grub_script_lexer_record_start): Likewise.
9093 (grub_script_lexer_record_stop): Likewise.
9094 (recordchar): Replaced with...
9095 (grub_script_lexer_record): ...new function.
9096 (nextchar): Removed.
9097 (grub_script_lexer_init): Rewritten.
9098 (grub_script_yylex): Rewritten.
9099 (append_newline): New function.
9100 (grub_script_lexer_yywrap): New function.
9101 (grub_script_lexer_fini): New function.
9102 (grub_script_yyerror): Sets error flag.
9103
9104 * script/yylex.l: New file.
9105 (grub_lexer_yyfree): Wrapper for flex yyffre.
9106 (grub_lexer_yyalloc): Likewise.
9107 (grub_lexer_yyrealloc): Likewise.
9108 * script/parser.y: Refactored.
9109
9110 * script/script.c (grub_script_arg_add): Out of memory fixes.
9111 (grub_script_add_arglist): Likewise.
9112 (grub_script_create_cmdline): Likewise.
9113 (grub_script_create_cmdmenu): Likewise.
9114 (grub_script_add_cmd): Likewise.
9115 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
9116 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
9117 unnecessary code.
9118
9119 * tests/grub_script_echo1.in: New testcase.
9120 * tests/grub_script_vars1.in: New testcase.
9121 * tests/grub_script_echo_keywords.in: New testcase.
9122
9123 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 Remove some redundancy in build system.
9126
9127 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
9128 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
9129 (TARGET_LDFLAGS): Add -nostdlib.
9130 (TARGET_IMG_LDFLAGS): Likewise.
9131 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
9132 anything since mmap isn't available.
9133 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
9134 Add util/time.c.
9135 (pkglib_MODULES): Remove reboot.mod.
9136 (reboot_mod_SOURCES): Removed.
9137 (reboot_mod_CFLAGS): Likewise.
9138 (reboot_mod_LDFLAGS): Likewise.
9139 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
9140 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
9141 (DEFSYMFILES): Add kernel_syms.lst.
9142 (kernel_img_HEADERS): Add common headers.
9143 (symlist.c): New target.
9144 (kernel_syms.lst): Likewise.
9145 (pkglib_MODULES): Add memdisk.mod.
9146 (memdisk_mod_SOURCES): New variable.
9147 (memdisk_mod_CFLAGS): Likewise.
9148 (memdisk_mod_LDFLAGS): Likewise.
9149 (pkglib_MODULES): Add reboot.mod.
9150 (reboot_mod_SOURCES): New variable.
9151 (reboot_mod_CFLAGS): Likewise.
9152 (reboot_mod_LDFLAGS): Likewise.
9153 (pkglib_MODULES): Add date.mod.
9154 (date_mod_SOURCES): New variable.
9155 (date_mod_CFLAGS): Likewise.
9156 (date_mod_LDFLAGS): Likewise.
9157 (pkglib_MODULES): Add datehook.mod.
9158 (datehook_mod_SOURCES): New variable.
9159 (datehook_mod_CFLAGS): Likewise.
9160 (datehook_mod_LDFLAGS): Likewise.
9161 (pkglib_MODULES): Add lsmmap.mod.
9162 (lsmmap_mod_SOURCES): New variable.
9163 (lsmmap_mod_CFLAGS): Likewise.
9164 (lsmmap_mod_LDFLAGS): Likewise.
9165 (pkglib_MODULES): Add boot.mod.
9166 (boot_mod_SOURCES): New variable.
9167 (boot_mod_CFLAGS): Likewise.
9168 (boot_mod_LDFLAGS): Likewise.
9169 * conf/i386-coreboot.rmk: Removed redundant parts.
9170 * conf/i386-ieee1275.rmk: Likewise.
9171 * conf/i386-pc.rmk: Likewise.
9172 * conf/mips-yeeloong.rmk: Likewise.
9173 * conf/mips.rmk: Likewise.
9174 * conf/powerpc-ieee1275.rmk: Likewise.
9175 * conf/sparc64-ieee1275.rmk: Likewise.
9176 * conf/x86_64-efi.rmk: Likewise.
9177 * conf/i386-coreboot.rmk: Moved qemu parts ..
9178 * conf/i386-qemu.rmk: ... here
9179 * conf/i386-efi.rmk: Moved common parts to...
9180 * conf/x86-efi.rmk: ... here.
9181 * conf/i386.rmk: Added modules common to all x86 variants.
9182 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
9183 * disk/memdisk.c: Remove grub/machine/kernel.h.
9184 * gensymlist.sh.in: Include symbol.h.
9185 * hook/datehook.c: Correct module name.
9186 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
9187 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
9188 * include/grub/i386/efi/serial.h: New file.
9189 * include/grub/x86_64/efi/serial.h: Likewise.
9190 * util/time.c: Likewise.
9191 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
9192
9193 2010-03-14 Colin King <colin.king@ubuntu.com>
9194 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9195
9196 Shrink the pre-partition-table part of boot.img by eight bytes.
9197
9198 * boot/i386/pc/boot.S (ERR): New macro.
9199 (chs_mode): Use ERR.
9200 (geometry_error): Likewise.
9201 (hd_probe_error): Remove. This is only used once, so we wrwite
9202 it inline instead.
9203 (read_error): Instead of printing read_error_string, just set up
9204 %si and fall through to ...
9205 (error_message): ... this new function, also used by ERR.
9206
9207 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9208
9209 Speed up consecutive hostdisk operations on the same device.
9210
9211 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
9212 (grub_util_biosdisk_open): Initialise disk->data.
9213 (struct linux_partition_cache): New structure.
9214 (linux_find_partition): Cache partition start positions; these are
9215 expensive to compute on every read and write.
9216 (open_device): Cache open file descriptor in disk->data, so that we
9217 don't have to reopen it and flush the buffer cache for consecutive
9218 operations on the same device.
9219 (grub_util_biosdisk_close): New function.
9220 (grub_util_biosdisk_dev): Set `close' member.
9221
9222 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
9223 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
9224 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9225 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9226 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
9227
9228 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 Compile parts of grub-emu as modules.
9231
9232 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
9233 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
9234 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
9235 (all-local): Add $(GRUB_EMU).
9236 (install-local): Install $(GRUB_EMU).
9237 (uninstall): Uninstall $(GRUB_EMU).
9238 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
9239 * kern/dl.c: Likewise.
9240 * commands/sleep.c: Not include machine/time.h.
9241 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
9242 (COMMON_CFLAGS): Likewise.
9243 (sbin_UTILITIES): Remove grub-emu.
9244 (grub_emu_SOURCES): Removed.
9245 (kernel_img_RELOCATABLE): New variable.
9246 (pkglib_PROGRAMS): Add kernel.img.
9247 (kernel_img_SOURCES): New variable
9248 (kernel_img_CFLAGS): Likewise.
9249 (kernel_img_LDFLAGS): Likewise.
9250 (TARGET_NO_STRIP): Likewise.
9251 (TARGET_NO_DYNAMIC_MODULES): Likewise.
9252 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
9253 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
9254 (grub-emu): New target.
9255 (GRUB_EMU): New variable.
9256 * configure.ac: Whitelist -emu as possible x86_64 architecture.
9257 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
9258 * loader/xnu.c: Likewise.
9259 * include/grub/pci.h: Likewise.
9260 * genemuinit.sh: New file.
9261 * genemuinitheader.sh: Likewise.
9262 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
9263 Support TARGET_NO_DYNAMIC_MODULES.
9264 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
9265 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
9266 * disk/loopback.c: Likewise.
9267 * font/font_cmd.c: Likewise.
9268 * partmap/acorn.c: Likewise.
9269 * partmap/amiga.c: Likewise.
9270 * partmap/apple.c: Likewise.
9271 * partmap/gpt.c: Likewise.
9272 * partmap/msdos.c: Likewise.
9273 * partmap/sun.c: Likewise.
9274 * parttool/msdospart.c: Likewise.
9275 * term/gfxterm.c: Likewise.
9276 * video/bitmap.c: Likewise.
9277 * video/readers/jpeg.c: Likewise.
9278 * video/readers/png.c: Likewise.
9279 * video/readers/tga.c: Likewise.
9280 * video/video.c: Likewise.
9281 * util/grub-emu.c (read_command_list): Removed.
9282 (main): Don't call util_init_nls.
9283 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
9284 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
9285
9286 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
9289 date.mod, datehook.mod.
9290 (datetime_mod_SOURCES): New variable.
9291 (datetime_mod_CFLAGS): Likewise.
9292 (datetime_mod_LDFLAGS): Likewise.
9293 (date_mod_SOURCES): Likewise.
9294 (date_mod_CFLAGS): Likewise.
9295 (date_mod_LDFLAGS): Likewise.
9296 (datehook_mod_SOURCES): Likewise.
9297 (datehook_mod_CFLAGS): Likewise.
9298 (datehook_mod_LDFLAGS): Likewise.
9299 * conf/sparc64-ieee1275.rmk: Likewise.
9300 * lib/ieee1275/datetime.c: New file.
9301
9302 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
9305 (ieee1275_fb_mod_SOURCES): New variable.
9306 (ieee1275_fb_mod_CFLAGS): Likewise.
9307 (ieee1275_fb_mod_LDFLAGS): Likewise.
9308 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
9309 New proto.
9310 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
9311 (HEAP_MAX_ADDR): Likewise.
9312 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
9313 type.
9314 Correct stop condition.
9315 (grub_ieee1275_devices_iterate): New function.
9316 * video/ieee1275.c: New file.
9317
9318 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
9321
9322 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
9323 as scratch.
9324 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
9325 SCRATCH_PAD_DISKBOOT as scratch.
9326 (bootit): Pass Openfirmware pointer in %o4.
9327 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
9328 of 0x200000.
9329 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
9330 with util/grub-mkrawimage.c.
9331 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
9332 * include/grub/aout.h (AOUT_MID_SUN): New definition.
9333 (grub_aout_get_type) [GRUB_UTIL]: Removed.
9334 (grub_aout_load) [GRUB_UTIL]: Likewise.
9335 * include/grub/kernel.h (grub_modules_get_end): New proto.
9336 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
9337 (SCRATCH_PAD_BOOT): New definition.
9338 (SCRATCH_PAD_DISKBOOT): Likewise.
9339 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
9340 * include/grub/sparc64/ieee1275/ieee1275.h
9341 (grub_ieee1275_original_stack): New variable
9342 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9343 New definition
9344 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
9345 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
9346 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
9347 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
9348 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
9349 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
9350 (grub_platform_image_format_t): New type.
9351 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
9352 * kern/main.c (grub_modules_get_end)
9353 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
9354 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
9355 (codestart): Switch stacks.
9356 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
9357 variable.
9358 (grub_heap_init): Use grub_modules_get_end.
9359 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
9360 stack.
9361 * util/grub-mkrawimage.c (generate_image): Support sparc64.
9362 (main): Likewise.
9363 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
9364
9365 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
9366
9367 * util/grub-mkrescue.in: Base ISO UUID on UTC.
9368
9369 2010-03-08 Matt Kraai <kraai@ftbfs.org>
9370
9371 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
9372 bug #559005).
9373
9374 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * genmoddep.awk: Output all missing symbols and not only first.
9377
9378 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 * NEWS: Put the date of 1.98 release.
9381
9382 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
9385 ft2build.h.
9386
9387 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
9390 completition in the middle of string.
9391
9392 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9393
9394 * util/grub-mkrescue.in: Use mktemp with explicit template.
9395
9396 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9397
9398 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
9399
9400 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
9403 right pointer.
9404
9405 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9406
9407 Fix FreeBSD compilation.
9408
9409 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
9410 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
9411
9412 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
9415
9416 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
9419
9420 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
9423
9424 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
9425
9426 Support relative image path in theme file.
9427
9428 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
9429 (image_set_property): Handle theme_dir and relative path.
9430
9431 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * configure.ac: Alias amd64 to x86_64.
9434
9435 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * NEWS: mention multiboot on EFI.
9438
9439 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * kern/main.c (grub_load_modules): Handle errors from init functions of
9442 embeded modules.
9443
9444 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 * normal/autofs.c (autoload_fs_module): Handle errors.
9447
9448 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 Disable linux.mod on qemu-mips since it's not functional and leads
9451 to compilation failure.
9452
9453 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
9454 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
9455 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
9456 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
9457 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
9458 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
9459 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
9460 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
9461 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
9462 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
9463 Reported by: BVK Chaitanya
9464
9465 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
9466
9467 * INSTALL: Add gettext as a dependency and add qemu to a new section
9468 "Prerequisites for make-check".
9469
9470 2010-03-04 Christian Franke <franke@computer.org>
9471
9472 * util/grub-pe2elf.c: Add missing include "progname.h".
9473
9474 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 * normal/crypto.c (read_crypto_list): Fix a typo.
9477 Reported by: Seth Goldberg.
9478
9479 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
9482 Reported by: Seth Goldberg.
9483
9484 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
9487 ascii.bitmaps.
9488
9489 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * genmk.rb: Remove terminal*.lst in make clean.
9492 Reported by: Seth Goldberg.
9493
9494 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * util/i386/efi/grub-install.in: Copy gettext files.
9497
9498 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
9501
9502 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 Wait for user entry basing on presence of output rather than on errors.
9505
9506 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
9507 (grub_install_newline_hook): Likewise.
9508 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
9509 * normal/menu.c (show_menu): Check line_counter to determine presence
9510 of output.
9511 * normal/term.c (grub_normal_line_counter): New variable.
9512 (grub_normal_get_line_counter): New function.
9513 (grub_install_newline_hook): Likewise.
9514
9515 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
9518
9519 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9520
9521 * configure.ac: Update version to 1.98.
9522
9523 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 * util/grub.d/10_linux.in (linux_entry): Don't default to
9526 gfxpayload=keep if Linux doesn't support video handover.
9527
9528 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 Don't compile video modules on yeeloong since video subsystem is part
9531 of kernel.
9532
9533 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
9534 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
9535 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
9536 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
9537 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
9538 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
9539 * include/grub/bitmap_scale.h: Likewise.
9540 * include/grub/bufio.h: Likewise.
9541 * include/grub/font.h: Likewise.
9542 * include/grub/gfxterm.h: Likewise.
9543 * include/grub/video.h: Likewise.
9544 * include/grub/vbe.h: Don't include video_fb.h.
9545 * video/i386/pc/vbe.c: Include video_fb.h.
9546 * commands/i386/pc/vbetest.c: Include video.h.
9547
9548 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
9549
9550 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
9551 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
9552 default entry if GRUB_SAVEDEFAULT=true. This allows using
9553 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
9554 saving a new default on every boot.
9555
9556 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * normal/crypto.c (read_crypto_list): Fix a memory leak.
9559 * normal/term.c (read_terminal_list): Likewise.
9560 * normal/main.c (grub_normal_init_page): Likewise.
9561 (grub_normal_read_line_real): Likewise.
9562
9563 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
9566 memory leak.
9567 Reported by: Seth Goldberg.
9568
9569 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
9570
9571 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
9572 duplicate declaration of `start'.
9573
9574 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
9577 filename.
9578 Reported by: Georgy Buranov
9579
9580 2010-02-20 Carles Pina i Estany <carles@pina.cat>
9581
9582 * util/grub-mkrawimage.c (usage): Change string formatting to
9583 improve gettext.
9584
9585 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9586
9587 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
9588 backspace keys.
9589
9590 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
9593 Reported by: Michael Suchanek.
9594
9595 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
9596
9597 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
9598 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
9599
9600 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 Remove any reference to non-free fonts.
9603
9604 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
9605 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
9606 uses non-free components.
9607 * font/font.c (grub_font_get_name): Remove example name.
9608 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
9609 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9610 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
9611 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
9612
9613 2010-02-16 Georgy Buranov <gburanov@gmail.com>
9614
9615 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
9616
9617 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
9620 Double divisor.
9621 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
9622 features.
9623 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
9624
9625 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * gensymlist.sh.in: Use TARGET_CC instead of CC.
9628
9629 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9630
9631 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
9632 * docs/grub.texi (Command-line and menu entry commands): Document play
9633 command.
9634
9635 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9636
9637 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
9638 parse arguments as inline tempo and notes. Move code for playing notes
9639 to...
9640 (play): ... new function.
9641
9642 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9643
9644 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
9645 grub_uint16_t instead of short.
9646 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
9647 disk from little endian to cpu endianness.
9648
9649 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
9650
9651 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
9652 GRUB_TICKS_PER_SECOND instead of 120.
9653
9654 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
9657 escape sequence after \e.
9658
9659 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
9662 non-ASCII characters.
9663
9664 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
9667 set root in single quotes to prevent \, from being unescaped.
9668
9669 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 Prevent unknown commands from stopping menuentry execution.
9672
9673 * script/execute.c (grub_script_execute_cmdline): Print error after
9674 unknown command.
9675
9676 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
9679 Reported by: Pavel Pisa.
9680
9681 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
9684
9685 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 Merge grub_ieee1275_map_physical into grub_map and rename to
9688 grub_ieee1275_map
9689
9690 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
9691 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
9692 Remove.
9693 * kern/ieee1275/openfw.c (grub_map): Rename to ...
9694 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
9695 necessary.
9696 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
9697
9698 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
9701 opening and not after.
9702
9703 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
9706 constants.
9707
9708 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
9711 (alloc_phys): Use ALIGN_UP instead of align_addr.
9712
9713 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
9716
9717 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9718
9719 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
9720
9721 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
9724 verbose dprintf.
9725
9726 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 Fix over-4GiB seek on sparc64.
9729
9730 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
9731 Replace pos_i and pos_lo with pos. All users updated.
9732 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
9733 New constant.
9734 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
9735 Likewise.
9736 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
9737 and pos_lo.
9738
9739 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 * util/grub-mkrawimage.c (main): Call set_program_name.
9742
9743 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 Properly align 64-bit targets.
9746
9747 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
9748 (generate_image): Use ALIGN_ADDR.
9749
9750 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 Properly create cross-endian images.
9753
9754 * include/grub/types.h (grub_host_to_target_addr): New macro
9755 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
9756
9757 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
9760
9761 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
9764
9765 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
9766 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
9767 (grub_linux_boot): Divide by 64K when on VESA.
9768
9769 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9770
9771 Support GRUB_GFXPAYLOAD_LINUX.
9772
9773 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
9774 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
9775
9776 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
9779 to show messages instead of discarding them.
9780 Process errors after executing command and not before. Keep old method
9781 too as precaution.
9782
9783 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * configure.ac: Check for ft2build.h.
9786
9787 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9788
9789 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
9790
9791 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9792
9793 * genkernsyms.sh.in: Use TARGET_CC.
9794
9795 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
9796
9797 * NEWS: Update.
9798
9799 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9800
9801 * include/grub/multiboot2.h: Remove leftover file.
9802 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
9803 * include/grub/partition.h [GRUB_UTIL]: Likewise.
9804
9805 2010-02-07 Yves Blusseau <blusseau@zetam.org>
9806
9807 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
9808
9809 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 Fix warnings in grub-emu when compiling with maximum warning options.
9812
9813 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
9814 (grub_arch_modules_addr): Return 0 and not NULL.
9815 * util/misc.c (ENABLE_RELOCATABLE): New definition.
9816 (xstrdup): Use newstr instead of dup.
9817 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
9818 of disk to dsk to avoid shadowing.
9819 (find_free_slot): Fix prototype.
9820 * util/getroot.c (grub_util_is_dmraid): Make static.
9821 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
9822 Add missing prototype.
9823 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
9824
9825 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 * loader/i386/linux.c (grub_linux_setup_video): Handle error
9828 appropriately.
9829
9830 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
9833 code out.
9834
9835 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
9838 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
9839 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
9840 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
9841 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
9842 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
9843
9844 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 * include/grub/err.h (grub_err_printf): Don't export.
9847
9848 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
9851
9852 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * include/grub/i18n.h (grub_gettext_dummy): Removed.
9855 * kern/misc.c (grub_gettext_dummy): Make static.
9856
9857 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
9860 by non-valid ones.
9861 * kern/term.c (grub_putchar): Likewise.
9862
9863 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9864
9865 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
9866 buggy hook call and memory leak.
9867
9868 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
9871
9872 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
9875
9876 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
9879 modevar.
9880 Return grub_errno on allocation error.
9881
9882 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
9885
9886 2010-02-06 Yves Blusseau <blusseau@zetam.org>
9887
9888 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
9889 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
9890
9891 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9892
9893 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
9894 non-pxe disk.
9895 (grub_pxefs_open): Likewise.
9896
9897 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9898
9899 * util/grub.d/10_hurd.in: Add --class information to menuentries.
9900 * util/grub.d/10_kfreebsd.in: Likewise.
9901 * util/grub.d/10_linux.in: Likewise.
9902
9903 2010-02-06 Colin D Bennett <colin@gibibit.com>
9904
9905 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
9906 (gfxmenu_mod_SOURCES): New variable.
9907 (gfxmenu_mod_CFLAGS): Likewise.
9908 (gfxmenu_mod_LDFLAGS): Likewise.
9909 * include/grub/term.h (grub_term_set_current_output): Declare
9910 argument as const.
9911 * docs/gfxmenu-theme-example.txt: New file.
9912 * gfxmenu/gfxmenu.c: Likewise.
9913 * gfxmenu/gui_box.c: Likewise.
9914 * gfxmenu/gui_canvas.c: Likewise.
9915 * gfxmenu/gui_circular_progress.c: Likewise.
9916 * gfxmenu/gui_image.c: Likewise.
9917 * gfxmenu/gui_label.c: Likewise.
9918 * gfxmenu/gui_list.c: Likewise.
9919 * gfxmenu/gui_progress_bar.c: Likewise.
9920 * gfxmenu/gui_string_util.c: Likewise.
9921 * gfxmenu/gui_util.c: Likewise.
9922 * gfxmenu/icon_manager.c: Likewise.
9923 * gfxmenu/model.c: Likewise.
9924 * gfxmenu/named_colors.c: Likewise.
9925 * gfxmenu/theme_loader.c: Likewise.
9926 * gfxmenu/view.c: Likewise.
9927 * gfxmenu/widget-box.c: Likewise.
9928 * include/grub/gfxmenu_model.h: Likewise.
9929 * include/grub/gfxmenu_view.h: Likewise.
9930 * include/grub/gfxwidgets.h: Likewise.
9931 * include/grub/gui.h: Likewise.
9932 * include/grub/gui_string_util.h: Likewise.
9933 * include/grub/icon_manager.h: Likewise.
9934
9935 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 Agglomerate scrolling in gfxterm.
9938
9939 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
9940 (grub_virtual_screen_setup): Initialise 'total_screen'.
9941 (write_char): Split to ...
9942 (paint_char): ... this ...
9943 (write_char): ... and this.
9944 (paint_char): Handle delayed scrolling.
9945 (draw_cursor): Likewise.
9946 (scroll_up): Split to ...
9947 (real_scroll): ... this ...
9948 (scroll_up): ... and this.
9949 (real_scroll): Handle multi-line scroll and draw below-the-bottom
9950 characters.
9951 (grub_gfxterm_refresh): Call real_scroll.
9952
9953 2010-02-06 Colin D Bennett <colin@gibibit.com>
9954
9955 * include/grub/misc.h (grub_iscntrl): New inline function.
9956 (grub_isalnum): Likewise.
9957 (grub_strtol): Likewise.
9958
9959 2010-02-06 Colin D Bennett <colin@gibibit.com>
9960
9961 * normal/menu_text.c (get_entry_number): Move from here ...
9962 * normal/menu.c (get_entry_number): ... moved here.
9963 * include/grub/menu.h (grub_menu_get_default_entry_index):
9964 New prototype.
9965 * normal/menu.c (grub_menu_get_default_entry_index): New function.
9966 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
9967 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
9968 (grub_menu_viewer_should_return): Likewise.
9969 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
9970 * normal/menu_text.c (run_menu): Enable menu switching.
9971 * normal/menu_viewer.c (should_return): New variable.
9972 (menu_viewer_changed): Likewise.
9973 (grub_menu_viewer_show_menu): Handle menu viewer changes.
9974 (grub_menu_viewer_should_return): New function.
9975 (menuviewer_write_hook): Likewise.
9976 (grub_menu_viewer_init): Likewise.
9977
9978 2010-02-06 Colin D Bennet <colin@gibibit.com>
9979 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 Support for gfxterm in a window.
9982
9983 * include/grub/gfxterm.h: New file.
9984 * include/grub/video.h (struct grub_video_rect): New declaration.
9985 (grub_video_rect_t): Likewise.
9986 * term/gfxterm.c (struct grub_gfxterm_window): New type.
9987 (refcount): New variable.
9988 (render_target): Likewise.
9989 (window): Likewise.
9990 (repaint_callback): Likewise.
9991 (grub_virtual_screen_setup): Use 'render_target'.
9992 (init_window): New function.
9993 (grub_gfxterm_init_window): Likewise.
9994 (grub_gfxterm_init): Check reference counter.
9995 Use init_window.
9996 (destroy_window): New function.
9997 (grub_gfxterm_destroy_window): Likewise.
9998 (grub_gfxterm_fini): Check reference counter.
9999 Use destroy_window.
10000 (redraw_screen_rect): Restore viewport.
10001 Use 'render_target' and 'window'.
10002 Call 'repaint_callback'.
10003 (write_char): Use 'render_target'.
10004 (draw_cursor): Likewise.
10005 (scroll_up): Restore viewport.
10006 Use 'render_target' and 'window'.
10007 Call 'repaint_callback'.
10008 (grub_gfxterm_cls): Likewise.
10009 (grub_gfxterm_refresh): Use 'window'.
10010 (grub_gfxterm_set_repaint_callback): New function.
10011 (grub_gfxterm_background_image_cmd): Use 'window'.
10012 (grub_gfxterm_get_term): New function.
10013 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
10014
10015 2010-02-06 Colin D Bennett <colin@gibibit.com>
10016
10017 Bitmap scaling support.
10018
10019 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
10020 (bitmap_scale_mod_SOURCES): New variable.
10021 (bitmap_scale_mod_CFLAGS): Likewise.
10022 (bitmap_scale_mod_LDFLAGS): Likewise.
10023 * include/grub/bitmap_scale.h: New file.
10024 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
10025 (background_image_cmd_options): New variable.
10026 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
10027 (cmd): Rename and change type to ...
10028 (background_image_cmd_handle): ... this. All users updated.
10029 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
10030 * video/bitmap_scale.c: New file.
10031
10032 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 SDL support.
10035
10036 * Makefile.in (LIBSDL): New variable.
10037 (enable_grub_emu_sdl): Likewise.
10038 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
10039 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
10040 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
10041 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
10042 * util/sdl.c: New file.
10043
10044 2010-02-06 Colin D Bennett <colin@gibibit.com>
10045 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 Double buffering support.
10048
10049 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
10050 * include/grub/video.h: Update comment.
10051 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
10052 New type.
10053 (grub_video_fb_doublebuf_blit_init): New prototype.
10054 * term/gfxterm.c (scroll_up): Support double buffering.
10055 (grub_gfxterm_refresh): Likewise.
10056 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
10057 (grub_video_fb_doublebuf_blit_init): Likewise.
10058 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
10059 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
10060 'displayed_page', 'render_page' and 'update_screen'.
10061 (grub_video_vbe_fini): Free offscreen buffer.
10062 (doublebuf_pageflipping_commit): New function.
10063 (doublebuf_pageflipping_update_screen): Likewise.
10064 (doublebuf_pageflipping_init): Likewise.
10065 (double_buffering_init): Likewise.
10066 (grub_video_vbe_setup): Enable doublebuffering.
10067 (grub_video_vbe_swap_buffers): Implement.
10068 (grub_video_vbe_set_active_render_target): Handle double buffering.
10069 (grub_video_vbe_get_active_render_target): Likewise.
10070 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
10071 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
10072 (grub_video_vbe_enable_double_buffering): Likewise.
10073 (grub_video_vbe_swap_buffers): Use update_screen.
10074 (grub_video_set_mode): Use double buffering.
10075
10076 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10077
10078 * maintainance/gentrigtables.py: Remove.
10079 * lib/trig.c: Likewise.
10080
10081 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
10082
10083 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
10084 `trigtables.c'.
10085 (trigtables.c): New rule.
10086 (gentrigtables): Likewise.
10087 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
10088
10089 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10090
10091 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
10092 integer constants.
10093
10094 2010-02-06 Colin D Bennet <colin@gibibit.com>
10095
10096 Trigonometry support.
10097
10098 * include/grub/trig.h: New file.
10099 * lib/trig.c: Likewise.
10100 * maintainance/gentrigtables.py: Likewise.
10101 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
10102 (trig_mod_SOURCES): New variable.
10103 (trig_mod_CFLAGS): Likewise.
10104 (trig_mod_LDFLAGS): Likewise.
10105
10106 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
10109 disk devices.
10110
10111 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10112
10113 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
10114 error.
10115
10116 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 * util/hostdisk.c (open_device): Don't use partition device when reading
10119 before the partition.
10120 (grub_util_biosdisk_read): Don't read from partition and before the
10121 partition in single operation.
10122 (grub_util_biosdisk_write): Don't write to partition and before the
10123 partition in single operation.
10124
10125 2010-02-03 Torsten Landschoff <torsten@debian.org>
10126
10127 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10128 last sectors.
10129
10130 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
10133 CDROM reads.
10134 (grub_biosdisk_write): Refuse to write to CDROM.
10135
10136 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
10139
10140 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 * font/font.c (find_glyph): Check that bmp_idx is available before
10143 using it.
10144 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
10145 with (font == NULL).
10146
10147 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
10148
10149 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
10150
10151 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
10152
10153 * include/grub/script_sh.h (sourcecode): Add const qualifier.
10154 * util/grub-script-check.c (getline): Fix empty lines case.
10155
10156 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
10157
10158 * Makefile.in (check): Exit with fail status when one of the tests
10159 fails.
10160 * tests/example_functional_test.c (example_test): Fix reversed assert.
10161 * tests/example_unit_test.c (example_test): Likewise.
10162
10163 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
10164
10165 * util/grub.d/10_linux.in: This script does not use any of the
10166 contents of gettext.sh, only the external command `gettext', so stop
10167 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
10168 the same prefix as GRUB.)
10169 * util/grub.d/10_kfreebsd.in: Likewise.
10170
10171 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
10174 of the line.
10175
10176 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10179 last sectors.
10180
10181 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
10184 having a 4KiB and not 32KiB buffer size.
10185
10186 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10187
10188 * util/hostfs.c: Include `<errno.h>'.
10189 (grub_hostfs_read): Handle errors from fseeko() and fread().
10190
10191 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10192
10193 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
10194 loop when using read hooks on files whose size isn't sector-aligned.
10195
10196 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10197
10198 Remove unused parameter.
10199
10200 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
10201 (grub_iso9660_open): Remove initialization of `data->length'.
10202
10203 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10204
10205 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
10206 memleak conditions.
10207
10208 2010-01-27 Carles Pina i Estany <carles@pina.cat>
10209
10210 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
10211 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
10212
10213 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10214
10215 * util/bin2h.c (usage): Fix warning (space after backslash).
10216
10217 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10218
10219 * font/font.c: Include `grub/fontformat.h.
10220 Remove font file format constants.
10221 (grub_font_load): Use the new macros.
10222 * include/grub/fontformat.h: New file.
10223 * util/grub-mkfont.c: Include `grub/fontformat.c'.
10224 (write_font_pf2): Use the new macros.
10225
10226 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10227
10228 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
10229 does.
10230
10231 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10232
10233 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
10234
10235 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
10236 (_start): Macroify `0x7F'.
10237
10238 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
10239 (make_install_device): Use "(pxe)" as fallback prefix when booting
10240 via PXE.
10241
10242 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10243
10244 * configure.ac: Reset LIBS after check for libgcc symbols.
10245
10246 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
10247
10248 * util/hostdisk.c (open_device): Add trailing newline to debug
10249 message.
10250
10251 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
10252
10253 * configure.ac: Check for `limits.h'.
10254 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
10255
10256 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
10257
10258 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
10259 capitalize error strings.
10260
10261 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
10262
10263 * util/grub.d/10_hurd.in: Add a recovery mode.
10264
10265 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * configure.ac: Check for libgcc symbols with -nostdlib.
10268
10269 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
10270
10271 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
10272
10273 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
10276 stack since heap may be unavailable at that point.
10277 (grub_ofconsole_gotoxy): Likewise.
10278
10279 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10280
10281 * configure.ac: Check for _restgpr_14_x.
10282 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
10283 and _savegpr_* prototypes.
10284
10285 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
10286
10287 Use generic grub_reboot() for i386-efi.
10288
10289 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
10290 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
10291 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
10292
10293 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
10296 presence of "prefix" variable as it breaks when normal.mod is
10297 embedded.
10298
10299 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10300
10301 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
10302 stack since heap is unavailable at that point.
10303
10304 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
10307 (grub_freebsd_bootinfo): Rewritten.
10308 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
10309
10310 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
10313
10314 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
10315
10316 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
10317 domain now.
10318
10319 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
10320
10321 * util/misc.c (make_system_path_relative_to_its_root): Change the work
10322 around for handling "/" to the correct fix. Fix a memory leak. Use
10323 xstrdup instead of strdup.
10324
10325 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
10328
10329 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 Optimise glyph lookup by Basic Multilingual Plane lookup array.
10332
10333 * font/font.c (struct grub_font): New member 'bmp_idx'.
10334 (font_init): Initialise 'bmp_idx'.
10335 (load_font_index): Fill 'bmp_idx'.
10336 (find_glyph): Make inline. Use bmp_idx for BMP characters.
10337
10338 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10339
10340 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
10341 unnecessary calls.
10342
10343 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10344
10345 Move context handling out of the kernel.
10346
10347 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
10348 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
10349 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
10350 * conf/i386-efi.rmk: Likewise.
10351 * conf/i386-ieee1275.rmk: Likewise.
10352 * conf/i386-pc.rmk: Likewise.
10353 * conf/powerpc-ieee1275.rmk: Likewise.
10354 * conf/sparc64-ieee1275.rmk: Likewise.
10355 * conf/x86_64-efi.rmk: Likewise.
10356 * include/grub/env.h: Include grub/menu.h.
10357 (grub_env_var_type): Removed.
10358 (grub_env_var): Replaced field 'type' with 'global'.
10359 (grub_env_find): New prototype.
10360 (grub_env_context_open): Remove EXPORT_FUNC.
10361 (grub_env_context_close): Likewise.
10362 (grub_env_export): Likewise.
10363 (grub_env_set_data_slot): Removed.
10364 (grub_env_get_data_slot): Likewise.
10365 (grub_env_unset_data_slot): Likewise.
10366 (grub_env_unset_menu): New prototype.
10367 (grub_env_set_menu): Likewise.
10368 (grub_env_get_menu): Likewise.
10369 * include/grub/env_private.h: New file.
10370 * include/grub/normal.h (grub_context_init): New prototype.
10371 (grub_context_fini): Likewise.
10372 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
10373 * normal/context.c (grub_cmd_export): ... to here.
10374 * kern/env.c: Include env_private.h.
10375 (HASHSZ): Moved to include/grub/env_private.h.
10376 (grub_env_context): Likewise.
10377 (grub_env_sorted_var): Likewise.
10378 (current_context): Renamed from this ...
10379 (grub_current_context): ...to this. 'static' removed. All users updated.
10380 (grub_env_find): Removed 'static'.
10381 (grub_env_context_open): Moved to normal/context.c.
10382 (grub_env_context_close): Likewise.
10383 (grub_env_export): Likewise.
10384 (mangle_data_slot_name): Removed.
10385 (grub_env_set_data_slot): Likewise.
10386 (grub_env_get_data_slot): Likewise.
10387 (grub_env_unset_data_slot): Likewise.
10388 * kern/main.c (grub_set_root_dev): Don't export root.
10389 It will be done later.
10390 (grub_main): Don't export prefix.
10391 It will be done later.
10392 * normal/context.c: New file.
10393 * normal/main.c (free_menu): Use grub_env_unset_menu.
10394 (grub_normal_add_menu_entry): Use grub_env_get_menu.
10395 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
10396 (GRUB_MOD_INIT(normal)): Call grub_context_init.
10397 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
10398
10399 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10400
10401 setpci support.
10402
10403 * commands/setpci.c: New file.
10404 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
10405 (setpci_mod_SOURCES): New variable.
10406 (setpci_mod_CFLAGS): Likewise.
10407 (setpci_mod_LDFLAGS): Likewise.
10408
10409 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 Byte-addressable PCI configuration space.
10412
10413 * bus/pci.c (grub_pci_make_address): Use byte address instead of
10414 dword address.
10415 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
10416 GRUB_PCI_REG_CACHELINE.
10417 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
10418 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
10419 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
10420 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
10421 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
10422 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
10423 grub_pci_make_address.
10424 (lock_rom_area): Likewise.
10425 * commands/lspci.c (grub_lspci_iter): Use macroses
10426 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
10427 of grub_pci_make_address.
10428 * disk/ata.c (grub_ata_pciinit): Likewise.
10429 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
10430 (GRUB_PCI_REG_VENDOR): Likewise.
10431 (GRUB_PCI_REG_DEVICE): Likewise.
10432 (GRUB_PCI_REG_COMMAND): Likewise.
10433 (GRUB_PCI_REG_STATUS): Likewise.
10434 (GRUB_PCI_REG_REVISION): Likewise.
10435 (GRUB_PCI_REG_CLASS): Likewise.
10436 (GRUB_PCI_REG_CACHELINE): Likewise.
10437 (GRUB_PCI_REG_LAT_TIMER): Likewise.
10438 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
10439 (GRUB_PCI_REG_BIST): Likewise.
10440 (GRUB_PCI_REG_ADDRESSES): Likewise.
10441 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10442 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10443 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10444 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10445 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10446 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10447 (GRUB_PCI_REG_CIS_POINTER): Likewise.
10448 (GRUB_PCI_REG_SUBVENDOR): Likewise.
10449 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
10450 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
10451 (GRUB_PCI_REG_CAP_POINTER): Likewise.
10452 (GRUB_PCI_REG_IRQ_LINE): Likewise.
10453 (GRUB_PCI_REG_IRQ_PIN): Likewise.
10454 (GRUB_PCI_REG_MIN_GNT): Likewise.
10455 (GRUB_PCI_REG_MAX_LAT): Likewise.
10456 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
10457 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
10458 * video/efi_uga.c (find_framebuf): Likewise.
10459 * video/sm712.c (grub_video_sm712_setup): Likewise.
10460 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
10461 space.
10462
10463 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10464
10465 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
10466 can be reliably determined to be supported.
10467
10468 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10469
10470 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
10471 that VESA is supported.
10472 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
10473 supported.
10474
10475 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
10478
10479 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10480
10481 * util/misc.c (make_system_path_relative_to_its_root): Work around
10482 special-casing of "/", as previous incarnation of this routine did.
10483
10484 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 Fix any-emu compilation.
10487
10488 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
10489 * grub_bin2h_SOURCES: New variable.
10490
10491 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10492
10493 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
10494
10495 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10496
10497 * util/grub.d/00_header.in: Fix handling of locale_dir.
10498
10499 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
10502 as possible unifont location (Gentoo).
10503 Reported by: Alexander Brüning
10504
10505 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10506
10507 Don't try to generate lists for kernel.img.
10508
10509 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
10510 (pkglib_MODULES): Remove kernel.img.
10511 (kernel_img_EXPORTS): Removed.
10512 (kernel_img_RELOCATABLE): New variable.
10513 * conf/x86_64-efi.rmk: Likewise.
10514 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
10515
10516 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
10519 grub_xasprintf or grub_snprintf.
10520 (grub_vsprintf): Likewise.
10521 (grub_snprintf): New proto.
10522 (grub_vsnprintf): Likewise.
10523 (grub_xasprintf): Likewise.
10524 (grub_xvasprintf): Likewise.
10525 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
10526 (grub_sprintf): Removed.
10527 (grub_vsnprintf): New function.
10528 (grub_snprintf): Likewise.
10529 (grub_xvasprintf): Likewise.
10530 (grub_xasprintf): Likewise.
10531 (grub_vsprintf): Renamed to ...
10532 (grub_vsnprintf_real): ...this. New argument max_len.
10533
10534 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
10535
10536 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
10537 fix grub-script-check warning.
10538
10539 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10540
10541 * include/grub/font.h (grub_font_load): Fix prototype.
10542
10543 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
10546
10547 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10548
10549 * include/grub/x86_64/at_keyboard.h: New file.
10550
10551 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 * loader/mips/linux.c: Include missing grub/i18n.h.
10554
10555 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10556
10557 * normal/menu.c (notify_execution_failure): Clarify error message.
10558
10559 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10560
10561 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
10562 return value (and revert all return statements). Update users.
10563
10564 2010-01-20 Dan Merillat <debian@dan.merillat.org>
10565
10566 * kern/device.c (grub_device_iterate): Allocate new part_ent
10567 structure based on sizeof (*p) rather than sizeof (p->next), to
10568 account for structure padding.
10569
10570 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
10571 disk is NULL, which might happen for LVM physical volumes with no
10572 LVM signature.
10573
10574 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10575
10576 * loader/mips/linux.c (grub_cmd_initrd)
10577 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
10578
10579 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10580
10581 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
10582 (grub_video_video_init, grub_video_bitmap_init)
10583 (grub_font_manager_init, grub_term_gfxterm_init)
10584 (grub_at_keyboard_init): New extern declarations.
10585 (grub_machine_init): Initialize gfxterm and at_keyboard.
10586
10587 * kern/main.c (grub_main): Revert grub_printf delay kludge.
10588
10589 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
10590 `gfxterm.mod' into core image.
10591
10592 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10593 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10594 (kernel_img_FORMAT): Copy to ...
10595
10596 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10597 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10598 (kernel_img_FORMAT): ... here, and ...
10599
10600 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10601 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10602 (kernel_img_FORMAT): ... here.
10603
10604 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
10605 and input (at_keyboard) terminals in kernel.
10606 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
10607
10608 (pkglib_MODULES): Remove `pci.mod'.
10609 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
10610 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
10611 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
10612 (at_keyboard_mod_LDFLAGS): Remove variables.
10613
10614 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
10615
10616 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
10617
10618 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
10619
10620 * include/grub/mips/libgcc.h: Only export symbols for functions
10621 that libgcc provides.
10622
10623 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
10624
10625 MIPS support.
10626
10627 * bus/bonito.c: New file.
10628 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
10629 GRUB_PCI_NUM_DEVICES.
10630 * term/i386/pc/serial.c: Move to ...
10631 * term/serial.c: ... here. All users updated.
10632 * util/i386/pc/grub-mkimage.c: Move to ...
10633 * util/grub-mkrawimage.c: ... here. All users updated.
10634 * term/i386/pc/at_keyboard.c: Move to ...
10635 * term/at_keyboard.c: ... here. All users updated.
10636 * conf/mips-qemu-mips.rmk: New file.
10637 * conf/mips-yeeloong.rmk: Likewise.
10638 * conf/mips.rmk: Likewise.
10639 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
10640 mipsel-qemu-mips.
10641 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
10642 to port addresses.
10643 (grub_ata_pciinit): Support CS5536.
10644 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
10645 * font/font_cmd.c (loadfont_command): Open file before passing it to
10646 grub_font_load.
10647 (pseudo_file_read): New function.
10648 (pseudo_file_close): Likewise.
10649 (pseudo_fs): New structure.
10650 (load_font_module): New function.
10651 (GRUB_MOD_INIT(font_manager)): Load embedded font.
10652 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
10653 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
10654 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
10655 * include/grub/i386/at_keyboard.h: Split into ...
10656 * include/grub/at_keyboard.h: ... this ...
10657 * include/grub/i386/at_keyboard.h: ... and this.
10658 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
10659 New prototype.
10660 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
10661 updated.
10662 (grub_elf64_size): Likewise.
10663 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
10664 filename.
10665 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
10666 * include/grub/i386/coreboot/serial.h: Rewritten.
10667 * include/grub/i386/ieee1275/serial.h: Include
10668 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
10669 * include/grub/i386/pc/serial.h: Moved from here ...
10670 * include/grub/serial.h: ... to here. All users updated.
10671 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
10672 (GRUB_PCI_NUM_BUS): Likewise.
10673 (GRUB_PCI_NUM_DEVICES): Likewise.
10674 (grub_pci_device_map_range): Add missing volatile keyword.
10675 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
10676 * include/grub/mips/at_keyboard.h: New file.
10677 * include/grub/mips/cache.h: Likewise.
10678 * include/grub/mips/io.h: Likewise.
10679 * include/grub/mips/kernel.h: Likewise.
10680 * include/grub/mips/libgcc.h: Likewise.
10681 * include/grub/mips/pci.h: Likewise.
10682 * include/grub/mips/qemu-mips/boot.h: Likewise.
10683 * include/grub/mips/qemu-mips/kernel.h: Likewise.
10684 * include/grub/mips/qemu-mips/loader.h: Likewise.
10685 * include/grub/mips/qemu-mips/memory.h: Likewise.
10686 * include/grub/mips/qemu-mips/serial.h: Likewise.
10687 * include/grub/mips/qemu-mips/time.h: Likewise.
10688 * include/grub/mips/relocator.h: Likewise.
10689 * include/grub/mips/time.h: Likewise.
10690 * include/grub/mips/types.h: Likewise.
10691 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
10692 * include/grub/mips/yeeloong/boot.h: Likewise.
10693 * include/grub/mips/yeeloong/kernel.h: Likewise.
10694 * include/grub/mips/yeeloong/loader.h: Likewise.
10695 * include/grub/mips/yeeloong/memory.h: Likewise.
10696 * include/grub/mips/yeeloong/pci.h: Likewise.
10697 * include/grub/mips/yeeloong/serial.h: Likewise.
10698 * include/grub/mips/yeeloong/time.h: Likewise.
10699 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
10700 * kern/elf.c (grub_elf32_size): New parameter. All users
10701 updated.
10702 (grub_elf64_size): Likewise.
10703 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
10704 Load modules before saying "Welcome to GRUB!".
10705 Call grub_refresh after saying "Welcome to GRUB!".
10706 * kern/mips/cache.S: New file.
10707 * kern/mips/cache_flush.S: Likewise.
10708 * kern/mips/dl.c: Likewise.
10709 * kern/mips/init.c: Likewise.
10710 * kern/mips/qemu-mips/init.c: Likewise.
10711 * kern/mips/startup.S: Likewise.
10712 * kern/mips/yeeloong/init.c: Likewise.
10713 * kern/term.c (grub_putcode): Handle NULL terminal.
10714 (grub_getcharwidth): Likewise.
10715 (grub_getkey): Likewise.
10716 (grub_checkkey): Likewise.
10717 (grub_getkeystatus): Likewise.
10718 (grub_getxy): Likewise.
10719 (grub_getwh): Likewise.
10720 (grub_gotoxy): Likewise.
10721 (grub_cls): Likewise.
10722 (grub_setcolorstate): Likewise.
10723 (grub_setcolor): Likewise.
10724 (grub_getcolor): Likewise.
10725 (grub_refresh): Likewise.
10726 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
10727 (write_jump): Add hatch nop.
10728 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
10729 * lib/mips/setjmp.S: New file.
10730 * loader/mips/linux.c: Likewise.
10731 * term/i386/pc/at_keyboard.c: Move from here ...
10732 * term/at_keyboard.c: ... to here.
10733 * term/i386/pc/serial.c: Moved from here ...
10734 * term/serial.c: ... to here. All users updated.
10735 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
10736 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
10737 (serial_translate_key_sequence): Avoid deadlock.
10738 (grub_serial_getkey): Handle backspace.
10739 (grub_serial_putchar): Fix newline handling.
10740 * util/i386/pc/grub-mkimage.c: Move from here ...
10741 * util/grub-mkrawimage.c: ... to here. All users updated.
10742 (generate_image): New parameters 'font_path' and 'format'.
10743 Support embedding font.
10744 Use grub_host_to_target* instead of grub_cpu_to_le*.
10745 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
10746 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
10747 (options): New option "--font".
10748 (usage): Likewise.
10749 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
10750 (main): Handle "--font".
10751 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
10752 (grub_virtual_screen_setup): Set bg_color_display.
10753 (redraw_screen_rect): Use bg_color_display instead of incorrect
10754 bg_color.
10755 (grub_gfxterm_cls): Likewise.
10756 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
10757 Support embedding config file.
10758 (add_segments): Likewise.
10759 (options): New option "--config".
10760 (main): Handle "--config".
10761 * video/sm712.c: New file.
10762
10763 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10764
10765 Fix parallel builds.
10766
10767 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
10768 font.c depend on ascii.h).
10769
10770 2010-01-12 Carles Pina i Estany <carles@pina.cat>
10771
10772 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
10773
10774 2010-01-11 Carles Pina i Estany <carles@pina.cat>
10775
10776 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
10777 By default: disabled.
10778 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
10779 parameter.
10780
10781 2010-01-10 Carles Pina i Estany <carles@pina.cat>
10782
10783 * font/font.c: Update copyright years.
10784 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
10785
10786 2010-01-10 Carles Pina i Estany <carles@pina.cat>
10787
10788 * font/font.c: Include `ascii.h'.
10789 (ASCII_BITMAP_SIZE): New macro.
10790 (ascii_font_glyph): Define.
10791 (ascii_glyph_lookup): New function.
10792 (grub_font_get_string_width): Change comment. If glyph not found, use
10793 ascii_glyph_lookup.
10794 (grub_font_get_glyph_with_fallback): If glyph not available returns
10795 ascii_glyph_lookup.
10796 * util/grub-mkfont.c (file_formats): New enum.
10797 (options): Add `ascii-bitmaps' new option.
10798 (usage): Add `asii-bitmaps' new option.
10799 (write_font_ascii_bitmap): New function.
10800 (write_font): Rename to ...
10801 (write_font_p2): ... this. Remove print_glyphs call.
10802 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
10803 used. Call print_glyphs.
10804 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
10805
10806 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
10807
10808 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
10809 (grub_bin2h_SOURCES): New variable.
10810 * util/bin2h.c: New file.
10811
10812 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 * include/multiboot.h: Resynced with spec.
10815 * include/multiboot2.h: Likewise.
10816 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
10817 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
10818
10819 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10820
10821 * include/grub/term.h (grub_term_register_input,
10822 grub_term_register_output): Check return of terminal init()
10823 routines, and abort if errors are raised.
10824
10825 * commands/terminal.c: Update copyright year.
10826
10827 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10828
10829 * commands/terminal.c (grub_cmd_terminal_input)
10830 (grub_cmd_terminal_output): Check return of terminal init()
10831 routines, and abort if errors are raised.
10832
10833 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10834
10835 * include/grub/i386/bsd.h: Fix include pathes.
10836
10837 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 Add missing *BSD copyright headers.
10840
10841 * include/grub/aout.h: Add BSD licence.
10842 * include/grub/i386/bsd.h: Parts under different licences moved to ...
10843 * include/grub/i386/freebsd_linker.h: ... here,
10844 * include/grub/i386/freebsd_reboot.h: ... here,
10845 * include/grub/i386/netbsd_bootinfo.h: ... here,
10846 * include/grub/i386/netbsd_reboot.h: ... here,
10847 * include/grub/i386/openbsd_bootarg.h: ... here,
10848 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
10849 licence to each file.
10850
10851 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10852
10853 * acinclude.m4: Remove `nop' assembly instruction; it's not
10854 implemented by all architectures.
10855
10856 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10857
10858 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
10859 ELILO. This is no longer necessary.
10860
10861 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
10862
10863 Added new tool, grub-scrit-check to verify grub.cfg syntax.
10864
10865 * util/grub-script-check.c: grub-script-check tool.
10866 * conf/common.rmk: Make rules for grub-script-check.
10867
10868 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10869
10870 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
10871 spotting it back in 2008. Shame on me for forgetting he did.
10872
10873 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
10874
10875 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10876
10877 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
10878 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
10879 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
10880 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
10881 (GRUB_VIDEO_TYPE_EFI): Rename to ...
10882 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
10883
10884 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
10885
10886 * include/grub/test.h: Add license header.
10887 * tests/example_functional_test.c: Likewise.
10888 * tests/example_unit_test.c: Likewise.
10889 * tests/lib/functional_test.c: Likewise.
10890 * tests/lib/test.c: Likewise.
10891 * tests/lib/unit_test.c: Likewise.
10892
10893 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
10894
10895 Use flag-based instead of hook-based video mode selection and "auto"
10896 keyword.
10897
10898 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
10899 (grub_video_set_mode): Changed prototype. All users updated.
10900 (grub_video_check_mode_flag): New inline function.
10901 * video/video.c (parse_modespec): New function.
10902 (grub_video_set_mode): Parse flags and keywords.
10903
10904 2010-01-17 Carles Pina i Estany <carles@pina.cat>
10905
10906 * util/misc.c (grub_util_info): Fix the order of the parameters in a
10907 fprintf call.
10908
10909 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
10910
10911 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
10912
10913 2010-01-16 Carles Pina i Estany <carles@pina.cat>
10914
10915 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
10916 string.
10917 * util/grub-emu.c (usage): Likewise.
10918 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
10919 * util/i386/efi/grub-mkimage.c (usage): Likewise.
10920 * util/i386/pc/grub-mkimage.c (usage): Likewise.
10921 * util/i386/pc/grub-setup.c (usage): Likewise.
10922
10923 2010-01-16 Carles Pina i Estany <carles@pina.cat>
10924
10925 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
10926 the message.
10927 (grub_util_info): Likewise.
10928 (grub_util_error): Likewise.
10929 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
10930 and/or new lines in `grub_util_warna', `grub_util_info',
10931 `grub_util_error' calls.
10932 * util/getroot.c: Likewise.
10933 * util/grub-editenv.c: Likewise.
10934 * util/grub-emu.c: Likewise.
10935 * util/grub-fstest.c: Likewise.
10936 * util/grub-mkdevicemap.c: Likewise.
10937 * util/grub-mkfont.c: Likewise.
10938 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10939 * util/grub-mkrelpath.c: Likewise.
10940 * util/grub-pe2elf.c: Likewise.
10941 * util/grub-probe.c: Likewise.
10942 * util/hostdisk.c: Likewise.
10943 * util/i386/efi/grub-mkimage.c: Likewise.
10944 * util/i386/pc/grub-mkimage.c: Likewise.
10945 * util/i386/pc/grub-setup.c: Likewise.
10946 * util/ieee1275/ofpath.c: Likewise.
10947 * util/mkisofs/eltorito.c: Likewise.
10948 * util/mkisofs/rock.c: Likewise.
10949 * util/mkisofs/write.c: Likewise.
10950 * util/raid.c: Likewise.
10951 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
10952 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10953
10954 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 Enable multiboot on non-pc.
10957
10958 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
10959 multiboot.mod and multiboot2.mod to ...
10960 * conf/i386.rmk (pkglib_MODULES): ... here.
10961 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
10962 Moved to ...
10963 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
10964 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
10965 Moved to ...
10966 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
10967 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
10968 Moved to ...
10969 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
10970 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
10971 Moved to ...
10972 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
10973 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
10974 relocator.mod.
10975 (ata_mod_SOURCES): Removed.
10976 (ata_mod_CFLAGS): Likewise.
10977 (ata_mod_LDFLAGS): Likewise.
10978 (relocator_mod_SOURCES): Removed.
10979 (relocator_mod_CFLAGS): Likewise.
10980 (relocator_mod_ASFLAGS): Likewise.
10981 (relocator_mod_LDFLAGS): Likewise.
10982 Include i386.mk.
10983 * include/grub/x86_64/multiboot.h: New file.
10984 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
10985 Terminate EFI.
10986
10987 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 Video multiboot support.
10990
10991 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
10992 New prototype.
10993 * include/multiboot.h: Resynced with multiboot specification.
10994 * include/multiboot2.h: Likewise.
10995 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
10996 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
10997 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
10998 (HAS_VGA_TEXT): Likewise.
10999 (accepts_video): New variable.
11000 (grub_multiboot_set_accepts_video): New function.
11001 (grub_multiboot_get_mbi_size): Account for video structures.
11002 (set_video_mode): New function.
11003 (retrieve_video_parameters): Likewise.
11004 (grub_multiboot_make_mbi): Fill video fields.
11005
11006 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 Video driver ids.
11009
11010 * include/grub/video.h (grub_video_driver_id): New type.
11011 (grub_video_adapter): New member 'id'. All users updated.
11012 (grub_video_get_driver_id): New proto.
11013 * video/video.c (grub_video_get_driver_id): New function.
11014
11015 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11016
11017 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
11018 `var=val'.
11019
11020 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11021
11022 * normal/cmdline.c (print_completion): Gettextizze.
11023
11024 2001-01-14 Carles Pina i Estany <carles@pina.cat>
11025
11026 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
11027
11028 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11029
11030 * gettext/gettext.c (grub_gettext_translate): Push and pop
11031 grub_errno.
11032 (grub_gettext_delete_list): Change comment style.
11033 * kern/err.c (grub_error): Gettextizze.
11034 (grub_fatal): Gettextizze.
11035
11036 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11037
11038 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
11039 (grub_linux16_real_boot): ... this.
11040 * kern/i386/loader.S: Likewise.
11041 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
11042 (grub_linux16_boot): New function. Switches to text mode and calls
11043 grub_linux16_real_boot().
11044
11045 * loader/i386/bsd.c: Include `<grub/video.h>'.
11046 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
11047 text mode before calling grub_unix_real_boot().
11048
11049 * loader/i386/multiboot.c: Include `<grub/video.h>'.
11050 (grub_multiboot_boot): Switch to text mode before calling
11051 grub_relocator32_boot().
11052
11053 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
11054 (grub_chainloader_boot): Switch to text mode before calling
11055 grub_chainloader_real_boot().
11056
11057 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11058 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11059
11060 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
11061 non-empty value.
11062
11063 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11064 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11065
11066 * util/grub.d/00_header.in: Define a "savedefault" function for use
11067 in menu entries.
11068 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
11069
11070 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11071 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11072
11073 * util/grub-mkconfig_lib.in (save_default_entry): Only set
11074 saved_entry if boot_once is unset.
11075 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
11076 previous saved entry (i.e. grub-reboot).
11077
11078 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11079
11080 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
11081
11082 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11083
11084 * util/grub.d/00_header.in: Use `set var=val' rather than plain
11085 `var=val'.
11086 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
11087
11088 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11089
11090 * util/grub-reboot.in: Fix --version output.
11091 * util/grub-set-default.in: Likewise.
11092
11093 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11094
11095 * util/grub.d/00_header.in: Silently ignore zero-sized environment
11096 blocks.
11097
11098 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11099
11100 * util/grub.d/00_header.in: Quote the value assigned to `default',
11101 in case it contains spaces.
11102
11103 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11104
11105 * util/grub.d/30_os-prober.in: Fix merge error that moved a
11106 `save_default_entry' call from the macosx case to the linux case.
11107
11108 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11109 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
11110
11111 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
11112 in `chosen' environment variable.
11113 * normal/menu_text.c (get_entry_number): Check if the variable
11114 matches the title of a menu entry.
11115 (run_menu): Pass menu to get_entry_number.
11116
11117 * util/grub-reboot.in: New file.
11118 * util/grub-set-default.in: New file.
11119 * conf/common.rmk (grub-reboot): New utility.
11120 (grub-set-default): New utility.
11121
11122 * util/grub-mkconfig_lib.in (save_default_entry): New function.
11123 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
11124 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
11125 move it to `saved_entry' for the next boot. Load environment on
11126 initialisation.
11127 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
11128 * util/grub.d/10_hurd.in: Likewise.
11129 * util/grub.d/10_linux.in (linux_entry): Likewise.
11130 * util/grub.d/10_windows.in: Likewise.
11131 * util/grub.d/30_os-prober.in: Likewise.
11132
11133 * util/grub-install.in: Create environment block.
11134 * util/i386/efi/grub-install.in: Likewise.
11135 * util/ieee1275/grub-install.in: Likewise.
11136 * util/sparc64/ieee1275/grub-install.in: Likewise.
11137
11138 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
11139
11140 Unit testing framework for GRUB.
11141
11142 * Makefile.in: Test framework build rules for 'make check'.
11143 * conf/tests.rmk: Build rules for individual tests and framework.
11144
11145 * include/grub/test.h: Header file for whitebox tests.
11146 * tests/lib/functional_test.c: Framework support for whitebox
11147 functional tests.
11148 * tests/lib/test.c: Common whitebox testing code for unit and
11149 functional tests.
11150 * tests/lib/unit_test.c: Framework support for whitebox unit
11151 tests.
11152
11153 * tests/util/grub-shell-tester.in: Support utility for grub-script
11154 tests.
11155 * tests/util/grub-shell.in: Utility to execute grub-script
11156 commands in a Qemu instance.
11157
11158 * tests/example_functional_test.c: Example whitebox functional
11159 test.
11160 * tests/example_grub_script_test.in: Example grub-script test.
11161 * tests/example_scripted_test.in: Example scripted test.
11162 * tests/example_unit_test.c: Example whitebox unit test.
11163
11164 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
11167 Add loader/i386/multiboot_mbi.c.
11168 (multiboot2_mod_SOURCES): Likewise.
11169 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
11170 (multiboot2_mod_SOURCES): Likewise.
11171 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
11172 (grub_multiboot_make_mbi): Likewise.
11173 (grub_multiboot_free_mbi): Likewise.
11174 (grub_multiboot_init_mbi): Likewise.
11175 (grub_multiboot_add_module): Likewise.
11176 (grub_multiboot_set_bootdev): Likewise.
11177 * loader/i386/multiboot.c (mbi): Removed.
11178 (mbi_dest): Likewise.
11179 (alloc_mbi): New variable.
11180 (grub_multiboot_payload_size): Removed. All users updated.
11181 (grub_multiboot_pure_size): New variable.
11182 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
11183 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
11184 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
11185 (grub_fill_multiboot_mmap): Likewise.
11186 (grub_multiboot_get_bootdev): Likewise.
11187 (grub_multiboot): Use multiboot_mbi functions.
11188 * loader/i386/multiboot_mbi.c: New file.
11189
11190 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
11193 it would result in module crash.
11194
11195 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11196
11197 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
11198 (grub_ofconsole_getwh): Split to ...
11199 (grub_ofconsole_getwh): ... this.
11200 (grub_ofconsole_dimensions): ...and this.
11201 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
11202
11203 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
11204
11205 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
11206
11207 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * loader/i386/pc/multiboot2.c: Removed stalled file.
11210
11211 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
11214 Reported by: Grégoire Sutre
11215
11216 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
11217
11218 * util/misc.c (canonicalize_file_name): New function.
11219 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
11220 instead of realpath().
11221
11222 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
11223
11224 * util/grub-install.in (usage): Clarify meaning of --root-directory,
11225 and make it clearer that it's optional. Based on confusion
11226 witnessed on IRC.
11227
11228 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
11231 in premature implicit newline.
11232
11233 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
11236 which resulted in garbled command line at the end of screen.
11237
11238 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11239
11240 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
11241 initialization with similar approach as with other Linux loaders.
11242
11243 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11244
11245 Fix i386-ieee1275 build.
11246
11247 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
11248 and grub_term_height() for video_{width,height} initialization.
11249
11250 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11251
11252 Fix grub-emu build.
11253
11254 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
11255
11256 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11257 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11258
11259 Support for multiple terminals.
11260
11261 * Makefile.in (pkglib_DATA): terminal.lst.
11262 (terminal.lst): New target.
11263 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
11264 (GRUB_MOD_INIT(handler)): Likewise.
11265 (GRUB_MOD_FINI(handler)): Likewise.
11266 * commands/help.c (grub_cmd_help): Handle multiple terminals.
11267 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
11268 * commands/sleep.c (do_print): Use grub_term_restore_pos.
11269 (grub_cmd_sleep): Use grub_term_save_pos.
11270 * commands/terminal.c: New file.
11271 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
11272 commands/terminal.c and lib/charset.c.
11273 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
11274 (pkglib_MODULES): Add terminal.mod.
11275 (terminal_mod_SOURCES): New variable.
11276 (terminal_mod_CFLAGS): Likewise.
11277 (terminal_mod_LDFLAGS): Likewise.
11278 * genhandlerlist.sh: Don't handle terminals.
11279 * genmk.rb: Generate terminal-*.lst.
11280 * genterminallist.sh: New file.
11281 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
11282 (grub_is_valid_utf8): Likewise.
11283 (grub_utf8_to_ucs4_alloc): Likewise.
11284 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
11285 (grub_menu_register_viewer): Changed argument.
11286 (grub_menu_try_text): New proto.
11287 (grub_gfxmenu_try_hook): New declaration.
11288 * include/grub/normal.h (grub_normal_exit_level): New declaration.
11289 (grub_menu_init_page): Additional argument term.
11290 (grub_normal_init_page): Likewise.
11291 (grub_cmdline_get): Arguments simplified.
11292 (grub_utf8_to_ucs4_alloc): Removed.
11293 (grub_print_ucs4): Additional argument term.
11294 (grub_getstringwidth): Likewise.
11295 (grub_print_message_indented): Likewise.
11296 (grub_menu_text_register_instances): New proto.
11297 (grub_show_menu): Likewise.
11298 (read_terminal_list): Likewise.
11299 (grub_set_more): Likewise.
11300 * include/grub/parser.h: Include handler.h.
11301 * include/grub/reader.h: Rewritten.
11302 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
11303 (GRUB_TERM_WIDTH): Changed to function.
11304 (GRUB_TERM_HEIGHT): Likewise.
11305 (GRUB_TERM_BORDER_WIDTH): Likewise.
11306 (GRUB_TERM_BORDER_HEIGHT): Likewise.
11307 (GRUB_TERM_NUM_ENTRIES): Likewise.
11308 (GRUB_TERM_ENTRY_WIDTH): Likewise.
11309 (GRUB_TERM_CURSOR_X): Likewise.
11310 (grub_term_input_class): Likewise.
11311 (grub_term_output_class): Likewise.
11312 (grub_term_outputs_disabled): New declaration.
11313 (grub_term_inputs_disabled): Likewise.
11314 (grub_term_outputs): Likewise.
11315 (grub_term_inputs): Likewise.
11316 (grub_term_register_input): Rewritten.
11317 (grub_term_register_output): Likewise.
11318 (grub_term_unregister_input): Likewise.
11319 (grub_term_unregister_output): Likewise.
11320 (FOR_ACTIVE_TERM_INPUTS): New macro.
11321 (FOR_DISABLED_TERM_INPUTS): Likewise.
11322 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11323 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11324 * include/grub/terminfo.h: Add oterm argument to all protypes.
11325 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
11326 Use grub_rescue_run.
11327 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
11328 All users updated.
11329 * kern/reader.c: Removed. All users updated.
11330 * kern/rescue_reader.c (grub_rescue_init): Removed.
11331 (grub_rescue_reader): Likewise.
11332 (grub_register_rescue_reader): Likewise.
11333 (grub_rescue_run): New function based on kern/reader.c.
11334 * kern/term.c: Adapted for multiterm.
11335 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
11336 (grub_is_valid_utf8): Likewise.
11337 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
11338 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
11339 right terminal.
11340 * loader/i386/linux.c (grub_linux_boot): Likewise.
11341 * normal/auth.c (grub_username_get): New function.
11342 (grub_auth_check_authentication): Use grub_username_get.
11343 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
11344 * normal/color.c: Adapt for multiterm.
11345 * normal/main.c (read_config_file): Don't use grub_reader_loop.
11346 (grub_normal_init_page): Additional argument term.
11347 (read_lists): Call read_terminal_lists.
11348 (grub_enter_normal_mode): Call grub_cmdline_run.
11349 Handle grub_normal_exit_level.
11350 (grub_cmd_normal): Make reentrant.
11351 (grub_cmd_normal_exit): New function.
11352 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
11353 * normal/menu.c: Adapt for multiterm.
11354 * normal/menu_entry.c: Likewise.
11355 * normal/menu_text.c: Likewise.
11356 * normal/menu_viewer.c: Removed. All users updated.
11357 * normal/term.c: New file.
11358 * util/console.c: Change order of includes to workaround a bug in
11359 ncurses headers.
11360 * term/terminfo.c: New argument oterm on all exported functions.
11361 All users updated.
11362 * util/grub-editenv.c (grub_term_input_class): Removed.
11363 (grub_term_output_class): Likewise.
11364
11365 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11366
11367 Make loader output a bit more user-friendly.
11368
11369 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
11370 is being loaded. Likewise for the Hurd.
11371
11372 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
11373 that kernel of FreeBSD ${version} is being loaded.
11374
11375 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
11376 grub_dprintf().
11377 (grub_cmd_initrd): Likewise.
11378 * util/grub.d/10_linux.in (linux_entry): Print message indicating
11379 that Linux ${version} is being loaded. Likewise for initrd.
11380
11381 2010-01-09 Carles Pina i Estany <carles@pina.cat>
11382
11383 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
11384
11385 2010-01-08 Carles Pina i Estany <carles@pina.cat>
11386
11387 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
11388 (GRUB_MOD_INIT): Gettextizze.
11389 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
11390 (GRUB_MOD_INIT): Gettextizze.
11391 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
11392 (grub_cmd_linux): Capitalise Linux.
11393 (GRUB_MOD_INIT): Gettextizze.
11394 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
11395 (grub_cmd_linux): Capitalise Linux.
11396 (GRUB_MOD_INIT): Gettextizze.
11397 * loader/i386/linux.c: Include `<grub/i18n.h>'.
11398 (grub_cmd_linux): Capitalise Linux.
11399 (GRUB_MOD_INIT): Gettextizze.
11400 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
11401 (GRUB_MOD_INIT): Gettextizze.
11402 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
11403 (grub_cmd_linux): Capitalise Linux.
11404 (GRUB_MOD_INIT): Gettextizze.
11405 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
11406 (grub_cpu_xnu_init): Gettextizze.
11407 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
11408 (GRUB_MOD_INIT): Gettextizze.
11409 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
11410 (GRUB_MOD_INIT): Gettextizze.
11411 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
11412 (grub_linux_load64): Capitalise Linux.
11413 (GRUB_MOD_INIT): Gettextizze.
11414 * loader/xnu.c: Include `<grub/i18n.h>'.
11415 (GRUB_MOD_INIT): Gettextizze.
11416 * po/POTFILES: Add `loader/efi/appleloader.c',
11417 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
11418 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
11419 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
11420 `loader/i386/xnu.c', `loader/multiboot_loader.c',
11421 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
11422 and `loader/xnu.c'.
11423
11424 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11425
11426 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
11427
11428 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11429
11430 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
11431 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
11432 * util/mkisofs/mkisofs.c (main): Readjust --version output.
11433
11434 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11435
11436 Reset Multiboot 2 support. New loader implements the draft in
11437 /branches/multiboot2 and shares as much code as possible with the
11438 production Multiboot 1 implementation.
11439
11440 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
11441 * loader/multiboot2.c: Likewise.
11442 * loader/i386/multiboot_helper.S: Likewise.
11443 * include/multiboot2.h: Replace with latest version from the draft
11444 in /branches/multiboot2.
11445
11446 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
11447 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
11448 and `loader/multiboot2.c'.
11449 (pkglib_MODULES): Add `multiboot2.mod'.
11450 (multiboot2_mod_SOURCES): New variable.
11451 (multiboot2_mod_LDFLAGS): Likewise.
11452 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
11453
11454 * conf/i386-pc.rmk: Likewise.
11455
11456 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
11457 (multiboot_mod_SOURCES): Remove variable.
11458 (multiboot_mod_LDFLAGS): Likewise.
11459 (multiboot_mod_CFLAGS): Likewise.
11460
11461 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
11462 `<multiboot2.h>' instead of `<multiboot.h>'.
11463 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
11464 (MULTIBOOT_HEADER_MAGIC): New macros.
11465
11466 * loader/multiboot_loader.c (module_version_status): Remove variable.
11467 (find_multi_boot2_header): Remove function.
11468 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
11469 logic. Always check for the Multiboot version we're compiling for.
11470 (grub_cmd_module_loader): Likewise.
11471 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
11472 command instead of `multiboot'.
11473
11474 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11475
11476 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
11477 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
11478 all users.
11479
11480 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11481 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 Fix breakage introduced with previous commit.
11484
11485 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
11486 commands.
11487 * normal/handler.c (read_handler_list): Revert part of previous commit
11488 affecting this file.
11489 * normal/main.c (read_lists): Move read_handler_list() call back to ...
11490 (grub_normal_execute): ... here.
11491
11492 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11493
11494 Merge prefix-redefinition-fix branch.
11495
11496 * normal/autofs.c (read_fs_list): Make function capable of being
11497 run multiple times, gracefuly replacing the previous data
11498 structures.
11499 * normal/dyncmd.c (read_command_list): Likewise.
11500 * normal/handler.c (read_handler_list): Likewise.
11501 * normal/main.c (read_lists): New function. Calls all the
11502 list reading functions.
11503 (grub_normal_execute): Use read_lists() instead of calling all
11504 list reading functions explicitly. Register read_lists() as a
11505 variable hook attached to ${prefix}.
11506
11507 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11508
11509 Merge crypto branch.
11510
11511 * Makefile.in (pkglib_DATA): Add crypto.lst.
11512 (crypto.lst): New target.
11513 * commands/hashsum.c: New file.
11514 * commands/password.c (check_password): Use grub_crypto_memcmp.
11515 * commands/password_pbkdf2.c: New file.
11516 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
11517 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
11518 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
11519 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
11520 -I$(srcdir)/lib/libgcrypt_wrap.
11521 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
11522 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
11523 password_pbkdf2.mod.
11524 (crypto_mod_SOURCES): New variable.
11525 (crypto_mod_CFLAGS): Likewise.
11526 (crypto_mod_LDFLAGS): Likewise.
11527 (hashsum_mod_SOURCES): New variable.
11528 (hashsum_mod_CFLAGS): Likewise.
11529 (hashsum_mod_LDFLAGS): Likewise.
11530 (pbkdf2_mod_SOURCES): New variable.
11531 (pbkdf2_mod_CFLAGS): Likewise.
11532 (pbkdf2_mod_LDFLAGS): Likewise.
11533 (password_pbkdf2_mod_SOURCES): New variable.
11534 (password_pbkdf2_mod_CFLAGS): Likewise.
11535 (password_pbkdf2_mod_LDFLAGS): Likewise.
11536 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
11537 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
11538 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
11539 Include conf/gcry.rmk.
11540 * include/grub/auth.h: Rewritten.
11541 * include/grub/crypto.h: New file.
11542 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
11543 * include/grub/normal.h (read_crypto_list): New prototype.
11544 * lib/crypto.c: New file.
11545 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
11546 * lib/pbkdf2.c: Likewise.
11547 * normal/auth.c (grub_auth_strcmp): Removed.
11548 (grub_iswordseparator): Likewise.
11549 (grub_auth_strword): Likewise.
11550 (is_authenticated): Use grub_strword.
11551 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
11552 and grub_strword. Pass entered password to authentication callback.
11553 * normal/crypto.c: New file.
11554 * normal/main.c: Call read_crypto_list.
11555 * util/grub-mkpasswd-pbkdf2.c: New file.
11556 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
11557
11558 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
11559
11560 Fix descent and ascent calculation.
11561
11562 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
11563 (options): New option "asce".
11564 (usage): Likewise.
11565 (add_char): Ignore invalid glyphs for descent calculation.
11566 Calculate ascent from actual content.
11567 (print_glyphs): Use 'asce'.
11568 (write_font): Likewise. Allow ascent override.
11569 (main): Handle "asce" option.
11570
11571 2010-01-06 Carles Pina i Estany <carles@pina.cat>
11572
11573 * kern/err.c: Include `<grub/i18n.h>'.
11574 (grub_print_error): Add full stop. Gettextizze.
11575 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
11576 (grub_bsd_load_elf): Capitalise ELF.
11577 (grub_cmd_freebsd_loadenv): Add `s' in error string.
11578 (grub_cmd_freebsd_module): Likewise.
11579 (grub_cmd_freebsd_module_elf): Likewise.
11580 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
11581
11582 2010-01-06 Carles Pina i Estany <carles@pina.cat>
11583
11584 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
11585 * commands/search_file.c (HELP_MESSAGE): New macro.
11586 * commands/search_label.c (HELP_MESSAGE): Likewise.
11587 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
11588 * po/POTFILES: Add `commands/search_file.c',
11589 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
11590 `commands/search.c'.
11591
11592 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
11593
11594 * config.rpath: Update from Gnulib.
11595
11596 2010-01-05 Yves Blusseau <blusseau@zetam.org>
11597
11598 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
11599
11600 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
11601
11602 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
11603
11604 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11605
11606 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
11607 arguments to fread so that we get a return value in bytes, rather
11608 than something that will normally be rounded down to 0.
11609 Adjust error handling to avoid producing garbage when size_t is not
11610 the same size as long long.
11611
11612 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11613
11614 * util/mkisofs/write.c (padblock_write): Check return value of
11615 fread.
11616
11617 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
11618
11619 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
11620 floppy images now.
11621
11622 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
11623
11624 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
11625
11626 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
11627 instead of manual alignment.
11628 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
11629 verbose). Avoid attempts to read past end of the device
11630 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
11631 but GRUB_DISK_CACHE_SIZE may exceed that).
11632
11633 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
11634
11635 * commands/crc.c (grub_cmd_crc): Abort on read errors.
11636 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
11637 it to upper layer.
11638
11639 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
11642 New constant.
11643 (grub_efi_piwg_device_path): New structure
11644 (grub_efi_piwg_device_path_t): New type.
11645 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
11646 (devpath_1): Transform to a structure. All users updated.
11647 (devpath_2): Likewise.
11648 (devpath_3): Likewise.
11649 (devpath_4): Likewise.
11650 (devpath_5): Likewise.
11651
11652 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * loader/efi/appleloader.c: Restored. Update all users.
11655
11656 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11657
11658 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
11659
11660 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
11661 (struct boot_blocklist): Move from here ...
11662 * include/grub/i386/pc/boot.h [ASM_FILE]
11663 (struct grub_boot_blocklist): ... to here. Update all users.
11664 (setup): Only initialize `start' member of `first_block'
11665 structure. Add assert() calls to verify the other members.
11666
11667 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
11668 (generate_image): Fix broken blocklist length initialization.
11669 Add assert() call to verify blocklist `segment' field.
11670
11671 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11672
11673 * loader/efi/appleloader.c: Remove. Update all users.
11674
11675 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11676
11677 * boot/i386/pc/boot.S: Update copyright year.
11678 * boot/i386/pc/cdboot.S: Likewise.
11679 * boot/i386/pc/diskboot.S: Likewise.
11680 * boot/i386/pc/lnxboot.S: Likewise.
11681 * boot/i386/pc/pxeboot.S: Likewise.
11682 * bus/pci.c: Likewise.
11683 * commands/cmp.c: Likewise.
11684 * commands/help.c: Likewise.
11685 * commands/hexdump.c: Likewise.
11686 * commands/i386/pc/halt.c: Likewise.
11687 * commands/i386/pc/play.c: Likewise.
11688 * commands/i386/pc/vbeinfo.c: Likewise.
11689 * commands/ls.c: Likewise.
11690 * commands/test.c: Likewise.
11691 * disk/dmraid_nvidia.c: Likewise.
11692 * disk/i386/pc/biosdisk.c: Likewise.
11693 * disk/ieee1275/nand.c: Likewise.
11694 * disk/ieee1275/ofdisk.c: Likewise.
11695 * disk/lvm.c: Likewise.
11696 * disk/raid.c: Likewise.
11697 * disk/raid6_recover.c: Likewise.
11698 * disk/scsi.c: Likewise.
11699 * fs/affs.c: Likewise.
11700 * fs/cpio.c: Likewise.
11701 * fs/ext2.c: Likewise.
11702 * fs/hfs.c: Likewise.
11703 * fs/iso9660.c: Likewise.
11704 * fs/ntfs.c: Likewise.
11705 * fs/sfs.c: Likewise.
11706 * fs/udf.c: Likewise.
11707 * fs/ufs.c: Likewise.
11708 * fs/xfs.c: Likewise.
11709 * gencmdlist.sh: Likewise.
11710 * genmk.rb: Likewise.
11711 * include/grub/disk.h: Likewise.
11712 * include/grub/efi/api.h: Likewise.
11713 * include/grub/efi/efi.h: Likewise.
11714 * include/grub/efi/pe32.h: Likewise.
11715 * include/grub/elf.h: Likewise.
11716 * include/grub/fs.h: Likewise.
11717 * include/grub/i386/at_keyboard.h: Likewise.
11718 * include/grub/i386/pc/memory.h: Likewise.
11719 * include/grub/i386/pc/vbe.h: Likewise.
11720 * include/grub/i386/pci.h: Likewise.
11721 * include/grub/i386/tsc.h: Likewise.
11722 * include/grub/ieee1275/ieee1275.h: Likewise.
11723 * include/grub/ntfs.h: Likewise.
11724 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
11725 * include/grub/sparc64/libgcc.h: Likewise.
11726 * include/grub/symbol.h: Likewise.
11727 * include/grub/types.h: Likewise.
11728 * include/multiboot2.h: Likewise.
11729 * io/gzio.c: Likewise.
11730 * kern/device.c: Likewise.
11731 * kern/disk.c: Likewise.
11732 * kern/efi/efi.c: Likewise.
11733 * kern/efi/mm.c: Likewise.
11734 * kern/elf.c: Likewise.
11735 * kern/file.c: Likewise.
11736 * kern/i386/dl.c: Likewise.
11737 * kern/i386/pc/init.c: Likewise.
11738 * kern/i386/pc/startup.S: Likewise.
11739 * kern/ieee1275/ieee1275.c: Likewise.
11740 * kern/ieee1275/init.c: Likewise.
11741 * kern/main.c: Likewise.
11742 * kern/mm.c: Likewise.
11743 * kern/powerpc/dl.c: Likewise.
11744 * kern/sparc64/dl.c: Likewise.
11745 * kern/x86_64/dl.c: Likewise.
11746 * lib/hexdump.c: Likewise.
11747 * loader/efi/appleloader.c: Likewise.
11748 * loader/i386/ieee1275/linux.c: Likewise.
11749 * loader/i386/pc/chainloader.c: Likewise.
11750 * loader/i386/pc/linux.c: Likewise.
11751 * loader/i386/pc/multiboot2.c: Likewise.
11752 * loader/ieee1275/multiboot2.c: Likewise.
11753 * loader/multiboot2.c: Likewise.
11754 * loader/multiboot_loader.c: Likewise.
11755 * loader/powerpc/ieee1275/linux.c: Likewise.
11756 * normal/completion.c: Likewise.
11757 * normal/menu_entry.c: Likewise.
11758 * partmap/apple.c: Likewise.
11759 * util/grub.d/10_hurd.in: Likewise.
11760 * util/hostfs.c: Likewise.
11761 * video/readers/png.c: Likewise.
11762
11763 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
11764
11765 * include/grub/misc.h (GNUC_PREREQ): New macro.
11766 (ATTRIBUTE_ERROR): New macro.
11767 * include/grub/list.h (grub_bad_type_cast_real): Use
11768 ATTRIBUTE_ERROR.
11769
11770 2010-01-03 Carles Pina i Estany <carles@pina.cat>
11771
11772 * normal/menu_text.c (print_message): Change messages.
11773
11774 2010-01-03 Carles Pina i Estany <carles@pina.cat>
11775
11776 * normal/menu_entry.c (store_completion): Gettextizze.
11777
11778 2010-01-03 Carles Pina i Estany <carles@pina.cat>
11779
11780 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
11781
11782 2010-01-03 Carles Pina i Estany <carles@pina.cat>
11783
11784 * po/POTFILES: Sort correctly.
11785
11786 2010-01-03 Carles Pina i Estany <carles@pina.cat>
11787
11788 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
11789 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
11790 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
11791 full stop.
11792 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
11793 summary. Gettextizze the strings.
11794 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
11795 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
11796 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
11797 full stop.
11798 (GRUB_MOD_INIT): Remove command name from summary.
11799 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
11800 summary.
11801 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
11802 * term/i386/pc/serial.c (options): Add full stops.
11803 (GRUB_MOD_INIT): Remove command name from the summary.
11804
11805 2010-01-03 Carles Pina i Estany <carles@pina.cat>
11806
11807 * commands/acpi.c: Gettextizze help strings and/or options. Include
11808 `grub/i18n.h' if needed.
11809 * commands/blocklist.c: Likewise.
11810 * commands/boot.c: Likewise.
11811 * commands/cat.c: Likewise.
11812 * commands/cmp.c: Likewise.
11813 * commands/configfile.c: Likewise.
11814 * commands/crc.c: Likewise.
11815 * commands/date.c: Likewise.
11816 * commands/echo.c: Likewise.
11817 * commands/efi/fixvideo.c: Likewise.
11818 * commands/efi/loadbios.c: Likewise.
11819 * commands/gptsync.c: Likewise.
11820 * commands/halt.c: Likewise.
11821 * commands/handler.c: Likewise.
11822 * commands/hdparm.c: Likewise.
11823 * commands/hexdump.c: Likewise.
11824 * commands/i386/cpuid.c: Likewise.
11825 * commands/i386/pc/drivemap.c: Likewise.
11826 * commands/i386/pc/halt.c: Likewise.
11827 * commands/i386/pc/pxecmd.c: Likewise.
11828 * commands/i386/pc/vbeinfo.c: Likewise.
11829 * commands/i386/pc/vbetest.c: Likewise.
11830 * commands/ieee1275/suspend.c: Likewise.
11831 * commands/keystatus.c: Likewise.
11832 * commands/loadenv.c: Likewise.
11833 * commands/ls.c: Likewise.
11834 * commands/lsmmap.c: Likewise.
11835 * commands/lspci.c: Likewise.
11836 * commands/memrw.c: Likewise.
11837 * commands/minicmd.c: Likewise.
11838 * commands/parttool.c: Likewise.
11839 * commands/password.c: Likewise.
11840 * commands/probe.c: Likewise.
11841 * commands/read.c: Likewise.
11842 * commands/reboot.c: Likewise.
11843 * commands/search.c: Likewise.
11844 * commands/sleep.c: Likewise.
11845 * commands/test.c: Likewise.
11846 * commands/true.c: Likewise.
11847 * commands/usbtest.c: Likewise.
11848 * commands/videotest.c: Likewise.
11849 * commands/xnu_uuid.c: Likewise.
11850 * disk/loopback.c: Likewise.
11851 * hello/hello.c: Likewise.
11852 * loader/i386/bsd.c: Likewise.
11853 * term/i386/pc/serial.c: Likewise.
11854 * po/POTFILES: Add new files.
11855
11856 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
11857
11858 * term/i386/pc/at_keyboard.c
11859 (keyboard_controller_wait_untill_ready): Rename to ...
11860 (keyboard_controller_wait_until_ready): ... this. Update all users.
11861
11862 2010-01-01 Carles Pina i Estany <carles@pina.cat>
11863
11864 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
11865 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
11866 string using string width.
11867 * normal/menu_text.c (grub_print_message_indented): Use
11868 grub_print_spaces and not print_spaces.
11869 (print_timeout): Likewise.
11870 (print_spaces): Move to...
11871 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
11872
11873 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
11874
11875 Import from Gnulib.
11876
11877 * gnulib/getdelim.c: New file.
11878 * gnulib/getline.c: Likewise.
11879
11880 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
11881
11882 * include/grub/list.h (grub_assert_fail): Removed.
11883 (grub_bad_type_cast_real): New function.
11884 (grub_bad_type_cast): New macro.
11885 (GRUB_AS_LIST): Use grub_bad_type_cast.
11886 (GRUB_AS_LIST_P): Likewise.
11887 (GRUB_AS_NAMED_LIST): Likewise.
11888 (GRUB_AS_NAMED_LIST_P): Likewise.
11889 (GRUB_AS_PRIO_LIST): Likewise.
11890 (GRUB_AS_PRIO_LIST_P): Likewise.
11891 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
11892
11893 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
11894
11895 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
11896 Fix syntax error.
11897
11898 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
11899
11900 * configure.ac: Check for TARGET_CFLAGS initialization before we
11901 initialize it ourselves (sigh).
11902 Move a few modifications to TARGET_CFLAGS to be unconditional
11903 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
11904 eh_frame)
11905
11906 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
11907 * term/i386/pc/at_keyboard.c
11908 (keyboard_controller_wait_untill_ready): Likewise.
11909 (keyboard_controller_led): Rename `led_status' paramter to avoid
11910 name conflict.
11911
11912 2009-12-28 Carles Pina i Estany <carles@pina.cat>
11913
11914 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
11915 quotes.
11916
11917 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11918
11919 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
11920
11921 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * normal/menu_text.c (grub_print_message_indented): Prevent
11924 past-the-end-of-array dereference.
11925
11926 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
11929 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
11930
11931 2009-12-27 Carles Pina i Estany <carles@pina.cat>
11932
11933 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
11934 * normal/main.c (grub_normal_read_line): Remove a space from the
11935 default prompt.
11936
11937 2009-12-27 Carles Pina i Estany <carles@pina.cat>
11938
11939 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
11940 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11941 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
11942 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
11943 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11944 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11945 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11946
11947 2009-12-26 Carles Pina i Estany <carles@pina.cat>
11948
11949 * video/readers/jpeg.c (cmd): Declare.
11950 (grub_cmd_jpegtest): Use `grub_command_t' type.
11951 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11952 Assign to `cmd'.
11953 (GRUB_MOD_FINI): Use `cmd' to unregister.
11954 * video/readers/png.c (cmd): Declare.
11955 (grub_cmd_pngtest): Use `grub_command_t' type.
11956 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11957 Assign to `cmd'.
11958 (GRUB_MOD_FINI): Use `cmd' to unregister.
11959 * video/readers/tga.c (cmd): Declare.
11960 (grub_cmd_tgatest): Use `grub_command_t' type.
11961 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11962 Assign to `cmd'.
11963 (GRUB_MOD_FINI): Use `cmd' to unregister.
11964
11965 2009-12-26 Carles Pina i Estany <carles@pina.cat>
11966
11967 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
11968 stops.
11969 * kern/corecmd.c (grub_register_core_commands): Likewise.
11970 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
11971 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
11972 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
11973 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11974 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
11975 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
11976 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
11977 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
11978 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11979 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11980 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11981 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
11982 * normal/handler.c (insert_handler): Likewise.
11983 * normal/main.c (GRUB_MOD_INIT): Likewise.
11984 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
11985
11986 2009-12-26 Carles Pina i Estany <carles@pina.cat>
11987
11988 * commands/help.c (grub_cmd_help): Print the command name before the
11989 summary.
11990 (GRUB_MOD_INIT): Remove command name from the summary.
11991 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
11992 string as summary.
11993 * lib/arg.c (find_long): Print the command name before the summary.
11994 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
11995 summary.
11996 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
11997 * commands/cat.c (GRUB_MOD_INIT): Likewise.
11998 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
11999 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
12000 * commands/crc.c (GRUB_MOD_INIT): Likewise.
12001 * commands/date.c (GRUB_MOD_INIT): Likewise.
12002 * commands/echo.c (GRUB_MOD_INIT): Likewise.
12003 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
12004 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12005 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12006 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
12007 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
12008 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
12009 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
12010 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12011 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
12012 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
12013 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
12014 * commands/ls.c (GRUB_MOD_INIT): Likewise.
12015 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12016 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12017 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12018 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
12019 * commands/password.c (GRUB_MOD_INIT): Likewise.
12020 * commands/probe.c (GRUB_MOD_INIT): Likewise.
12021 * commands/read.c (GRUB_MOD_INIT): Likewise.
12022 * commands/search.c (GRUB_MOD_INIT): Likewise.
12023 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
12024 * commands/test.c (GRUB_MOD_INIT): Likewise.
12025 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
12026 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12027 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12028 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
12029 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12030 * lib/arg.c (GRUB_MOD_INIT): Likewise.
12031 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
12032 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12033 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12034 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12035 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12036 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
12037 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
12038 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
12039
12040 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12041
12042 Use search command for preliminar UUID search.
12043
12044 * commands/search.c: Split into ...
12045 * commands/search_wrap.c: ...this
12046 * commands/search.c: ...and this.
12047 * commands/search_file.c: New file.
12048 * commands/search_label.c: New file.
12049 * commands/search_uuid.c: New file.
12050 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
12051 Add commands/search_wrap.c, commands/search_file.c,
12052 commands/search_label.c and commands/search_uuid.c.
12053 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
12054 (search_mod_SOURCES): Set to commands/search_wrap.c.
12055 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
12056 search_label.mod.
12057 (search_fs_file_mod_SOURCES): New variable.
12058 (search_fs_file_mod_CFLAGS): Likewise.
12059 (search_fs_file_mod_LDFLAGS): Likewise.
12060 (search_label_mod_SOURCES): Likewise.
12061 (search_label_mod_CFLAGS): Likewise.
12062 (search_label_mod_LDFLAGS): Likewise.
12063 (search_fs_uuid_mod_SOURCES): New variable.
12064 (search_fs_uuid_mod_CFLAGS): Likewise.
12065 (search_fs_uuid_mod_LDFLAGS): Likewise.
12066 (fs_file_mod_SOURCES): Removed.
12067 (fs_file_mod_CFLAGS): Likewise.
12068 (fs_file_mod_LDFLAGS): Likewise.
12069 (fs_uuid_mod_SOURCES): Removed.
12070 (fs_uuid_mod_CFLAGS): Likewise.
12071 (fs_uuid_mod_LDFLAGS): Likewise.
12072 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
12073 Set to util/grub-install.in.
12074 * disk/fs_file.c: Removed.
12075 * disk/fs_uuid.c: Likewise.
12076 * include/grub/search.h: New file.
12077 * util/grub-install.in: Handle sparc64.
12078 Create and use load.cfg.
12079 * util/sparc64/ieee1275/grub-install.in: Removed.
12080
12081 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12082
12083 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
12084 Ignore return status if CF is cleared.
12085 (grub_biosdisk_get_diskinfo_standard): Likewise.
12086
12087 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12088
12089 * term/i386/pc/at_keyboard.c
12090 (keyboard_controller_wait_untill_ready): New function.
12091 (grub_keyboard_controller_write, grub_keyboard_controller_read)
12092 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
12093 for keyboard polling, rather than duplicate the same loop. This
12094 saves a few bytes in code size.
12095
12096 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12097
12098 Support for (pxe[:server[:gateway]]) syntax and
12099 use environment variable for PXE.
12100
12101 * commands/i386/pc/pxecmd.c (options): Removed.
12102 (print_ip): Removed.
12103 (grub_cmd_pxe): Removed
12104 (grub_cmd_pxe_unload): New function.
12105 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
12106 (grub_pxe_your_ip): Made static.
12107 (grub_pxe_default_server_ip): Likewise.
12108 (grub_pxe_default_gateway_ip): Likewise.
12109 (grub_pxe_blksize): Likewise.
12110 (parse_ip): New function.
12111 (grub_pxe_open): Support server and gateway specification.
12112 (grub_pxe_close): Free disk->data.
12113 (grub_pxefs_open): Use disk->data.
12114 (grub_pxefs_read): Likewise.
12115 (grub_env_write_readonly): New function.
12116 (set_mac_env): Likewise.
12117 (set_env_limn_ro): Likewise.
12118 (parse_dhcp_vendor): Likewise.
12119 (grub_pxe_detect): Set the environment variables.
12120 (set_ip_env): New function.
12121 (write_ip_env): Likewise.
12122 (grub_env_write_pxe_default_server): Likewise.
12123 (grub_env_write_pxe_default_gateway): Likewise.
12124 (grub_env_write_pxe_blocksize): Likewise.
12125 (GRUB_MOD_INIT(pxe)): Set environment variables.
12126 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
12127 (grub_pxe_mac_addr_t): ... this. All users updated.
12128 (grub_pxe_your_ip): Removed.
12129 (grub_pxe_server_ip): Likewise.
12130 (grub_pxe_gateway_ip): Likewise.
12131 (grub_pxe_blksize): Likewise.
12132
12133 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12134
12135 * commands/help.c: Include `<grub/i18n.h>'.
12136 (grub_cmd_help): Gettextizze.
12137 (GRUB_MOD_INIT): Likewise.
12138 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
12139 (GRUB_MOD_INIT): Gettextizze.
12140 * commands/search.c: Include `<grub/i18n.h>'.
12141 (options): Gettextizze.
12142 (GRUB_MOD_INIT): Gettextizze.
12143 * lib/arg.c: Include `<grub/i18n.h>'.
12144 (help_options): Gettextizze.
12145 (find_long): Likewise.
12146 (grub_arg_show_help): Likewise.
12147 * normal/dyncmd.c: Include `<grub/i18n.h>'.
12148 (read_command_list): Gettextizze.
12149 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
12150 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
12151
12152 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12153
12154 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
12155 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
12156 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
12157 (led_status): New variable.
12158 (keyboard_controller_led): New function.
12159 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
12160 update led status for caps lock, num lock and scroll lock.
12161
12162 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
12163
12164 * util/hostdisk.c (open_device): Fix a comment.
12165
12166 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12167
12168 * util/grub-install.in (host_os): New variable.
12169 * util/i386/efi/grub-install.in (host_os): Likewise.
12170
12171 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12172
12173 * util/mkisofs/write.c (padblock_write): Abort when given an
12174 excedingly large embed image, instead of silently truncating it.
12175
12176 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12177
12178 * include/multiboot.h: Indentation fixes.
12179
12180 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12181
12182 * include/multiboot.h (struct multiboot_aout_symbol_table)
12183 (struct multiboot_elf_section_header_table): New structure
12184 declarations (stolen from GRUB Legacy).
12185 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
12186 table information.
12187
12188 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
12189 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
12190 type aliases.
12191
12192 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12193
12194 * include/multiboot.h: Make comments src2texi-friendly.
12195
12196 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12197
12198 For consistency with [multiboot]/docs/boot.S.
12199
12200 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
12201 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
12202 (MULTIBOOT_MAGIC2): Rename from this ...
12203 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
12204
12205 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12206
12207 * include/multiboot.h: Remove `<grub/types.h>'.
12208 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
12209 types. Update all users.
12210
12211 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12212
12213 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
12214 `couldn't' and `can not' by `cannot'.
12215 * commands/i386/pc/drivemap.c: Likewise.
12216 * disk/ata.c: Likewise.
12217 * disk/ieee1275/nand.c: Likewise.
12218 * fs/affs.c: Likewise.
12219 * fs/fat.c: Likewise.
12220 * fs/hfs.c: Likewise.
12221 * fs/hfsplus.c: Likewise.
12222 * fs/iso9660.c: Likewise.
12223 * fs/jfs.c: Likewise.
12224 * fs/minix.c: Likewise.
12225 * fs/reiserfs.c: Likewise.
12226 * fs/sfs.c: Likewise.
12227 * fs/udf.c: Likewise.
12228 * fs/ufs.c: Likewise.
12229 * fs/xfs.c: Likewise.
12230 * loader/powerpc/ieee1275/linux.c: Likewise.
12231 * loader/sparc64/ieee1275/linux.c: Likewise.
12232 * util/grub-probe.c: Likewise.
12233 * util/misc.c: Likewise.
12234
12235 2009-12-24 Carles Pina i Estany <carles@pina.cat>
12236
12237 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
12238 grub_errno calls.
12239 * commands/acpi.c: Likewise.
12240 * commands/blocklist.c: Likewise.
12241 * commands/efi/loadbios.c: Likewise.
12242 * commands/i386/pc/drivemap.c: Likewise.
12243 * commands/loadenv.c: Likewise.
12244 * commands/memrw.c: Likewise.
12245 * commands/password.c: Likewise.
12246 * commands/videotest.c: Likewise.
12247 * disk/ata.c: Likewise.
12248 * disk/ata_pthru.c: Likewise.
12249 * disk/dmraid_nvidia.c: Likewise.
12250 * disk/ieee1275/nand.c: Likewise.
12251 * disk/ieee1275/ofdisk.c: Likewise.
12252 * disk/loopback.c: Likewise.
12253 * disk/lvm.c: Likewise.
12254 * disk/mdraid_linux.c: Likewise.
12255 * disk/raid.c: Likewise.
12256 * disk/raid6_recover.c: Likewise.
12257 * disk/scsi.c: Likewise.
12258 * efiemu/main.c: Likewise.
12259 * efiemu/mm.c: Likewise.
12260 * efiemu/pnvram.c: Likewise.
12261 * efiemu/symbols.c: Likewise.
12262 * font/font.c: Likewise.
12263 * fs/cpio.c: Likewise.
12264 * fs/hfsplus.c: Likewise.
12265 * fs/iso9660.c: Likewise.
12266 * fs/jfs.c: Likewise.
12267 * fs/minix.c: Likewise.
12268 * fs/ntfs.c: Likewise.
12269 * fs/ntfscomp.c: Likewise.
12270 * fs/reiserfs.c: Likewise.
12271 * fs/ufs.c: Likewise.
12272 * fs/xfs.c: Likewise.
12273 * gettext/gettext.c: Likewise.
12274 * include/grub/auth.h: Likewise.
12275 * kern/elf.c: Likewise.
12276 * kern/file.c: Likewise.
12277 * kern/ieee1275/init.c: Likewise.
12278 * kern/ieee1275/mmap.c: Likewise.
12279 * kern/ieee1275/openfw.c: Likewise.
12280 * kern/powerpc/dl.c: Likewise.
12281 * kern/sparc64/dl.c: Likewise.
12282 * lib/arg.c: Likewise.
12283 * loader/i386/bsd.c: Likewise.
12284 * loader/i386/bsdXX.c: Likewise.
12285 * loader/i386/efi/linux.c: Likewise.
12286 * loader/i386/efi/xnu.c: Likewise.
12287 * loader/i386/ieee1275/linux.c: Likewise.
12288 * loader/i386/linux.c: Likewise.
12289 * loader/i386/multiboot.c: Likewise.
12290 * loader/i386/pc/linux.c: Likewise.
12291 * loader/i386/pc/multiboot2.c: Likewise.
12292 * loader/i386/xnu.c: Likewise.
12293 * loader/ieee1275/multiboot2.c: Likewise.
12294 * loader/macho.c: Likewise.
12295 * loader/machoXX.c: Likewise.
12296 * loader/multiboot2.c: Likewise.
12297 * loader/multiboot_loader.c: Likewise.
12298 * loader/powerpc/ieee1275/linux.c: Likewise.
12299 * loader/sparc64/ieee1275/linux.c: Likewise.
12300 * loader/xnu.c: Likewise.
12301 * loader/xnu_resume.c: Likewise.
12302 * mmap/i386/pc/mmap.c: Likewise.
12303 * normal/menu_viewer.c: Likewise.
12304 * partmap/acorn.c: Likewise.
12305 * partmap/amiga.c: Likewise.
12306 * partmap/apple.c: Likewise.
12307 * script/lexer.c: Likewise.
12308 * term/gfxterm.c: Likewise.
12309 * term/i386/pc/serial.c: Likewise.
12310 * term/i386/pc/vga.c: Likewise.
12311 * term/ieee1275/ofconsole.c: Likewise.
12312 * term/terminfo.c: Likewise.
12313 * video/bitmap.c: Likewise.
12314 * video/efi_gop.c: Likewise.
12315 * video/efi_uga.c: Likewise.
12316 * video/fb/video_fb.c: Likewise.
12317 * video/i386/pc/vbe.c: Likewise.
12318 * video/readers/tga.c: Likewise.
12319 * video/video.c: Likewise.
12320
12321 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
12322
12323 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
12324 * commands/lspci.c: Likewise.
12325 * commands/probe.c: Likewise.
12326 * commands/xnu_uuid.c: Likewise.
12327 * conf/i386-coreboot.rmk: Likewise.
12328 * conf/i386-efi.rmk: Likewise.
12329 * conf/i386-ieee1275.rmk: Likewise.
12330 * conf/i386-pc.rmk: Likewise.
12331 * conf/powerpc-ieee1275.rmk: Likewise.
12332 * conf/sparc64-ieee1275.rmk: Likewise.
12333 * conf/x86_64-efi.rmk: Likewise.
12334 * fs/i386/pc/pxe.c: Likewise.
12335 * gettext/gettext.c: Likewise.
12336 * include/grub/efi/graphics_output.h: Likewise.
12337 * include/grub/i386/pc/memory.h: Likewise.
12338 * kern/env.c: Likewise.
12339 * kern/i386/qemu/startup.S: Likewise.
12340 * lib/i386/pc/biosnum.c: Likewise.
12341 * lib/i386/relocator.c: Likewise.
12342 * lib/i386/relocator_asm.S: Likewise.
12343 * lib/relocator.c: Likewise.
12344 * loader/i386/bsd.c: Likewise.
12345 * loader/i386/multiboot.c: Likewise.
12346 * loader/i386/pc/chainloader.c: Likewise.
12347 * loader/i386/xnu.c: Likewise.
12348 * loader/xnu.c: Likewise.
12349 * normal/main.c: Likewise.
12350 * normal/menu_text.c: Likewise.
12351 * util/getroot.c: Likewise.
12352 * util/grub-mkconfig_lib.in: Likewise.
12353 * util/grub.d/00_header.in: Likewise.
12354 * util/i386/pc/grub-mkimage.c: Likewise.
12355 * util/mkisofs/eltorito.c: Likewise.
12356 * util/mkisofs/exclude.h: Likewise.
12357 * util/mkisofs/hash.c: Likewise.
12358 * util/mkisofs/iso9660.h: Likewise.
12359 * util/mkisofs/joliet.c: Likewise.
12360 * util/mkisofs/mkisofs.c: Likewise.
12361 * util/mkisofs/mkisofs.h: Likewise.
12362 * util/mkisofs/multi.c: Likewise.
12363 * util/mkisofs/name.c: Likewise.
12364 * util/mkisofs/rock.c: Likewise.
12365 * util/mkisofs/tree.c: Likewise.
12366 * util/mkisofs/write.c: Likewise.
12367 * video/efi_gop.c: Likewise.
12368
12369 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
12372 size counting.
12373
12374 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12375
12376 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
12377 * genmk.rb (class SCRIPT): Modify the target file instead of source.
12378
12379 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12380
12381 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
12382 (GRUB_MOD_INIT(memrw)): Update help line.
12383
12384 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12385
12386 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
12387 Use grub_extcmd_t. All users updated.
12388 (options): New variable.
12389 (grub_cmd_read): Restructure for readability. Support "-v" option.
12390 (grub_cmd_write): Restructure for readability.
12391
12392 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12393
12394 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
12395
12396 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12397
12398 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
12399 with the actual contents of the correspondending make variable.
12400 * util/grub-mkrescue.in (pkglib_DATA): New variable.
12401 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
12402 specifying `*.lst' and `efiemu??.o'
12403
12404 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12405
12406 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
12407 after function name.
12408 Noticed by Rene Engelhard <rene@debian.org>.
12409
12410 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
12413 (options): New variable.
12414 (iospace): Likewise.
12415 (grub_lspci_iter): List IO spaces if "-i" was given.
12416 (grub_cmd_lspci): Parse options.
12417 (GRUB_MOD_INIT(lspci)): Use extcmd.
12418 (GRUB_MOD_FINI(lspci)): Likewise.
12419
12420 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12421
12422 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
12423 `function' keyword.
12424 Patch by Tony Mancill <tmancill@debian.org>.
12425
12426 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
12429 (grub_uhci_portstatus): Likewise.
12430 (grub_uhci_portstatus): Add necessary delay.
12431 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
12432
12433 2009-12-21 Carles Pina i Estany <carles@pina.cat>
12434
12435 * commands/acpi.c (options): Fix capitalizations and/or full stops.
12436 (GRUB_MOD_INIT): Likewise.
12437 * commands/boot.c (GRUB_MOD_INIT): Likewise.
12438 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
12439 * commands/echo.c (options): Fix capitalizations and/or full stops.
12440 * commands/efi/loadbios.c (enable_rom_area): Likewise.
12441 (enable_rom_area): Likewise.
12442 (GRUB_MOD_INIT): Likewise.
12443 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12444 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
12445 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12446 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
12447 * commands/hexdump.c (options): Likewise.
12448 * commands/i386/cpuid.c (options): Likewise.
12449 (GRUB_MOD_INIT): Likewise.
12450 * commands/i386/pc/drivemap.c (options): Likewise.
12451 (GRUB_MOD_INIT): Likewise.
12452 * commands/i386/pc/halt (options): Likewise.
12453 (GRUB_MOD_INIT): Likewise.
12454 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12455 * commands/i386/pc/pxecmd.c (options): Likewise.
12456 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
12457 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
12458 * commands/keystatus.c (options): Likewise.
12459 (GRUB_MOD_INIT): Likewise.
12460 * commands/loadenv.c (options): Likewise.
12461 * commands/ls.c (options): Likewise.
12462 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12463 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12464 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12465 * commands/parttool.c (helpmsg): Likewise.
12466 * commands/probe.c (options): Likewise.
12467 * commands/read.c (GRUB_MOD_INIT): Likewise.
12468 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
12469 * commands/search.c (options): Likewise.
12470 * commands/sleep.c (options): Likewise.
12471 * commands/test.c (GRUB_MOD_INIT): Likewise.
12472 * commands/true.c (GRUB_MOD_INIT): Likewise.
12473 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
12474 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
12475 * lib/arg.c (help_options): Likewise.
12476 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
12477 `$(XGETTEXT)'.
12478 * po/POTFILES: Add `commands/loadenv.c'.
12479
12480 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
12481
12482 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
12483 instead of specifying them explicit.
12484
12485 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12486
12487 * NEWS: Add grub-probe support for GNU/Hurd.
12488
12489 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12490
12491 * NEWS: gettext was added after 1.97.
12492
12493 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12494
12495 * util/mkisofs/msdos_partition.h: New file (based on
12496 include/grub/msdos_partition.h).
12497 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
12498 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
12499 (ld_options, main): Recognize --protective-msdos-label.
12500 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
12501 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
12502 (padblock_write): If `use_protective_msdos_label' is set, patch a
12503 protective DOS-style label in the output image.
12504
12505 * util/grub-mkrescue.in: Use --protective-msdos-label.
12506
12507 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12508
12509 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
12510 boot.
12511
12512 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12513
12514 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
12515 variables.
12516 (ld_options, main): Recognize `--embedded-boot'.
12517 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
12518 declarations.
12519 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
12520 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
12521 (padblock_write): Likewise. Rewrite to support embedded boot image.
12522
12523 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
12524 for BIOS-based disk boot instead of only ElTorito.
12525
12526 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12527
12528 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
12529 build (not needed for bootstrap).
12530
12531 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12532
12533 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
12534 from i386-pc build (not needed for bootstrap).
12535 Rewrite a pair of strings.
12536
12537 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12538
12539 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
12540
12541 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
12544
12545 2009-12-21 Andreas Born <futur.andy@googlemail.com>
12546
12547 * kern/env.c (grub_env_context_open): Mark exported variable for
12548 reexport.
12549
12550 2009-12-21 Andreas Born <futur.andy@googlemail.com>
12551
12552 * kern/env.c (grub_env_export): Create nonexistent variables before
12553 exporting.
12554
12555 2009-12-20 Carles Pina i Estany <carles@pina.cat>
12556
12557 * include/grub/auth.h: Include `<grub/i18n.h>'.
12558 (GRUB_GET_PASSWORD): Gettextizze string.
12559 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
12560 menu_text.c.
12561 (grub_utf8_to_ucs4_alloc): Fix indentation.
12562 (grub_print_ucs4): Likewise.
12563 (grub_getstringwidth): Likewise.
12564 (print_message_indented): New declaration.
12565 * normal/auth.c: Include `<grub/i18n.h>'.
12566 (grub_auth_check_authentication): Gettexttize string.
12567 * normal/cmdline.c: Include `<grub/i18n.h>'.
12568 (grub_cmdline_get): Gettextizze.
12569 * normal/color.c: Include `<grub/i18n.h>'.
12570 (grub_parse_color_name_pair): Gettexttize strings.
12571 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
12572 string (use `print_message_indented').
12573 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
12574 `include/grub/normal.h'.
12575 (print_message_indented): Renamed to ...
12576 (grub_print_message_indented): ... this. Remove `static' qualifer (now
12577 used in normal/main.c).
12578 (print_message): Use `grub_print_message_indented' instead of
12579 `print_message_indented'.
12580 (print_timeout): Likewise.
12581 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
12582 (grub_normal_print_device_info): Gettexttize strings.
12583 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
12584
12585 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
12588 of arguments. Return number of tokens and not arguments. All users
12589 updated.
12590
12591 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12592
12593 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
12594 non-MSDOS paritions.
12595
12596 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12597
12598 * include/grub/types.h (UNUSED): Removed since it conflicts with
12599 NetBSD headers. All users changed to direct __attribute__ ((unused)).
12600 Reported by Grégoire Sutre.
12601
12602 2009-12-19 Carles Pina i Estany <carles@pina.cat>
12603
12604 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
12605 (grub_print_ucs4_alloc): Likewise.
12606 (grub_getstringwidth): Likewise.
12607 * normal/main.c (grub_normal_init_page): Gettextize version string.
12608 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
12609 (getstringwidth): Renamed to ...
12610 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
12611 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
12612 (grub_print_ucs4): Remove `static' qualifer (now used in
12613 normal/main.c).
12614 * po/POTFILES: Add normal/main.c.
12615
12616 2009-12-19 Carles Pina i Estany <carles@pina.cat>
12617
12618 * normal/menu_text.c (STANDARD_MARGIN): New macro.
12619 (print_message_indented): Add `margin_left' and `margin_right'
12620 parameters.
12621 (print_message): Update `print_message_indented' calls. Adds '\n' to the
12622 strings.
12623 (print_timeout): Use `print_message_indented' to print the message.
12624 Deletes `second_stage' parameter.
12625 (run_menu): Update `print_timeout' calls.
12626
12627 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12628
12629 Fix console palette on OpenFirmware.
12630
12631 * term/ieee1275/ofconsole.c (MAX): Removed.
12632 (colors): Redone based on VGA palette.
12633 (grub_ofconsole_setcolor): Discard brightness bit since only 8
12634 colors are supported.
12635 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
12636
12637 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 Fix potential EfiEmu double prepare.
12640
12641 * efiemu/main.c (prepared): New variable
12642 (grub_efiemu_unload): Set prepare to '0'.
12643 (grub_efiemu_prepare): Return if already prepared. Set prepared.
12644
12645 set_virtual_address_map support.
12646
12647 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
12648 prototype.
12649 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
12650 prototype.
12651 (grub_efiemu_crc32): Likewise.
12652 (grub_efiemu_crc64): Likewise.
12653 (grub_efiemu_set_virtual_address_map): Likewise.
12654 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
12655 New definition.
12656 (grub_autoefi_set_virtual_address_map): Likewise.
12657 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
12658 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
12659 Restructure flow to accomodate it.
12660 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
12661 (grub_efiemu_crc): Recompute CRC32.
12662 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
12663 (efiemu_ptv_relocated): ... this. Made global. All users updated.
12664 * efiemu/symbols.c (relocated_handle): New variable.
12665 (grub_efiemu_free_syms): Free relocated_handle.
12666 (grub_efiemu_alloc_syms): Allocate relocated_handle.
12667 (grub_efiemu_write_sym_markers): New function.
12668 (grub_efiemu_set_virtual_address_map): Likewise.
12669
12670 Newer XNU parameters.
12671
12672 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
12673 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
12674 (grub_xnu_fill_devicetree): New prototype.
12675 (grub_xnu_heap_real_start): New variable.
12676 * loader/xnu.c (get_name_ptr): New function.
12677 (grub_xnu_load_driver): Fill namelen and name.
12678
12679 64-bit xnu support.
12680
12681 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
12682 and 'loader/macho64.c'.
12683 * conf/i386-pc.rmk: Likewise.
12684 * conf/x86_64-efi.rmk: Likewise.
12685 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
12686 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
12687 * include/grub/macho.h (grub_macho_segment64): New structure.
12688 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
12689 (grub_macho_size32): ... to this.
12690 (grub_macho32_get_entry_point): Renamed from ...
12691 (grub_macho_get_entry_point32): ... to this.
12692 (grub_macho_contains_macho64): New prototype.
12693 (grub_macho_size64): Likewise.
12694 (grub_macho_get_entry_point64): Likewise.
12695 (grub_macho32_load): Renamed from ...
12696 (grub_macho_load32): ... to this.
12697 (grub_macho32_filesize): Renamed from ...
12698 (grub_macho_filesize32): ... to this.
12699 (grub_macho32_readfile): Renamed from ...
12700 (grub_macho_readfile32): ... to this.
12701 (grub_macho_filesize64): New prototype.
12702 (grub_macho_readfile64): Likewise.
12703 (grub_macho_parse32): Likewise.
12704 (grub_macho_parse64): Likewise.
12705 * loader/macho.c: Split into ...
12706 * loader/machoXX.c: ... and this. Replace 32 with XX.
12707 * loader/macho32.c: New file.
12708 * loader/macho64.c: Likewise.
12709 * loader/xnu.c (grub_xnu_is_64bit): New variable.
12710 (grub_cmd_xnu_kernel): Make 32-bit only.
12711 (grub_cmd_xnu_kernel64): New function.
12712 (grub_xnu_load_driver): Support Mach-O 64.
12713 (grub_cmd_xnu_mkext): Likewise.
12714 * util/grub.d/30_os-prober.in (osx_entry): New function.
12715 Generate entries for 64-bit boot too.
12716
12717 Eliminate ad-hoc tree format in XNU and EfiEmu.
12718
12719 * efiemu/main.c (grub_efiemu_prepare): Update comment.
12720 * efiemu/pnvram.c: Rewritten to use environment variables.
12721 All users updated.
12722
12723 Inline utf16_to_utf8.
12724
12725 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
12726 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
12727 All users updated.
12728 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
12729
12730 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
12731 * commands/usbtest.c (grub_usb_get_string): ... move here.
12732 (usb_print_str): Fix error handling.
12733 * include/grub/usb.h (grub_usb_get_string): Remove.
12734
12735 UTF-8 to UTF-16 transformation.
12736
12737 * conf/common.rmk (pkglib_MODULES): Add charset.mod
12738 (charset_mod_SOURCES): New variable.
12739 (charset_mod_CFLAGS): Likewise.
12740 (charset_mod_LDFLAGS): Likewise.
12741 * include/grub/utf.h: New file.
12742 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
12743
12744 Support for device properties.
12745
12746 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
12747 (grub_xnu_devprop_device_header): Likewise.
12748 (grub_xnu_devprop_device_descriptor): Likewise.
12749 (grub_xnu_devprop_add_device): New prototype.
12750 (grub_xnu_devprop_remove_device): Likewise.
12751 (grub_xnu_devprop_remove_property): Likewise.
12752 (grub_xnu_devprop_add_property_utf8): Likewise.
12753 (grub_xnu_devprop_add_property_utf16): Likewise.
12754 (grub_cpu_xnu_init): Likewise.
12755 (grub_cpu_xnu_fini): Likewise.
12756 (grub_cpu_xnu_unload): Likewise.
12757 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
12758 (property_descriptor): Likewise.
12759 (devices): New variable.
12760 (grub_xnu_devprop_remove_property): New function.
12761 (grub_xnu_devprop_add_device): Likewise.
12762 (grub_xnu_devprop_remove_device): Likewise.
12763 (grub_xnu_devprop_add_property): Likewise.
12764 (grub_xnu_devprop_add_property_utf8): Likewise.
12765 (grub_xnu_devprop_add_property_utf16): Likewise.
12766 (hextoval): Likewise.
12767 (grub_cpu_xnu_fill_devprop): Likewise.
12768 (grub_cmd_devprop_load): Likewise.
12769 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
12770 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
12771 (cmd_devprop_load): New variable.
12772 (grub_cpu_xnu_init): New function.
12773 (grub_cpu_xnu_fini): Likewise.
12774 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
12775 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
12776 (grub_cmd_xnu_devtree): Likewise.
12777 (hextoval): New function.
12778 (unescape): Likewise.
12779 (grub_xnu_fill_devicetree): Likewise.
12780
12781 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
12782 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
12783
12784 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12785
12786 Workaround for broken ATI VBE.
12787
12788 * video/i386/pc/vbe.c (last_set_mode): New variable.
12789 (grub_vbe_set_video_mode): Set 'last_set_mode'.
12790 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
12791 (grub_video_vbe_setup): Don't check for reserved flag.
12792
12793 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
12794
12795 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
12796 the `find' command.
12797
12798 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
12799
12800 UUID support for HFS.
12801
12802 * fs/hfs.c (grub_hfs_uuid): New function.
12803 (grub_hfs_fs): New value .uuid.
12804 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
12805
12806 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
12807
12808 Fix a segfault with parsing unknown long options.
12809
12810 * util/grub-mkrelpath.c (options): Zero terminate it.
12811
12812 2009-12-13 Carles Pina i Estany <carles@pina.cat>
12813
12814 * include/grub/misc.h (grub_puts): New declaration.
12815 (grub_puts_): Likewise.
12816 * kern/misc.c (grub_puts): New definition.
12817 (grub_puts_): Likewise.
12818
12819 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
12820
12821 * util/grub-probe.c (probe): Improve error message.
12822
12823 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
12824
12825 * loader/i386/multiboot_elfxx.c
12826 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
12827 initialization.
12828
12829 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 Relocator framework
12832
12833 * loader/i386/xnu_helper.S: Removed. All users updated.
12834 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
12835 (relocator_mod_SOURCES): New variable.
12836 (relocator_mod_CFLAGS): Likewise.
12837 (relocator_mod_LDFLAGS): Likewise.
12838 (relocator_mod_ASFLAGS): Likewise.
12839 * conf/x86_64.rmk: Likewise.
12840 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
12841 (grub_multiboot_payload_entry_offset): Likewise.
12842 (grub_multiboot_forward_relocator): Likewise.
12843 (grub_multiboot_forward_relocator_end): Likewise.
12844 (grub_multiboot_backward_relocator): Likewise.
12845 (grub_multiboot_backward_relocator_end): Likewise.
12846 (grub_multiboot_payload_eip): New variable.
12847 (grub_multiboot_payload_orig): Likewise.
12848 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
12849 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
12850 * include/grub/i386/memory.h
12851 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
12852 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
12853 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
12854 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
12855 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
12856 * include/grub/i386/relocator.h: New file.
12857 * include/grub/x86_64/relocator.h: Likewise.
12858 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
12859 (XNU_RELOCATOR): New macro.
12860 (grub_xnu_launcher_start): Remove.
12861 (grub_xnu_launcher_end): Likewise.
12862 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
12863 (grub_xnu_heap_real_start): Remove.
12864 (grub_xnu_heap_start): Change to void *. All users updated.
12865 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
12866 * lib/i386/relocator.c: New file.
12867 * lib/i386/relocator_asm.S: Likewise.
12868 * lib/i386/relocator_backward.S: Likewise.
12869 * lib/mips/relocator.c: Likewise.
12870 * lib/mips/relocator_asm.S: Likewise.
12871 * lib/relocator.c: Likewise.
12872 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
12873 (entry): Removed.
12874 (playground): Likewise.
12875 (grub_multiboot_payload_orig): New variable.
12876 (grub_multiboot_payload_dest): Likewise.
12877 (grub_multiboot_payload_size): Likewise.
12878 (grub_multiboot_payload_eip): Likewise.
12879 (grub_multiboot_payload_esp): Likewise.
12880 (grub_multiboot_boot): Use grub_relocator32_boot.
12881 (grub_multiboot_unload): Free relocators.
12882 (grub_multiboot): Setup stack. Use relocators.
12883 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
12884 (grub_multiboot_load_elfXX): Use relocators.
12885 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
12886 (grub_multiboot_payload_size): Likewise.
12887 (grub_multiboot_payload_dest): Likewise.
12888 (grub_multiboot_payload_entry_offset): Likewise.
12889 (grub_multiboot_forward_relocator): Likewise.
12890 (grub_multiboot_backward_relocator): Likewise.
12891 (grub_multiboot_real_boot): Likewise.
12892 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
12893 (grub_xnu_entry_point): Likewise.
12894 (grub_xnu_arg1): Likewise.
12895 (grub_xnu_stack): Likewise.
12896 (grub_xnu_launch): Removed.
12897 (grub_xnu_boot_resume): New function.
12898 (grub_xnu_boot): Use relocators.
12899 * loader/i386/xnu_helper.S: Removed.
12900 * loader/xnu.c (grub_xnu_heap_start): New variable.
12901 (grub_xnu_heap_size): Likewise.
12902 (grub_xnu_heap_malloc): Use relocators.
12903 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
12904
12905 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
12908 anything.
12909
12910 2009-12-13 Carles Pina i Estany <carles@pina.cat>
12911
12912 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
12913 GRUB_ERR_NONE before calling grub_env_set.
12914
12915 2009-12-12 Robert Millan <rmh@aybabtu.com>
12916
12917 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
12918 * genmk.rb (video): New variable.
12919 (CLEANFILES, VIDEOFILES): Add #{video}.
12920 (#{video}): New target rule.
12921 * genvideolist.sh: New file.
12922 * Makefile.in (pkglib_DATA): Add video.lst.
12923 (video.lst): New target rule.
12924 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
12925 `video.lst'.
12926 * util/grub.d/30_os-prober.in: Replace `vbe' with
12927 ${GRUB_VIDEO_BACKEND}.
12928
12929 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
12930
12931 * THANKS: Add David Miller.
12932
12933 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 libpciaccess support.
12936
12937 * Makefile.in (LIBPCIACCESS): New variable.
12938 (enable_grub_emu_pci): Likewise.
12939 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
12940 util/pci.c and commands/lspci.c.
12941 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
12942 * configure.ac (grub-emu-pci): New option.
12943 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
12944 (grub_pci_device_unmap_range): Likewise.
12945 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
12946 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
12947 (grub_pci_address_t) [!GRUB_UTIL]: New type.
12948 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
12949 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
12950 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
12951 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
12952 * include/grub/pciutils.h: New file.
12953 * util/pci.c: Likewise.
12954
12955 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
12956
12957 * util/misc.c: Don't include <errno.h> twice.
12958
12959 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
12960
12961 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
12962 name in an error message.
12963 (grub_biosdisk_rw): Likewise.
12964
12965 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12966
12967 Eliminate NTFS 4Gib barrier.
12968
12969 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
12970 (read_run_data): Likewise.
12971 (grub_ntfs_read_run_list): Likewise.
12972 (grub_ntfs_read_block): Likewise.
12973 (grub_ntfs_iterate_dir): Likewise.
12974 (read_mft): Likewise.
12975 (read_data): Likewise.
12976 Use COM_LOG_LEN.
12977 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
12978 to avoid 64-bit division
12979 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
12980 (grub_ntfs_rlst): Use grub_disk_addr_t.
12981
12982 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12983
12984 Eliminate grub-fstest 4Gib barrier.
12985
12986 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
12987 (read_file): Fix error reporting.
12988
12989 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12990
12991 Eliminate hexdump 4Gib barrier.
12992
12993 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
12994 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
12995
12996 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12997
12998 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
12999 Fixes amarsh bug.
13000
13001 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
13002
13003 Remove miscellaneous files in distclean target.
13004
13005 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
13006
13007 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
13008
13009 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
13010 if they're already set. This resolves the conflict between my
13011 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
13012 fixing the --grub-probe option again.
13013 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
13014 change on 2009-10-06, so that we now once again source
13015 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13016
13017 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
13018
13019 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
13020 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
13021 `util/devicemap.c'.
13022
13023 2009-12-08 Carles Pina i Estany <carles@pina.cat>
13024
13025 * include/grub/misc.h (grub_printf_): New declaration.
13026 * kern/misc.c (grub_printf_): New definition.
13027 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
13028 instead of `grub_printf' and `_'.
13029 * normal/menu_entry.c (store_completion): Likewise.
13030 (run): Likewise.
13031 (grub_menu_entry_run): Likewise.
13032 * normal/menu_text.c (grub_wait_after_message): Likewise.
13033 (notify_booting): Likewise.
13034 (notify_fallback): Likewise.
13035 (notify_execution_failure): Likewise.
13036
13037 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
13038
13039 * configure.ac: Check for vasprintf.
13040 * util/misc.c (asprintf): Move allocation from here ...
13041 (vasprintf): ... to here. New function.
13042 (xasprintf): New function.
13043 * include/grub/util/misc.h (vasprintf, xasprintf): Add
13044 prototypes.
13045 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13046 * util/grub-mkfont.c (write_font): Likewise.
13047 * util/grub-probe.c (probe): Likewise.
13048 * util/hostdisk.c (make_device_name): Likewise.
13049
13050 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
13051
13052 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
13053 anything even prefixed with 'cdrom' as a cdrom.
13054
13055 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
13056
13057 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
13058 mount points.
13059
13060 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13061
13062 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
13063 grub_gettext_msg_list.
13064 (grub_gettext_gettranslation_from_position): Return const char *
13065 and not char *.
13066 (grub_gettext_translate): Add the translated strings into a list,
13067 returns from the list if existing there.
13068 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
13069 (grub_gettext_delete_list): Delete the list.
13070 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
13071 lang environment variable is changed.
13072 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
13073
13074 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13075
13076 Rename kernel.mod to kernel.img.
13077
13078 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
13079 (kernel_mod_EXPORTS): Rename to ...
13080 (kernel_img_EXPORTS): ... this.
13081 (kernel_mod_SOURCES): Rename to ...
13082 (kernel_img_SOURCES): ... this.
13083 (kernel_mod_HEADERS): Rename to ...
13084 (kernel_img_HEADERS): ... this. All users updated.
13085 (kernel_mod_CFLAGS): Rename to ...
13086 (kernel_img_CFLAGS): ... this.
13087 (kernel_mod_ASFLAGS): Rename to ...
13088 (kernel_img_ASFLAGS): ... this.
13089 (kernel_mod_LDFLAGS): Rename to ...
13090 (kernel_img_LDFLAGS): ... this.
13091 * conf/x86_64-efi.rmk: Likewise.
13092 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
13093 (read_kernel_image): ... this. All users updated.
13094 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
13095
13096 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13097
13098 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
13099 (print_spaces): New function.
13100 (grub_print_ucs4): New function.
13101 (getstringwidth): New function.
13102 (print_message_indented): New function.
13103 (print_message): Gettexttize strings using print_message_indented.
13104 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
13105 width.
13106 (get_entry_number): Gettextize and uses dynamic terminal width.
13107 (notify_booting, notify_fallback, notify_execution_failure):
13108 Gettextize.
13109 * normal/menu_entry.c (store_completion): Cleanup the gettextized
13110 string.
13111 (run): Likewise.
13112 (grub_menu_entry_run): Likewise.
13113 * PO/POTFILES: Add normal/menu_entry.c.
13114
13115 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
13118
13119 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13120
13121 * util/grub-install.in: Install gettext .mo files.
13122 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
13123
13124 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13125
13126 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
13127 grub_dprintf.
13128
13129 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
13130
13131 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
13132 non-firmware-dependant one in realmode.S takes precedence.
13133
13134 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
13135
13136 * commands/halt.c: Replace misc arch-specific headers with
13137 `<grub/misc.h>'.
13138 * commands/reboot.c: Likewise.
13139 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
13140 `<grub/misc.h>'.
13141 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
13142 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
13143 (kernel_img_SOURCES): ... to here.
13144
13145 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
13146 * include/grub/i386/pc/init.h: Likewise.
13147 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13148 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13149
13150 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
13151
13152 * include/grub/i386/halt.h: Remove.
13153 * include/grub/i386/reboot.h: Likewise.
13154
13155 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
13156
13157 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
13158
13159 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
13160 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
13161 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
13162 "progname.h"
13163 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13164 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13165 (usage): Add missing comma in printf.
13166
13167 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
13168
13169 Use the same reboot approach on i386 coreboot and qemu as we do on
13170 BIOS.
13171
13172 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
13173 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
13174 * kern/i386/reboot.c: Remove.
13175 * include/grub/i386/reboot.h (grub_reboot): Export function.
13176 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
13177 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
13178 0xf000:0xfff0 instead of 0xffff:0x0000.
13179 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
13180 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
13181
13182 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
13183
13184 Fix $srcdir != $objdir build.
13185
13186 * Makefile.in (po/%.po): Rewrite as ...
13187 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
13188
13189 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
13190
13191 Fix GNU/Hurd grub-install crash.
13192 * util/grub-probe.c (probe): Try to access `path' only when it is not
13193 NULL.
13194
13195 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13196
13197 Correct module naming.
13198
13199 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13200 (GRUB_MOD_INIT(efi_uga)): ... to this
13201 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13202 (GRUB_MOD_FINI(efi_uga)): ... to this
13203 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13204 (GRUB_MOD_INIT(efi_gop)): ... to this
13205 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13206 (GRUB_MOD_FINI(efi_gop)): ... to this
13207
13208 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
13209
13210 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
13211 translatable.
13212 (usage): Translate `arg' strings using gettext().
13213 Thanks to Jordi Mallach for the suggestion.
13214
13215 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 GOP support. Based on patch from Bean
13218 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13219
13220 * video/efi_gop.c: New file.
13221 * include/grub/efi/graphics_output.h: Likewise.
13222 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
13223 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13224 variables.
13225 * conf/x86_64-efi.rmk: Likewise.
13226
13227 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 Rename efi_fb to efi_uga.
13230
13231 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13232 'efi_uga.mod'.
13233 (efi_fb_mod_SOURCES): Rename this ...
13234 (efi_uga_mod_SOURCES): ... to this.
13235 (efi_fb_mod_CFLAGS): Rename this ...
13236 (efi_uga_mod_CFLAGS): ... to this.
13237 (efi_fb_mod_LDFLAGS): Rename this ...
13238 (efi_uga_mod_LDFLAGS): ... to this.
13239 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13240 'efi_uga.mod'.
13241 (efi_fb_mod_SOURCES): Rename this ...
13242 (efi_uga_mod_SOURCES): ... to this.
13243 (efi_fb_mod_CFLAGS): Rename this ...
13244 (efi_uga_mod_CFLAGS): ... to this.
13245 (efi_fb_mod_LDFLAGS): Rename this ...
13246 (efi_uga_mod_LDFLAGS): ... to this.
13247 * video/efi_fb.c: Move this ...
13248 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
13249
13250 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13251
13252 * po/README: New file. Explain our PO file workflow.
13253
13254 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13255
13256 * po/ChangeLog: Remove. Move relevant entries back to ...
13257 * ChangeLog: ... here.
13258 * po/ca.po: Remove (now handled by TLP).
13259 * po/id.po: Likewise.
13260 * po/zh_CN.po: Likewise.
13261 * Makefile.in (LINGUAS): Initialize in a way that supports
13262 empty set.
13263
13264 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13265
13266 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
13267 reliing on po/LINGUAS.
13268 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
13269 (po/%.po): ... this.
13270
13271 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13272
13273 * util/i386/efi/grub-mkimage.c: Include "progname.h".
13274 (main): Use `program_name' instead of nonexistent `progname'.
13275
13276 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13277
13278 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13279 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
13280
13281 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13282
13283 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
13284 commit.
13285 * conf/i386-efi.rmk: Likewise.
13286 * conf/i386-ieee1275.rmk: Likewise.
13287 * conf/powerpc-ieee1275.rmk: Likewise.
13288 * conf/sparc64-ieee1275.rmk: Likewise.
13289 * conf/x86_64-efi.rmk: Likewise.
13290
13291 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13292
13293 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
13294
13295 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13296
13297 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
13298
13299 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13300
13301 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
13302 (grub_mkdevicemap_SOURCES): New variable.
13303 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
13304 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
13305 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
13306 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
13307 (grub_mkdevicemap_SOURCES): Remove.
13308 * conf/i386-efi.rmk: Likewise.
13309 * conf/i386-ieee1275.rmk: Likewise.
13310 * conf/i386-pc.rmk: Likewise.
13311 * conf/powerpc-ieee1275.rmk: Likewise.
13312 * conf/sparc64-ieee1275.rmk: Likewise.
13313 * conf/x86_64-efi.rmk: Likewise.
13314 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
13315 (usage): Fix strings to use `program_name'.
13316 (main): Initialize gettext.
13317 * util/grub-editenv.c: Likewise.
13318 * util/grub-emu.c: Likewise.
13319 * util/grub-fstest.c: Likewise.
13320 * util/grub-mkdevicemap.c: Likewise.
13321 * util/grub-mkfont.c: Likewise.
13322 * util/grub-mkrelpath.c: Likewise.
13323 * util/grub-pe2elf.c: Likewise.
13324 * util/grub-probe.c: Likewise.
13325 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13326 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13327 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13328
13329 * util/misc.c: Include `"progname.h"'.
13330 (progname): Remove variable.
13331 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
13332
13333 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
13334
13335 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
13336 printf and print a newline after the menuentry header line.
13337 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13338
13339 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
13340
13341 autoconf >= 2.60 support $(localedir).
13342
13343 * INSTALL: Note that autoconf 2.60 is required.
13344 * configure.ac (AC_PREREQ): Bump to 2.60.
13345 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
13346 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13347
13348 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
13349
13350 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
13351 aclocal is run.
13352
13353 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13354
13355 * normal/main.c (grub_normal_read_line): Fix off-by-one
13356 buffer overflow.
13357
13358 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13359
13360 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
13361 "parser.grub" in grub_command_execute() call.
13362
13363 2009-11-24 Carles Pina i Estany <carles@pina.cat>
13364
13365 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
13366 * conf/i386-efi.rmk: Likewise.
13367 * conf/i386-ieee1275.rmk: Likewise.
13368 * conf/i386-pc.rmk: Likewise.
13369 * conf/powerpc-ieee1275.rmk: Likewise.
13370 * conf/sparc64-ieee1275.rmk: Likewise.
13371 * conf/x86_64-efi.rmk: Likewise.
13372 * gettext/gettex.c: Include <grub/i18n.h>.
13373 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
13374 here ...
13375 * include/grub/i18n.h: ... to here
13376 * include/grub/i18n.h: ... to here.
13377 * kern/misc.c: Include <grub/i18n.h>
13378 (grub_gettext_dummy): Move above user.
13379
13380 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13381
13382 * util/Makefile.in (install-local): Convert a `for' into a normal
13383 shell expansion.
13384
13385 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
13386
13387 * autogen.sh: Add automake call.
13388 * config.guess: Remove.
13389 * config.sub: Likewise.
13390 * install-sh: Likewise.
13391
13392 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13393
13394 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
13395
13396 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13397
13398 * util/Makefile.in (install-local): Convert a make `$(foreach)'
13399 function to a normal shell `for'.
13400
13401 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13402
13403 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13404
13405 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13406
13407 * util/grub-mkrelpath.c: New file.
13408 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
13409 (grub_mkrelpath_SOURCES): New variable.
13410 * include/grub/util/misc.h: New function prototype.
13411 * util/misc.c (make_system_path_relative_to_its_root): New function.
13412
13413 * util/grub-mkconfig_lib.in (bindir): New variable.
13414 (grub_mkrelpath): Likewise.
13415 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
13416
13417 * util/probe.c (probe): Make the file path relative to its root.
13418 Change a info message to use the GRUB path. Enable again the
13419 check if we can read the file with GRUB facilities.
13420
13421 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
13422 to its root.
13423
13424 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13425
13426 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
13427 platform.
13428
13429 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13430
13431 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
13432 strncmp().
13433
13434 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13435
13436 * util/getroot.c (grub_util_is_dmraid): New function.
13437 (grub_util_get_dev_abstraction): Treat dmraid and multipath
13438 devices as normal ones, not as LVM.
13439
13440 2009-11-23 Carles Pina i Estany <carles@pina.cat>
13441
13442 * conf/common.rmk: Add grub-gettext_lib target and updates
13443 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
13444 LDFLAGS.
13445 * gettext/gettext.c: New file. (Reads mo files).
13446 * include/grub/file.h (grub_file_pread): New prototype.
13447 * include/grub/i18n.h (_): New prototype.
13448 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
13449 prototypes.
13450 * kern/misc.c (grub_gettext_dummy): New function.
13451 * normal/menu_text.c: Include <grub/i18n.h>.
13452 * normal/menu_text.c (print_timeout): Gettexttize string.
13453 * normal/menu_text.c (print_message): Gettexttize string.
13454 * po/POTFILES: Add `normal/menu_text.c'.
13455 * po/ca.po: Add new translations.
13456 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
13457 gettext module and defines locale_dir and lang in grub.cfg.
13458 * NEWS: Add gettext support.
13459
13460 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13461
13462 * util/hostdisk.c: Include `<grub/i18n.h>'.
13463 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
13464 (make_device_name): Rewrite using asprintf.
13465 (convert_system_partition_to_system_disk): Replace 0 with NULL.
13466 (find_system_device): If a device is not found, generate one just
13467 by reusing the OS path name.
13468 (read_device_map): Make it permissible for device.map not to exist.
13469
13470 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13471
13472 * script/sh/execute.c: Move from here ...
13473 * script/execute.c: ... to here. Update all users.
13474 * script/sh/function.c: Move from here ...
13475 * script/function.c: ... to here. Update all users.
13476 * script/sh/lexer.c: Move from here ...
13477 * script/lexer.c: ... to here. Update all users.
13478 * script/sh/main.c: Move from here ...
13479 * script/main.c: ... to here. Update all users.
13480 * script/sh/parser.y: Move from here ...
13481 * script/parser.y: ... to here. Update all users.
13482 * script/sh/script.c: Move from here ...
13483 * script/script.c: ... to here. Update all users.
13484
13485 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13486
13487 * configure.ac: Detect all `emu' platforms. Define
13488 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
13489 --enable-grub-emu logic. Disable include/grub/machine
13490 symlink on `emu' platforms.
13491
13492 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
13493 * gensymlist.sh.in: Likewise.
13494
13495 * include/grub/i386/coreboot/machine.h: Remove file.
13496 * include/grub/i386/efi/machine.h: Likewise.
13497 * include/grub/i386/ieee1275/machine.h: Likewise.
13498 * include/grub/i386/pc/machine.h: Likewise.
13499 * include/grub/i386/qemu/machine.h: Likewise.
13500 * include/grub/powerpc/ieee1275/machine.h: Likewise.
13501 * include/grub/sparc64/ieee1275/machine.h: Likewise.
13502 * include/grub/x86_64/efi/machine.h: Likewise.
13503
13504 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
13505 * commands/halt.c: Likewise.
13506 * commands/reboot.c: Likewise.
13507 * include/grub/autoefi.h: Likewise.
13508 * include/grub/i386/at_keyboard.h: Likewise.
13509 * include/grub/i386/kernel.h: Likewise.
13510 * include/grub/i386/loader.h: Likewise.
13511 * include/grub/i386/pc/memory.h: Likewise.
13512 * kern/dl.c: Likewise.
13513 * kern/i386/coreboot/init.c: Likewise.
13514 * loader/i386/bsd.c: Likewise.
13515 * loader/i386/linux.c: Likewise.
13516 * loader/multiboot_loader.c: Likewise.
13517 * term/i386/pc/serial.c: Likewise.
13518 * term/usb_keyboard.c: Likewise.
13519
13520 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
13521 `<grub/machine/machine.h>'
13522 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
13523 * util/misc.c: Remove `<grub/machine/machine.h>' and
13524 `<grub/machine/time.h>'.
13525
13526 * Makefile.in (enable_grub_emu): Remove variable.
13527 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
13528
13529 * conf/any-emu.rmk: New file.
13530 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
13531 (grub_emu_init.c): Move from here ...
13532 * conf/any-emu.rmk: ... to here.
13533
13534 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
13535 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
13536 * conf/any-emu.rmk: ... to here.
13537
13538 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13539
13540 * include/grub/parser.h (grub_parser_register): Document need
13541 of `name' parameter.
13542 * normal/main.c (grub_normal_read_line): Simplify prompt string.
13543 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
13544 "sh" to "grub".
13545
13546 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13547
13548 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
13549 `$(XGETTEXT)'.
13550 * include/grub/i18n.h (N_): New macro.
13551 * util/mkisofs/mkisofs.h: Likewise.
13552 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
13553 around N_().
13554 (usage): Use gettext() to translate help strings when printing them.
13555
13556 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13557
13558 Based on patch from Bean
13559 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13560
13561 * video/efi_fb.c: New file.
13562 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
13563 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13564 variables.
13565 * conf/x86_64-efi.rmk: Likewise.
13566
13567 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
13568
13569 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
13570 * util/i386/pc/grub-setup.c: Likewise.
13571
13572 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13573
13574 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
13575 <hurd/fs.h>
13576 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
13577 file_get_storage_info to implement grub_guess_root_device.
13578
13579 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
13580
13581 * Makefile.in (target): Use make's builtin $(shell) function
13582 instead of calling directly $(SHELL) to create the locale directories,
13583 inside the $(foreach) function.
13584
13585 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
13586
13587 * util/grub-mkrescue.in: Print an error and usage if output option
13588 has not been given.
13589
13590 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
13591
13592 Patch from Loïc Minier <loic.minier@ubuntu.com>.
13593 * util/grub.d/30_os-prober.in: Cope with Linux entries where
13594 root and /boot are on different devices.
13595
13596 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13597
13598 Fix build for srcdir != objdir.
13599
13600 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
13601 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
13602 $(srcdir).
13603 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
13604 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
13605 reference for input.
13606
13607 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13608
13609 * util/grub-mkrescue.in: Use source directory direcly (without copiing
13610 or hardlinking it). Remove -J option, Joliet is not compatible with
13611 multiple source directories.
13612
13613 2009-11-21 Carles Pina i Estany <carles@pina.cat>
13614 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13615
13616 * util/grub-mkrescue.in: Recognize `--override-directory' option.
13617 (process_input_dir): New function. Process an arbitrary input
13618 directory.
13619 Misc adjustments to support both "override mode" and system-wide mode.
13620
13621 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
13622
13623 * configure.ac (UNIFONT_BDF): Rename to ...
13624 (FONT_SOURCE): ... this. Update all users.
13625
13626 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
13627
13628 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
13629 to the list of unifont files to look for.
13630
13631 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13632
13633 Patch from Joe Auricchio <jauricchio@gmail.com>
13634 * commands/minicmd.c (grub_mini_cmd_clear): New function.
13635 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
13636 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
13637
13638 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
13639
13640 * Makefile.in (install-local): Add a missing backslash.
13641
13642 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
13643
13644 * include/grub/x86_64/io.h: New file.
13645
13646 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13647
13648 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
13649 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
13650 Include `"progname.h"'.
13651 (main): Initialize gettext.
13652 * util/i386/pc/grub-setup.c: Gettexttize.
13653 * util/i386/pc/grub-mkimage.c: Likewise.
13654
13655 * Makefile.in (po/*.po): Redefine as ...
13656 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
13657
13658 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
13659
13660 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13661
13662 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
13663 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
13664 (program_name): Remove.
13665 (main): Initialize gettext support.
13666 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
13667 Include `<libintl.h>'.
13668 (_): New macro.
13669
13670 * util/mkisofs/eltorito.c: Gettexttize.
13671 * util/mkisofs/joliet.c: Likewise.
13672 * util/mkisofs/mkisofs.c: Likewise.
13673 * util/mkisofs/multi.c: Likewise.
13674 * util/mkisofs/rock.c: Likewise.
13675 * util/mkisofs/tree.c: Likewise.
13676 * util/mkisofs/write.c: Likewise.
13677
13678 * po/POTFILES: Update with new files.
13679
13680 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13681
13682 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
13683 * util/mkisofs/iso9660.h: Likewise.
13684 * util/mkisofs/joliet.c: Likewise.
13685 * util/mkisofs/mkisofs.c: Likewise.
13686 * util/mkisofs/mkisofs.h: Likewise.
13687 * util/mkisofs/rock.c: Likewise.
13688 * util/mkisofs/tree.c: Likewise.
13689 * util/mkisofs/write.c: Likewise.
13690
13691 * util/mkisofs/eltorito.c (rcsid): Remove.
13692 * util/mkisofs/hash.c: Likewise.
13693 * util/mkisofs/joliet.c: Likewise.
13694 * util/mkisofs/name.c: Likewise.
13695 * util/mkisofs/rock.c: Likewise.
13696 * util/mkisofs/tree.c: Likewise.
13697 * util/mkisofs/write.c: Likewise.
13698
13699 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13700
13701 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
13702 instead of static allocation.
13703 * util/mkisofs/match.h: Likewise.
13704
13705 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13706
13707 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
13708 and `util/grub.d/10_linux.in'.
13709 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
13710 translatable Shell files.
13711
13712 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13713
13714 * Makefile.in ($(srcdir)/aclocal.m4): New target.
13715
13716 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13717
13718 * INSTALL: Document Automake is needed for bootstrap.
13719 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
13720 * util/grub.d/10_kfreebsd.in (bindir): New variable.
13721 Add gettext initialization.
13722 (kfreebsd_entry): Make menuentry output translatable.
13723
13724 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13725
13726 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
13727 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
13728 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
13729 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
13730 (LINGUAS): Auto-generate using `po/LINGUAS'.
13731 * po/LINGUAS: New file.
13732
13733 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13734
13735 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
13736 other things).
13737 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
13738 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
13739 bindtextdomain() calls for gettext initialization.
13740
13741 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13742
13743 * gnulib/progname.c: New file (imported from Gnulib).
13744 * gnulib/progname.h: Likewise.
13745 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13746 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
13747 (usage): Replace `progname' with `program_name'.
13748 (main): Use set_program_name() for program name initialization.
13749
13750 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13751
13752 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
13753 from here ...
13754 * Makefile.in (CPPFLAGS): ... to here.
13755
13756 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13757
13758 * aclocal.m4: Move from here ...
13759 * acinclude.m4: ... to here.
13760 * autogen.sh: Add call to `aclocal'.
13761 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
13762
13763 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13764
13765 * Makefile.in (CLEANFILES): Add `po/*.mo'.
13766 (LINGUAS): New variable.
13767 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
13768 (install-local): Install MO files.
13769 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
13770 * include/grub/i18n.h: New file.
13771 * po/POTFILES: New file.
13772 * po/ca.po: New file.
13773 * util/grub.d/10_linux.in (bindir): New variable.
13774 Add gettext initialization.
13775 (linux_entry): Make menuentry output translatable.
13776 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
13777 (usage): Make --help output translatable.
13778 (main): Initialize gettext.
13779
13780 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13781
13782 * import_gcry.py: New file (written by Vladimir with minor
13783 adjustments).
13784 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
13785 ciphers.
13786 * INSTALL: Document that Python is required for bootstrap.
13787
13788 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13789
13790 Import ciphers from libgcrypt 1.4.4.
13791
13792 * lib/libgcrypt/cipher/ChangeLog
13793 * lib/libgcrypt/cipher/ac.c
13794 * lib/libgcrypt/cipher/arcfour.c
13795 * lib/libgcrypt/cipher/bithelp.h
13796 * lib/libgcrypt/cipher/blowfish.c
13797 * lib/libgcrypt/cipher/camellia-glue.c
13798 * lib/libgcrypt/cipher/camellia.c
13799 * lib/libgcrypt/cipher/camellia.h
13800 * lib/libgcrypt/cipher/cast5.c
13801 * lib/libgcrypt/cipher/cipher.c
13802 * lib/libgcrypt/cipher/crc.c
13803 * lib/libgcrypt/cipher/des.c
13804 * lib/libgcrypt/cipher/dsa.c
13805 * lib/libgcrypt/cipher/ecc.c
13806 * lib/libgcrypt/cipher/elgamal.c
13807 * lib/libgcrypt/cipher/hash-common.c
13808 * lib/libgcrypt/cipher/hash-common.h
13809 * lib/libgcrypt/cipher/hmac-tests.c
13810 * lib/libgcrypt/cipher/md.c
13811 * lib/libgcrypt/cipher/md4.c
13812 * lib/libgcrypt/cipher/md5.c
13813 * lib/libgcrypt/cipher/primegen.c
13814 * lib/libgcrypt/cipher/pubkey.c
13815 * lib/libgcrypt/cipher/rfc2268.c
13816 * lib/libgcrypt/cipher/rijndael-tables.h
13817 * lib/libgcrypt/cipher/rijndael.c
13818 * lib/libgcrypt/cipher/rmd.h
13819 * lib/libgcrypt/cipher/rmd160.c
13820 * lib/libgcrypt/cipher/rsa.c
13821 * lib/libgcrypt/cipher/seed.c
13822 * lib/libgcrypt/cipher/serpent.c
13823 * lib/libgcrypt/cipher/sha1.c
13824 * lib/libgcrypt/cipher/sha256.c
13825 * lib/libgcrypt/cipher/sha512.c
13826 * lib/libgcrypt/cipher/tiger.c
13827 * lib/libgcrypt/cipher/twofish.c
13828 * lib/libgcrypt/cipher/whirlpool.c
13829
13830 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13831
13832 Fix build for systems without error().
13833
13834 * gnulib/error.c: New file (imported from Gnulib).
13835 * gnulib/error.h: Likewise.
13836 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
13837 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
13838 (this variable is now used by error()).
13839
13840 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
13841
13842 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
13843 instead of relying that char is signed.
13844
13845 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13846
13847 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
13848 blocksize different from specified.
13849 (grub_pxefs_read): Likewise.
13850
13851 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
13852
13853 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
13854
13855 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
13856 (grub_ata_readwrite): Likewise. Update 2 format strings.
13857 (grub_atapi_read): Likewise.
13858
13859 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
13860 * conf/i386.rmk (pkglib_MODULES): ... to here ...
13861 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
13862 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
13863 (ata_mod_LDFLAGS): Move from here ...
13864 * conf/i386.rmk: ... to here ...
13865 * conf/x86_64-efi.rmk: ... and here.
13866 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
13867 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
13868
13869 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13870
13871 Relicense multiboot.h, with RMS' blessing.
13872
13873 * include/multiboot.h: Change to X11 license.
13874
13875 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
13876
13877 Support --version in grub-mkisofs.
13878
13879 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
13880 (OPTION_VERSION): New macro.
13881 (ld_options): Recognize --version.
13882 (usage): Move `program_name' from here ...
13883 (program_name): ... to here. Add `static' qualifier.
13884 (main): Recognize `OPTION_VERSION'.
13885
13886 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
13887
13888 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
13889 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
13890
13891 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
13892
13893 Fix help2man generation for mkisofs.
13894
13895 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
13896 (usage): Send output to stdout (rather than stderr).
13897
13898 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
13899
13900 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
13901 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
13902 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
13903 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
13904 (bin_SCRIPTS): Add `grub-mkfloppy'.
13905 (grub_mkfloppy_SOURCES): New variable.
13906
13907 * util/grub-mkrescue.in: New file.
13908 * util/i386/pc/grub-mkfloppy.in: New file.
13909
13910 * util/i386/coreboot/grub-mkrescue.in: Remove.
13911 * util/i386/pc/grub-mkrescue.in: Remove.
13912
13913 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13914
13915 * include/grub/multiboot.h (struct grub_multiboot_header): Move
13916 from here ...
13917 * include/multiboot.h (struct multiboot_header): ... to here. Update
13918 all users.
13919 * include/grub/multiboot.h (struct grub_multiboot_info): Move
13920 from here ...
13921 * include/multiboot.h (struct multiboot_info): ... to here. Update
13922 all users.
13923 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
13924 from here ...
13925 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
13926 Update all users.
13927 * include/grub/multiboot.h (struct grub_mod_list): Move
13928 from here ...
13929 * include/multiboot.h (struct multiboot_mod_list): ... to here.
13930 Update all users.
13931
13932 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13933
13934 * include/multiboot2.h (multiboot_word): Rename from this ...
13935 (multiboot2_word): ... to this. Update all users.
13936 (multiboot_header): Rename from this ...
13937 (multiboot2_header): ... to this. Update all users.
13938 (multiboot_tag_header): Rename from this ...
13939 (multiboot2_tag_header): ... to this. Update all users.
13940 (multiboot_tag_start): Rename from this ...
13941 (multiboot2_tag_start): ... to this. Update all users.
13942 (multiboot_tag_name): Rename from this ...
13943 (multiboot2_tag_name): ... to this. Update all users.
13944 (multiboot_tag_module): Rename from this ...
13945 (multiboot2_tag_module): ... to this. Update all users.
13946 (multiboot_tag_memory): Rename from this ...
13947 (multiboot2_tag_memory): ... to this. Update all users.
13948 (multiboot_tag_unused): Rename from this ...
13949 (multiboot2_tag_unused): ... to this. Update all users.
13950 (multiboot_tag_end): Rename from this ...
13951 (multiboot2_tag_end): ... to this. Update all users.
13952
13953 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13954
13955 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
13956 this platform we should support Multiboot1 first.
13957
13958 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
13959 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
13960 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
13961
13962 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
13963
13964 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
13965 of write calls (converting them to fwrite() if they aren't already).
13966 (get_torito_desc): Likewise.
13967 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
13968
13969 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
13970
13971 * util/i386/pc/grub-install.in: Move from here ...
13972 * util/grub-install.in: ... to here. Update all users.
13973
13974 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
13975
13976 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
13977
13978 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
13979
13980 Support for El Torito without floppy emulation.
13981
13982 * util/mkisofs/eltorito.c: Include `<errno.h>'.
13983 (init_boot_catalog): Improve error handling.
13984 (get_torito_desc): Don't use floppy emulation unless requested by
13985 user. Patch boot information table when requested via
13986 `-boot-info-table'.
13987 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
13988 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
13989 (use_boot_info_table): New variables.
13990 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
13991 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
13992 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
13993 `--eltorito-emul-floppy'.
13994 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
13995 and `OPTION_ELTORITO_EMUL_FLOPPY'.
13996 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
13997 (use_boot_info_table, get_731): New prototypes.
13998 * util/mkisofs/write.c (get_731): New function.
13999
14000 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
14001
14002 Fix the generation of the man page.
14003
14004 * util/pc/i386/grub-install.in: Source
14005 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14006
14007 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14008
14009 Large file support for grub-mkisofs.
14010
14011 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
14012 * util/mkisofs/mkisofs.c (next_extent, last_extent)
14013 (session_start): Upgrade type to `uint64_t'. Update all users.
14014 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
14015 (struct directory_entry): Upgrade type of `starting_block' and
14016 `size' to `uint64_t'. Update all users.
14017 (struct deferred): Remove unused structure.
14018 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
14019 Update all users.
14020 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
14021 file is larger than `UINT32_MAX'.
14022 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
14023 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
14024 return value.
14025 (struct deferred_write): Upgrade type of `extent' and `size' to
14026 `uint64_t'. Update all users.
14027 (last_extent_written): Upgrade type to `uint64_t'. Update all
14028 users.
14029 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
14030 Update all users. Upgrade type of `remain' to `int64_t' and
14031 `use' to `size_t'. Use error() to handle fread() errors.
14032 (write_files): Rely on write_one_file() rather than calling
14033 xfwrite() directly.
14034
14035 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
14036
14037 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
14038
14039 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14040
14041 * util/mkisofs/fnmatch.c: Remove.
14042 * util/mkisofs/getopt1.c: Likewise.
14043 * util/mkisofs/getopt.c: Likewise.
14044 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
14045 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
14046 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
14047 `gnulib/getopt1.c' and `gnulib/getopt.c'.
14048 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
14049
14050 * configure.ac: Detect `mingw32msvc' host_os.
14051 Check for lstat(), getuid() and getgid().
14052
14053 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
14054 instances of `u_char' with `uint8_t'.
14055
14056 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
14057 [!HAVE_GETUID] (getuid): New function (stub).
14058 [!HAVE_GETGID] (getgid): Likewise.
14059 [!HAVE_LSTAT] (lstat): Likewise.
14060 [!S_IROTH] (S_IROTH): New macro (dummy).
14061 [!S_IRGRP] (S_IRGRP): Likewise.
14062
14063 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14064
14065 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
14066 conditional expression).
14067
14068 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14069
14070 Import from Gnulib.
14071
14072 * gnulib/fnmatch.c: New file.
14073 * gnulib/fnmatch.h: Likewise.
14074 * gnulib/fnmatch_loop.c: Likewise.
14075 * gnulib/getopt.c: Likewise.
14076 * gnulib/getopt.h: Likewise.
14077 * gnulib/getopt1.c: Likewise.
14078 * gnulib/getopt_int.h: Likewise.
14079 * gnulib/gettext.h: Likewise.
14080
14081 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14082
14083 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
14084 * normal/handler.c (read_handler_list): Likewise.
14085
14086 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14087
14088 Misc cleanup.
14089
14090 * kern/command.c (grub_register_command_prio): Use
14091 grub_zalloc() instead of explicitly zeroing data.
14092 * kern/list.c: Include `<grub/mm.h>'.
14093 (grub_named_list_find): Replace `0' with `NULL'.
14094 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
14095 (fs_module_list): Change type to `grub_named_list_t'. Update all
14096 users.
14097 * normal/dyncmd.c (read_command_list): Add space between function
14098 call and parenthesis.
14099 * normal/handler.c (read_handler_list): Likewise.
14100
14101 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14102
14103 * normal/auth.c (punishment_delay): Moved from here ...
14104 (grub_auth_strcmp): ... to here (inside function).
14105
14106 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14107
14108 * include/grub/list.h (struct grub_named_list): Remove `const'
14109 qualifier from `name'.
14110 (struct grub_prio_list): Likewise.
14111
14112 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14113
14114 * normal/auth.c: Include `<grub/time.h>'.
14115 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
14116
14117 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14118
14119 * normal/auth.c (punishment_delay): New variable.
14120 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
14121 (grub_auth_check_authentication): Punish failed login attempts with
14122 an incremental (2^N) delay.
14123
14124 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14125
14126 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
14127 path with $(srcdir).
14128
14129 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14130
14131 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
14132
14133 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14134
14135 * util/i386/coreboot/grub-mkrescue.in: New file.
14136 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
14137 variables.
14138
14139 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
14140 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
14141 * configure.ac: Add header and function checks to satisfy grub-mkisofs
14142 requirements.
14143 * util/mkisofs/defaults.h: New file.
14144 * util/mkisofs/eltorito.c: Likewise.
14145 * util/mkisofs/exclude.h: Likewise.
14146 * util/mkisofs/fnmatch.c: Likewise.
14147 * util/mkisofs/getopt.c: Likewise.
14148 * util/mkisofs/getopt1.c: Likewise.
14149 * util/mkisofs/hash.c: Likewise.
14150 * util/mkisofs/include/fctldefs.h: Likewise.
14151 * util/mkisofs/include/mconfig.h: Likewise.
14152 * util/mkisofs/include/prototyp.h: Likewise.
14153 * util/mkisofs/include/statdefs.h: Likewise.
14154 * util/mkisofs/iso9660.h: Likewise.
14155 * util/mkisofs/joliet.c: Likewise.
14156 * util/mkisofs/match.c: Likewise.
14157 * util/mkisofs/match.h: Likewise.
14158 * util/mkisofs/mkisofs.c: Likewise.
14159 * util/mkisofs/mkisofs.h: Likewise.
14160 * util/mkisofs/multi.c: Likewise.
14161 * util/mkisofs/name.c: Likewise.
14162 * util/mkisofs/rock.c: Likewise.
14163 * util/mkisofs/tree.c: Likewise.
14164 * util/mkisofs/write.c: Likewise.
14165
14166 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14167
14168 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
14169 being insecure.
14170
14171 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14172
14173 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
14174 `grub-mkimage' (and use $0 when possible).
14175
14176 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14177
14178 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
14179 error message for excessively large memory map.
14180
14181 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14182
14183 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
14184 executable bit.
14185
14186 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14187
14188 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
14189 message for coreboot users.
14190
14191 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
14192
14193 Fix build with GNU gold.
14194
14195 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
14196 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
14197 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
14198 link addresses.
14199 * aclocal.m4: Likewise.
14200
14201 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
14202
14203 * configure.ac (AC_PREREQ): Bump to 2.59d.
14204 * INSTALL: Make it more clear when Autoconf and Ruby are
14205 needed and when to run `./autogen.sh'.
14206
14207 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
14208
14209 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
14210 OSes.
14211
14212 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14213
14214 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
14215
14216 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14217
14218 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
14219 giving it to GNU Mach.
14220
14221 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14222
14223 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
14224 GNU partition number to get internal GRUB partition number.
14225
14226 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14227
14228 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
14229 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
14230
14231 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
14232
14233 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
14234 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
14235 case.
14236
14237 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
14238
14239 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
14240
14241 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14242
14243 Fix build problem.
14244
14245 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
14246 `-isystem=$(srcdir)/include'.
14247
14248 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14249
14250 * util/i386/pc/grub-install.in: Remove hint that device.map should be
14251 checked (grub-install doesn't currently rely on it).
14252
14253 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
14254
14255 Revert SVN r2660.
14256
14257 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
14258 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14259 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
14260 * conf/i386-ieee1275.rmk: Likewise.
14261 * conf/i386-pc.rmk: Likewise.
14262 * conf/powerpc-ieee1275.rmk: Likewise.
14263 * conf/sparc64-ieee1275.rmk: Likewise.
14264 * conf/x86_64-efi.rmk: Likewise.
14265
14266 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14267
14268 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
14269
14270 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14271
14272 * include/grub/misc.h: Stop checking for APPLE_CC.
14273
14274 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14275
14276 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
14277 doesn't cause an infinite call loop.
14278
14279 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
14280
14281 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
14282 strings.
14283
14284 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14285
14286 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
14287 variable.
14288 * Makefile.in: Likewise.
14289
14290 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14291
14292 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
14293
14294 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14295
14296 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
14297
14298 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14299
14300 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
14301
14302 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14303
14304 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
14305 from here ...
14306 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
14307
14308 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14309
14310 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
14311 in $(MAKEINFO) invocation. This makes it clear in output that
14312 errors are being ignored.
14313
14314 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14315
14316 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
14317 from here ...
14318 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14319 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
14320 * conf/i386-ieee1275.rmk: Likewise.
14321 * conf/i386-pc.rmk: Likewise.
14322 * conf/powerpc-ieee1275.rmk: Likewise.
14323 * conf/sparc64-ieee1275.rmk: Likewise.
14324 * conf/x86_64-efi.rmk: Likewise.
14325
14326 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
14327
14328 * util/grub-editenv.c (main): If only a command is given, use
14329 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
14330 (usage): FILENAME is now optional and has a default.
14331
14332 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
14333
14334 Improve grub-mkconfig performance when there are several menu
14335 entries on a single filesystem.
14336
14337 * util/grub.d/10_linux.in (linux_entry): Cache the output of
14338 prepare_grub_to_access_device.
14339 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14340 * util/grub.d/30_os-prober.in: Likewise.
14341
14342 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14343
14344 * util/grub.d/10_freebsd.in: Remove.
14345 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
14346 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
14347
14348 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14349
14350 * docs/grub.cfg: Fix example usage of *BSD loaders.
14351
14352 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14353
14354 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
14355 grub_util_error() call.
14356
14357 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14358
14359 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
14360 `reserved_first_sector' member.
14361 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
14362 `reserved_first_sector' to 1.
14363 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
14364 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
14365 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
14366 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
14367 filesystems which begin at first sector.
14368 (options): New option --skip-fs-probe.
14369 (main): Handle --skip-fs-probe and pass it to setup().
14370
14371 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14372
14373 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
14374 (memset): Fix function prototype.
14375
14376 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14377 2009-10-25 Vasily Averin <vvs@parallels.com>
14378
14379 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
14380 `dirent.direntlen == 0'.
14381
14382 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14383
14384 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
14385 `cpio'.
14386 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
14387
14388 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14389
14390 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
14391 `__trampoline_setup' and `__ucmpdi2'.
14392 * include/grub/powerpc/libgcc.h: Only export symbols for functions
14393 that libgcc provides.
14394
14395 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14396
14397 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
14398 * include/grub/sparc64/libgcc.h (memset): Likewise.
14399 * include/grub/misc.h (memset, memcmp): New function prototypes.
14400
14401 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14402
14403 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
14404 `cpio'.
14405 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
14406
14407 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14408
14409 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
14410 * docs/grub.cfg: Compensate for recent change in multiboot
14411 loader (since 2009-08-14 it won't pass filename to payload).
14412 * util/grub.d/10_hurd.in: Likewise.
14413
14414 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
14415
14416 * config.guess: Update to latest version from config git
14417 repository.
14418 * config.sub: Likewise.
14419
14420 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
14421
14422 Fix build on sparc64.
14423
14424 * configure.ac: Perform checks for libgcc symbols before
14425 adding `-nostdlib' to LDFLAGS.
14426
14427 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14428
14429 Let user specify OpenBSD root device.
14430
14431 * loader/i386/bsd.c (openbsd_root): New variable.
14432 (openbsd_opts): New option 'root'.
14433 (OPENBSD_ROOT_ARG): New macro.
14434 (grub_openbsd_boot): Use 'openbsd_root'.
14435 (grub_cmd_openbsd): Fill 'openbsd_root'.
14436
14437 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14438
14439 * NEWS: Misc adjustments.
14440
14441 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14442
14443 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
14444
14445 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14446
14447 * configure.ac: Bump version to 1.97.
14448
14449 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
14450
14451 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
14452 -mno-3dnow on x86 architectures. Some toolchains enable these
14453 features by default, but they rely on registers that aren't enabled
14454 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
14455
14456 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
14457
14458 Make entry text a bit more readable.
14459
14460 * util/grub.d/10_linux.in: Add `with' before `Linux'.
14461
14462 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
14465
14466 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14467
14468 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
14469 operations.
14470
14471 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14472
14473 * configure.ac: Add missing dollar.
14474
14475 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14476
14477 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
14478
14479 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
14480 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
14481 exports.
14482 * include/grub/sparc64/libgcc.h: Likewise. Use
14483 preprocessor conditionals.
14484
14485 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14486
14487 * conf/common.rmk (grub-dumpbios): Remove rule.
14488 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
14489 * util/grub-dumpbios.in: Remove file.
14490
14491 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14492
14493 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
14494 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
14495
14496 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
14497 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
14498 users.
14499
14500 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
14501 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
14502 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
14503 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
14504 users.
14505
14506 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
14507
14508 * term/tparm.c: Switch to GPLv3.
14509
14510 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14511
14512 * include/grub/i386/cpuid.h: Add header protection.
14513
14514 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14515
14516 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
14517
14518 * include/grub/i386/cpuid.h: New file.
14519 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
14520 (has_longmode): Rename to ...
14521 (grub_cpuid_has_longmode): ... this. Update all users. Remove
14522 `static' attribute.
14523 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
14524 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
14525 on a CPU that doesn't implement AMD64 instruction set.
14526
14527 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
14528
14529 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
14530 that version.texi is rebuilt on version number changes.
14531
14532 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
14533
14534 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
14535 Fixes bug #27602.
14536
14537 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
14538
14539 * util/i386/pc/grub-install.in: Source
14540 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
14541 that the --grub-probe option will work.
14542 * util/sparc64/ieee1275/grub-install.in: Likewise.
14543
14544 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
14545
14546 * configure.ac: Bump version to 1.97~beta4.
14547
14548 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
14549
14550 Resync grub-mkdevicemap in x86_64-efi.
14551
14552 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
14553 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
14554 `util/devicemap.c'.
14555
14556 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
14557
14558 * util/grub-editenv.c (create_envblk_file): Write new block with a
14559 .new suffix and then rename it into place, to ensure atomic
14560 creation.
14561
14562 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
14563
14564 Do not automatically install headers.
14565
14566 * Makefile.in (include_DATA): Remove. Update all users.
14567
14568 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
14569
14570 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
14571 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
14572
14573 * util/osdetect.lua: Remove.
14574 * script/lua/lauxlib.c: Likewise.
14575 * script/lua/ldebug.c: Likewise.
14576 * script/lua/grub_main.c: Likewise.
14577 * script/lua/lauxlib.h: Likewise.
14578 * script/lua/ldebug.h: Likewise.
14579 * script/lua/ltablib.c: Likewise.
14580 * script/lua/liolib.c: Likewise.
14581 * script/lua/lstrlib.c: Likewise.
14582 * script/lua/lualib.h: Likewise.
14583 * script/lua/ldo.c: Likewise.
14584 * script/lua/ldump.c: Likewise.
14585 * script/lua/ldo.h: Likewise.
14586 * script/lua/loslib.c: Likewise.
14587 * script/lua/lundump.c: Likewise.
14588 * script/lua/grub_lib.c: Likewise.
14589 * script/lua/ldblib.c: Likewise.
14590 * script/lua/lundump.h: Likewise.
14591 * script/lua/lmem.c: Likewise.
14592 * script/lua/grub_lib.h: Likewise.
14593 * script/lua/lmathlib.c: Likewise.
14594 * script/lua/lstate.c: Likewise.
14595 * script/lua/ltm.c: Likewise.
14596 * script/lua/lvm.c: Likewise.
14597 * script/lua/lmem.h: Likewise.
14598 * script/lua/lstate.h: Likewise.
14599 * script/lua/ltm.h: Likewise.
14600 * script/lua/ltable.c: Likewise.
14601 * script/lua/lvm.h: Likewise.
14602 * script/lua/llex.c: Likewise.
14603 * script/lua/lgc.c: Likewise.
14604 * script/lua/grub_lua.h: Likewise.
14605 * script/lua/loadlib.c: Likewise.
14606 * script/lua/lfunc.c: Likewise.
14607 * script/lua/lopcodes.c: Likewise.
14608 * script/lua/lparser.c: Likewise.
14609 * script/lua/ltable.h: Likewise.
14610 * script/lua/llex.h: Likewise.
14611 * script/lua/lgc.h: Likewise.
14612 * script/lua/lfunc.h: Likewise.
14613 * script/lua/lbaselib.c: Likewise.
14614 * script/lua/lopcodes.h: Likewise.
14615 * script/lua/lparser.h: Likewise.
14616 * script/lua/lzio.c: Likewise.
14617 * script/lua/linit.c: Likewise.
14618 * script/lua/lobject.c: Likewise.
14619 * script/lua/llimits.h: Likewise.
14620 * script/lua/lstring.c: Likewise.
14621 * script/lua/lzio.h: Likewise.
14622 * script/lua/lapi.c: Likewise.
14623 * script/lua/lcode.c: Likewise.
14624 * script/lua/lua.h: Likewise.
14625 * script/lua/lobject.h: Likewise.
14626 * script/lua/lstring.h: Likewise.
14627 * script/lua/lapi.h: Likewise.
14628 * script/lua/lcode.h: Likewise.
14629 * script/lua/luaconf.h: Likewise.
14630
14631 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
14632
14633 * docs/grub.texi (Command-line and menu entry commands): Document
14634 date and echo commands.
14635
14636 2009-09-24 Pavel Roskin <proski@gnu.org>
14637
14638 * include/grub/kernel.h (struct grub_module_header): Remove
14639 `grub_module_header_types'. Make `type' unsigned. Make `size'
14640 32-bit on all platforms.
14641 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
14642 8-bit field. Use grub_host_to_target32() for `size'.
14643 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
14644 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
14645 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
14646
14647 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14648
14649 Fix "lost keypress" bug in at_keyboard.
14650
14651 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
14652 Checks for readyness of input buffer (without flushing it).
14653 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
14654 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
14655
14656 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14657
14658 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
14659 size check within GRUB_MACHINE_PCBIOS section.
14660
14661 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14662
14663 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
14664 return value.
14665 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
14666 KEYBOARD_ISREADY check.
14667 (grub_at_keyboard_checkkey): Rename to ...
14668 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
14669 Remove gratuitous cast.
14670
14671 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
14672
14673 * configure.ac: Call AC_PROG_MKDIR_P.
14674 * Makefile.in (docs/stamp-vti): Create docs directory. Create
14675 version.texi in $(builddir) rather than $(srcdir).
14676 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
14677 to makeinfo's @include search path.
14678
14679 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
14680
14681 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
14682
14683 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
14684
14685 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
14686 for `*.dpkg-new'.
14687
14688 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
14689
14690 Build info documentation. Some code borrowed from Automake.
14691
14692 * configure.ac: Check for makeinfo.
14693 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
14694 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
14695 docs/version.texi.
14696 (MOSTLYCLEANFILES): Add vti.tmp.
14697 (docs/version.texi, docs/stamp-vti): Update automatically.
14698 (docs/grub.info): Build info documentation. Use --force and ignore
14699 errors for now.
14700 (all-local): Add $(INFOS).
14701 (install-local): Install info files.
14702 (uninstall): Uninstall info files.
14703 * docs/version.texi: Remove from revision control. This file is
14704 automatically generated on build now.
14705 * gendistlist.sh: Add `*.info'.
14706
14707 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
14708
14709 * kern/term.c: Fix indentation.
14710
14711 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
14712
14713 * util/hostdisk.c: Fix a comment.
14714
14715 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
14716
14717 Fix regression introduced in r2539.
14718
14719 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
14720 to 0xA1.
14721
14722 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
14723
14724 * util/grub.d/30_os-prober.in: Don't throw away stderr from
14725 os-prober. Under normal operation, it does not print anything to
14726 stderr; if it does, we need to debug it, and throwing away stderr
14727 makes that excessively difficult.
14728
14729 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
14730
14731 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
14732
14733 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
14734
14735 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
14736 AC_LANG_PROGRAM from autoconf.
14737 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
14738 prototypes (fixes warning).
14739
14740 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
14741 `--disable-werror' was used.
14742
14743 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
14744
14745 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
14746 uninitialized `lastaddr'.
14747
14748 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14749
14750 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
14751
14752 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
14753
14754 * commands/test.c (get_fileinfo): Return immediately if
14755 grub_fs_probe fails.
14756
14757 2009-09-14 José Martínez <xosemp@gmail.com>
14758
14759 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
14760
14761 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
14762
14763 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
14764 output.
14765
14766 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
14767
14768 * configure.ac: Remove --enable-grub-pe2elf. Only build
14769 grub-pe2elf when needed by the build system itself.
14770 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
14771
14772 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14773
14774 * configure.ac: Bump version to 1.97~beta3.
14775 * docs/version.texi: Likewise.
14776
14777 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14778
14779 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
14780 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
14781 from here ...
14782 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
14783 (grub_linux_setup_video): ... to here (with some adjustments).
14784
14785 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14786
14787 Fix memory corruption issue (spotted by Colin Watson).
14788
14789 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
14790 causing returned size to be stored in an incorrect memory location.
14791 Fix use of uninitialized value when storing the returned size.
14792
14793 2009-09-12 Yves Blusseau <blusseau@zetam.org>
14794
14795 Change clean rules to properly remove files
14796
14797 * genmk.rb: add new clean rules
14798 * Makefile.in (clean): add the new targets
14799 (mostlyclean): likewise
14800
14801 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
14802
14803 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
14804 to grub_uint64_t.
14805 * fs/ntfs.c (init_file): Understand 64-bit sizes for
14806 non-resident files.
14807
14808 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
14809
14810 * configure.ac: Don't look for help2man when cross-compiling. Fixes
14811 part of bug #27349.
14812
14813 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
14814
14815 * util/grub-mkconfig.in: Make the created config mode 400 and
14816 print a warning if it fails.
14817
14818 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
14819
14820 * util/grub.d/40_custom.in: Ask user to type custom entries below
14821 comment, rather than below 'exec tail' line.
14822
14823 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
14824
14825 * util/grub.d/40_custom.in: Make sure that the explanatory text is
14826 visible in grub.cfg.
14827
14828 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
14829
14830 * util/grub.d/40_custom.in: Make it a little clearer how to use this
14831 file.
14832
14833 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
14834
14835 * docs/grub.cfg: Add an example menu entry for memtest86+.
14836
14837 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
14838
14839 * config.guess: Update to latest version from config git.
14840 * config.sub: Likewise.
14841
14842 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
14843
14844 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
14845 unknown-command case. Fixes bug #27320.
14846
14847 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
14848
14849 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
14850 `help' if the command exists.
14851
14852 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
14853
14854 * INSTALL: Require GCC 4.1.3 or later.
14855
14856 2009-09-06 Yves Blusseau <blusseau@zetam.org>
14857
14858 * Makefile.in (RMKFILES): add i386-qemu.rmk
14859 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
14860 $(srcdir)/stamp-h.in
14861
14862 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
14863
14864 * util/grub-probe.c (probe): Comment out buggy codepath, which
14865 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
14866 should be re-enabled after 1.97.
14867
14868 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
14869
14870 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
14871 find searches for.
14872
14873 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14874
14875 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
14876 unnecessary calls to grub_error.
14877
14878 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
14879
14880 * NEWS: Mention `keystatus' and Unicode fonts.
14881
14882 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
14883
14884 * configure.ac: Bump version to 1.97~beta2.
14885 * docs/version.texi: Likewise.
14886
14887 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
14888
14889 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
14890 containing unwind information in some cases where it previously did
14891 not. Use -fno-dwarf2-cfi-asm if available to restore the old
14892 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
14893 discussion.
14894
14895 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
14896
14897 Embedding loadenv module into grub-emu
14898
14899 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
14900 commands/loadenv.c
14901 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
14902 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
14903 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
14904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
14905 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
14906 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
14907
14908 2009-09-03 Magnus Granberg <zorry@ume.nu>
14909
14910 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
14911 include -fPIE in the default specs.
14912 * configure.ac: Check if pie_possible is yes and add -fno-PIE
14913 to TARGET_CFLAGS.
14914
14915 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
14916
14917 * INSTALL: Note that GNU Bison 2.3 or later is required.
14918
14919 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
14920
14921 * kern/i386/pc/startup.S: Fix typo.
14922
14923 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14924
14925 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
14926 according to GCS.
14927
14928 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
14929
14930 * docs/grub.texi (Naming convention): Describe one-based partition
14931 numbering.
14932 (Device syntax): Likewise.
14933 (File name syntax): Likewise.
14934 (Block list syntax): Likewise.
14935 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
14936 menu.lst.
14937 (File name syntax): Likewise.
14938 (Command-line and menu entry commands): Document acpi, blocklist,
14939 crc, export, insmod, keystatus, ls, set, and unset commands.
14940
14941 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
14942
14943 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
14944 to avoid implying that only one of --shift, --ctrl, or --alt may be
14945 used.
14946
14947 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
14948
14949 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
14950 rather than comparing against S_IFREG, which will almost never work.
14951
14952 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14953
14954 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
14955 (write_blocklists): Likewise.
14956
14957 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
14958
14959 * script/lua/grub_lua.h (fputs): Supply a format string as the first
14960 argument to grub_printf.
14961
14962 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
14963
14964 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
14965 non GNU test.
14966
14967 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14968
14969 * kern/file.c (grub_file_read): Spelling fix
14970
14971 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14972
14973 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
14974 loading of headers in some cases.
14975
14976 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
14977
14978 * configure.ac: Bump version to 1.97~beta1.
14979 * docs/version.texi: Likewise.
14980
14981 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14982
14983 * include/grub/i386/xnu.h: Add license header.
14984 include grub/err.h explicitly.
14985
14986 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
14987
14988 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
14989 to `ufs' in the vfs.root.mountfrom kernel parameter.
14990
14991 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
14992
14993 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
14994
14995 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
14996 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
14997
14998 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
14999 `ARRAY_SIZE' macro.
15000
15001 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15002
15003 * kern/file.c (grub_file_read): Check offset.
15004 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
15005 * fs/jfs.c (grub_jfs_read_file): Likewise.
15006 * fs/ntfs.c (grub_ntfs_read): Likewise.
15007 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
15008 * fs/minix.c (grub_minix_read_file): Correct offset check.
15009 * fs/ufs.c (grub_ufs_read_file): Likewise.
15010
15011 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15012
15013 * term/i386/pc/console.c (bios_data_area): Cast
15014 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
15015
15016 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15017
15018 1-bit optimised blitters.
15019
15020 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
15021 prototype.
15022 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15023 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15024 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15025 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15026 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15027 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15028 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
15029 function.
15030 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15031 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15032 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15033 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15034 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15035 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15036 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
15037 when possible.
15038 * video/video.c (grub_video_get_blit_format): Return
15039 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
15040
15041 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15042
15043 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
15044 the first argument to grub_printf.
15045
15046 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15047 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
15048
15049 Add `getkeystatus' terminal method. Add a new `keystatus' command
15050 to query it.
15051
15052 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
15053 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
15054 modifier key bitmasks.
15055 (struct grub_term_input): Add `getkeystatus' member.
15056 (grub_getkeystatus): Add prototype.
15057 * kern/term.c (grub_getkeystatus): New function.
15058
15059 * include/grub/i386/pc/memory.h
15060 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
15061 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
15062 Data Area layout.
15063 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
15064 (grub_console_term_input): Set `getkeystatus' member.
15065 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
15066 constants.
15067 (grub_usb_keyboard_getreport): Likewise.
15068 (grub_usb_keyboard_checkkey): Likewise.
15069 (grub_usb_keyboard_getkeystatus): New function.
15070 (grub_usb_keyboard_term): Set `getkeystatus' member.
15071
15072 * commands/keystatus.c: New file.
15073 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
15074 (keystatus_mod_SOURCES): New variable.
15075 (keystatus_mod_CFLAGS): Likewise.
15076 (keystatus_mod_LDFLAGS): Likewise.
15077 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
15078 commands/keystatus.c.
15079 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15080 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15081 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15083 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15084 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15085
15086 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15087
15088 Split befs.mod and afs.mod into *_be.mod and *.mod
15089
15090 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
15091 (grub_fstest_SOURCES): Likewise.
15092 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
15093 (afs_be_mod_SOURCES): New variable.
15094 (afs_be_mod_CFLAGS): Likewise.
15095 (afs_be_mod_LDFLAGS): Likewise.
15096 (befs_be_mod_SOURCES): Likewise.
15097 (befs_be_mod_CFLAGS): Likewise.
15098 (befs_be_mod_LDFLAGS): Likewise.
15099 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
15100 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15101 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15102 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15103 (grub_emu_SOURCES): Likewise.
15104 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15105 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15106 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15107 * fs/afs_be.c: New file.
15108 * fs/befs_be.c: New file.
15109 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
15110 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
15111 (U16): Replaced with ...
15112 (grub_afs_to_cpu16): ...this. All users updated.
15113 (U32): Replaced with ...
15114 (grub_afs_to_cpu32): ...this. All users updated.
15115 (U64): Replaced with ...
15116 (grub_afs_to_cpu64): ...this. All users updated.
15117 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
15118 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
15119 (grub_afs_validate_sblock): Check only one endianness.
15120 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15121 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15122 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15123 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15124 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15125 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15126 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15127 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15128
15129 2009-08-26 Bean <bean123ch@gmail.com>
15130
15131 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
15132 64-bit number.
15133 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15134 (grub_xfs_inode_block): Change return type to grub_uint64_t.
15135 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
15136
15137 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15138
15139 NetBSD memory map support.
15140
15141 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
15142 (grub_netbsd_btinfo_mmap_header): New structure.
15143 (grub_netbsd_btinfo_mmap_entry): Likewise.
15144 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
15145
15146 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15147
15148 Enable bsd.mod on coreboot.
15149
15150 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
15151 (bsd_mod_SOURCES): New variable.
15152 (bsd_mod_CFLAGS): Likewise.
15153 (bsd_mod_LDFLAGS): Likewise.
15154 (bsd_mod_ASFLAGS): Likewise.
15155 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
15156 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
15157
15158 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15159
15160 Cleanup NetBSD root support.
15161
15162 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
15163 grub_bsd_get_device.
15164 Fix typo.
15165
15166 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
15167
15168 * util/grub.d/00_header.in: Move check for the video backend of
15169 gfxterm from here ...
15170 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
15171 a suitable video backend.
15172
15173 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 Fix breakage in grub-setup.
15176
15177 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
15178 "msdos_partition_map".
15179
15180 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15181
15182 Fix breakage in normal/auth.c.
15183
15184 * normal/auth.c (grub_iswordseparator): New function.
15185
15186 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15187
15188 Authentication support.
15189
15190 * commands/password.c: New file.
15191 * conf/common.rmk (pkglib_MODULES): Add password.mod.
15192 (password_mod_SOURCES): New variable.
15193 (password_mod_CFLAGS): Likewise.
15194 (password_mod_LDFLAGS): Likewise.
15195 (normal_mod_SOURCES): Add normal/auth.c.
15196 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
15197 normal/auth.c.
15198 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15199 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15200 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15202 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15203 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15204 * include/grub/auth.h: New file.
15205 * include/grub/err.h (grub_err_t): New enum value
15206 GRUB_ERR_ACCESS_DENIED.
15207 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
15208 'users'.
15209 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
15210 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
15211 users updated.
15212 * normal/auth.c: New file.
15213 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
15214 (grub_cmdline_run): Don't allow to go to command line without
15215 authentication.
15216 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
15217 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
15218 menuentry without superuser rights.
15219 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
15220 user isn't a superuser.
15221
15222 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15223
15224 Save space by inlining misc.c functions.
15225
15226 * kern/misc.c (grub_iswordseparator): Made static.
15227 * kern/misc.c (grub_strcat): Moved from here ...
15228 * include/grub/misc.h (grub_strcat): ... here. Inlined.
15229 * kern/misc.c (grub_strncat): Moved from here ...
15230 * include/grub/misc.h (grub_strncat): ... here. Inlined.
15231 * kern/misc.c (grub_strcasecmp): Moved from here ...
15232 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
15233 * kern/misc.c (grub_strncasecmp): Moved from here ...
15234 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
15235 * kern/misc.c (grub_isalpha): Moved from here ...
15236 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
15237 * kern/misc.c (grub_isdigit): Moved from here ...
15238 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
15239 * kern/misc.c (grub_isgraph): Moved from here ...
15240 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
15241 * kern/misc.c (grub_tolower): Moved from here ...
15242 * include/grub/misc.h (grub_tolower): ... here. Inlined.
15243
15244 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15245
15246 * script/sh/function.c (grub_script_function_find): Cut error message
15247 not to flood terminal.
15248 * script/sh/lexer.c (grub_script_yylex): Remove command line length
15249 limit.
15250 * script/sh/script.c (grub_script_arg_add): Duplicate string.
15251
15252 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
15253
15254 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
15255 `report' grub_uint8_t *.
15256 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
15257 Use a 50-millisecond timeout rather than just repeating
15258 grub_usb_keyboard_getreport 50 times.
15259 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
15260
15261 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15262
15263 Rename *_partition_map to part_*
15264
15265 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
15266 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
15267 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
15268 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
15269 All users updated.
15270 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
15271 All users updated.
15272 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
15273 * util/grub-probe.c (probe_partmap): Don't transform partition name
15274 to get module name.
15275
15276 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 Fix OpenBSD and NetBSD support.
15279
15280 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
15281 memory address conflict.
15282 (OPENBSD_MMAP_ACPI): New definition.
15283 (OPENBSD_MMAP_NVS): Likewise.
15284 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
15285 and OPENBSD_MMAP_NVS.
15286 Add memory map terminator
15287 Explicit cast when calling grub_unix_real_boot.
15288 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
15289
15290 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15291
15292 Let user specify NetBSD root device.
15293
15294 * loader/i386/bsd.c (netbsd_root): New variable.
15295 (netbsd_opts): New option 'root'.
15296 (NETBSD_ROOT_ARG): New macro.
15297 (grub_netbsd_boot): Use 'netbsd_root'.
15298 (grub_bsd_unload): Free 'netbsd_root'.
15299 (grub_cmd_netbsd): Fill 'netbsd_root'.
15300
15301 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15302
15303 Support for 64-bit NetBSD.
15304
15305 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
15306 point when booting non-FreeBSD.
15307
15308 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15309
15310 Support --no-smp and --no-acpi for NetBSD.
15311
15312 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
15313 (NETBSD_AB_NOACPI): Likewise.
15314 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
15315 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
15316
15317 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15318
15319 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
15320 errors.
15321 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
15322 errors. Call grub_error when needed.
15323
15324 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15325
15326 * commands/search.c (search_fs): Try searching without autoload first.
15327 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15328 filesystem module explicitly for faster booting.
15329
15330 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
15331
15332 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
15333
15334 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
15335
15336 * util/grub.d/30_os-prober.in: Disable os-prober if
15337 `GRUB_DISABLE_OS_PROBER' was set to true.
15338
15339 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
15340
15341 * partmap/pc.c: Rename to ...
15342 * partmap/msdos.c: ... this. Update all users.
15343 (grub_pc_partition_map): Rename to ...
15344 (grub_msdos_partition_map): ... this. Update all users.
15345
15346 * parttool/pcpart.c: Rename to ...
15347 * parttool/msdospart.c: ... this. Update all users.
15348
15349 * include/grub/pc_partition.h: Rename to ...
15350 * include/grub/msdos_partition.h: ... this. Update all users.
15351 (grub_pc_partition_bsd_entry): Rename to ...
15352 (grub_msdos_partition_bsd_entry): ... this. Update all users.
15353 (grub_pc_partition_disk_label): Rename to ...
15354 (grub_msdos_partition_disk_label): ... this. Update all users.
15355 (grub_pc_partition_entry): Rename to ...
15356 (grub_msdos_partition_entry): ... this. Update all users.
15357 (grub_pc_partition_mbr): Rename to ...
15358 (grub_msdos_partition_mbr): ... this. Update all users.
15359 (grub_pc_partition): Rename to ...
15360 (grub_msdos_partition): ... this. Update all users.
15361 (grub_pc_partition_is_empty): Rename to ...
15362 (grub_msdos_partition_is_empty): ... this. Update all users.
15363 (grub_pc_partition_is_extended): Rename to ...
15364 (grub_msdos_partition_is_extended): ... this. Update all users.
15365 (grub_pc_partition_is_bsd): Rename to ...
15366 (grub_msdos_partition_is_bsd): ... this. Update all users.
15367
15368 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
15369 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
15370 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
15371 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
15372 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
15373 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
15374 (gpt_mod_LDFLAGS): Rename to ...
15375 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
15376 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
15377 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
15378 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
15379 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
15380 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
15381 (part_gpt_mod_LDFLAGS): ... this.
15382 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
15383 `pcpart.mod' to `msdospart.mod'.
15384 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
15385 to ...
15386 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
15387 (msdospart_mod_LDFLAGS): ... this.
15388
15389 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15390
15391 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
15392 (openbsd_opts): Likewise.
15393 (netbsd_opts): Likewise.
15394 (freebsd_flags): Added 0 terminator.
15395 (openbsd_flags): Likewise.
15396 (netbsd_flags): Likewise.
15397 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
15398 (grub_cmd_freebsd): Transformed into extended command.
15399 (grub_cmd_openbsd): Likewise.
15400 (grub_cmd_netbsd): Likewise.
15401 (cmd_freebsd): Changed type to grub_extcmd_t.
15402 (cmd_openbsd): Likewise.
15403 (cmd_netbsd): Likewise.
15404 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
15405 grub_cmd_openbsd as extended commands.
15406 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
15407 cmd_netbsd and cmd_openbsd
15408
15409 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
15412
15413 2009-08-21 Pavel Roskin <proski@gnu.org>
15414
15415 * Makefile.in (install-local): When checking if a file is in the
15416 build directory, use "test -e" to detect symlinks.
15417
15418 * Makefile.in (install-local): Remove all files in
15419 $(DESTDIR)$(pkglibdir) before installing new files there.
15420
15421 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
15422
15423 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
15424 grub-mkelfimage.
15425
15426 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
15427
15428 * util/grub-mkconfig.in: Don't use gfxterm by default if not
15429 explicitly specified by the user.
15430
15431 2009-08-18 Pavel Roskin <proski@gnu.org>
15432
15433 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
15434 grub_uint8_t pointer for data.
15435 * include/grub/fbutil.h (struct grub_video_fbblit_info):
15436 Likewise.
15437 * video/fb/fbutil.c: Remove unnecessary casts.
15438
15439 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15440
15441 VBE cleanup.
15442
15443 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
15444 (grub_vbe_set_video_mode): Save active mode info
15445 only after setting the mode.
15446 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
15447 second argument.
15448
15449 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15450
15451 Rename variables for clarity.
15452
15453 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
15454 (active_vbe_mode_info): ... this. All users updated.
15455 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
15456 All users updated.
15457 (initial_mode): Rename to ...
15458 (initial_vbe_mode): ... this. All users updated.
15459 (mode_in_use): Rename to ..
15460 (vbe_mode_in_use): ... this. All users updated.
15461 (mode_list): Rename to ..
15462 (vbe_mode_list): ... this. All users updated.
15463 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
15464 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
15465 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
15466 'mode_list_size' to 'vbe_mode_list_size'.
15467 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
15468 'best_mode_info' to 'best_vbe_mode_info' and
15469 'best_mode' to 'best_vbe_mode'
15470
15471 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15472
15473 Remove duplicate grub_video_fb_get_video_ptr.
15474
15475 * include/grub/fbutil.h (get_data_ptr): Rename to ...
15476 (grub_video_fb_get_video_ptr): ... this.
15477 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
15478 * video/fb/fbutil.c: Add comment about addressing.
15479 (get_data_ptr): Rename to ...
15480 (grub_video_fb_get_video_ptr): ... this. All users updated.
15481 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
15482
15483 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15484
15485 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
15486 grub_dprintf() that was just added.
15487
15488 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15489
15490 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
15491 (DEFAULT_VIDEO_MODE): Remove macros.
15492 (grub_linux_boot): Remove assumption that Linux has FB support,
15493 and use "text" as default video mode.
15494
15495 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
15496
15497 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
15498 grub_dprintf.
15499 * fs/fat.c (grub_fat_read_data): Likewise.
15500
15501 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15502
15503 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
15504 payload.
15505 (grub_module): Likewise.
15506
15507 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15508
15509 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
15510 mbi->cmdline but free playground.
15511
15512 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15513
15514 Handle group offset on UFS1.
15515
15516 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
15517 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
15518
15519 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15520
15521 Split ufs.mod into ufs1.mod and ufs2.mod.
15522
15523 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
15524 (grub_fstest_SOURCES): Likewise.
15525 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
15526 (ufs_mod_SOURCES): Remove.
15527 (ufs_mod_CFLAGS): Likewise.
15528 (ufs_mod_LDFLAGS): Likewise.
15529 (ufs1_mod_SOURCES): New variable.
15530 (ufs1_mod_CFLAGS): Likewise.
15531 (ufs1_mod_LDFLAGS): Likewise.
15532 (ufs2_mod_SOURCES): New variable.
15533 (ufs2_mod_CFLAGS): Likewise.
15534 (ufs2_mod_LDFLAGS): Likewise.
15535 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
15536 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15537 Likewise.
15538 (grub_emu_SOURCES): Likewise.
15539 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15540 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15541 (grub_setup_SOURCES): Likewise.
15542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15543 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
15544 (grub_setup_SOURCES): Likewise.
15545 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15546 Likewise.
15547 * fs/ufs2.c: New file.
15548 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
15549
15550 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15551
15552 Framebuffer split.
15553
15554 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
15555 subsystem at the end.
15556 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
15557 (video_fb_mod_SOURCES): New variable.
15558 (video_fb_mod_CFLAGS): Likewise.
15559 (video_fb_mod_LDFLAGS): Likewise.
15560 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
15561 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
15562 * video/i386/pc/vbeblit.c: Moved from here ...
15563 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
15564 * video/i386/pc/vbefill.c: Moved from here ...
15565 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
15566 * video/i386/pc/vbeutil.c: Moved from here ...
15567 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
15568 * include/grub/i386/pc/vbeblit.h: Moved from here ...
15569 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
15570 * include/grub/i386/pc/vbefill.h: Moved from here ...
15571 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
15572 * include/grub/i386/pc/vbeutil.h: Moved from here ...
15573 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
15574 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
15575 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
15576 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
15577 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
15578 (grub_video_adapter): Added 'get_info_and_fini'.
15579 (grub_video_get_info_and_fini): New prototype.
15580 (grub_video_set_mode): make modestring const char *.
15581 * loader/i386/linux.c (grub_linux_setup_video): Use
15582 grub_video_get_info_and_fini.
15583 (grub_linux_boot): Move modesetting just before booting.
15584 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
15585 grub_video_get_info_and_fini.
15586 * video/i386/pc/vbe.c: Moved framebuffer part ...
15587 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
15588 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
15589 grub_video_fbstd_colors and grub_video_fb_set_palette.
15590 (grub_video_vbe_init): Clear 'framebuffer' variable and use
15591 grub_video_fb_init.
15592 (grub_video_vbe_fini): Use grub_video_fb_fini.
15593 (grub_video_vbe_setup): Use framebuffer.render_target instead of
15594 render_target and use grub_video_fb_set_active_render_target and
15595 grub_video_fb_set_palette.
15596 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
15597 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
15598 (grub_video_vbe_adapter): Use framebuffer.
15599 * video/video.c (grub_video_get_info_and_fini): New function.
15600 (grub_video_set_mode): Make modestring const char *.
15601 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
15602 values are already initialised.
15603
15604 2009-08-14 Pavel Roskin <proski@gnu.org>
15605
15606 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
15607 ABS and APPLE_CC.
15608 * boot/i386/pc/diskboot.S: Likewise.
15609 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
15610 sectors allow compilation on MacOSX.
15611 * conf/i386-pc.rmk: Enable unconditional compilation of
15612 lnxboot.img.
15613
15614 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
15615
15616 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
15617 * util/grub.d/00_header.in: Enter interruptible sleep if
15618 GRUB_HIDDEN_TIMEOUT is set.
15619
15620 2009-08-13 Yves Blusseau <blusseau@zetam.org>
15621
15622 * include/grub/symbol.h: Add the LOCAL macro.
15623 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
15624 starting with "L_".
15625
15626 2009-08-13 Pavel Roskin <proski@gnu.org>
15627
15628 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
15629 any modern compilers we support.
15630
15631 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
15632 Use local labels starting with "L_" so that Apple assembler
15633 knows they are local.
15634
15635 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
15636
15637 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
15638 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
15639 (bsd_kernel_types): ... this enum.
15640
15641 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
15642 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
15643 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
15644
15645 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
15646 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
15647 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
15648 messages.
15649
15650 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
15651
15652 * util/grub-dumpdevtree: Moved from here ...
15653 * util/i386/efi/grub-dumpdevtree: ... to here.
15654 (hexify): New function. Converts a string to its hex version.
15655 Generate hex versions of "efi" and "device-properties" by calling
15656 hexify() on the ASCII strings rather than by hardcoding numbers.
15657
15658 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
15659
15660 * fs/jfs.c: Update copyright year.
15661
15662 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
15663
15664 * util/grub.d/00_header.in: Fix a comment.
15665 * util/grub.d/10_linux.in: Likewise.
15666 * util/grub.d/10_windows.in: Likewise.
15667 * util/grub.d/10_hurd.in: Likewise.
15668
15669 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
15670
15671 * util/grub-mkconfig.in: Allow the user to specify the used font
15672 with GRUB_FONT.
15673
15674 2009-08-08 Pavel Roskin <proski@gnu.org>
15675
15676 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
15677 available, xfs.mod needs it now.
15678
15679 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
15680 the "g" modifier in sed when the intention is to strip something
15681 once. This fixes comparison of kernels with multiple dashes.
15682
15683 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
15684 on it. Add missing space before closing bracket. Fix
15685 misleading formatting.
15686
15687 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15688
15689 * docs/grub.texi: Major overhaul. Remove all sections that are
15690 specific to GRUB Legacy, or mostly composed of Legacy-specific
15691 information.
15692
15693 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15694
15695 * docs/version.texi: New file. Provides version information for
15696 grub.texi.
15697
15698 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15699
15700 * docs/grub.texi: Update CVS information to SVN.
15701 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
15702
15703 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
15704
15705 * util/grub-mkconfig.in: Remove a wrong `fi'.
15706
15707 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
15708
15709 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
15710 (grub_jfs_uuid): New function.
15711 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
15712
15713 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
15714
15715 * util/grub-mkconfig_lib.in (font_path): Move the functionality
15716 of it to ...
15717 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
15718 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
15719
15720 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15721
15722 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
15723 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
15724 Update all users.
15725
15726 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
15727 not just "vmlinu[zx]".
15728 Moved from here ...
15729 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
15730 all users.
15731
15732 * util/grub.d/10_linux.in (find_latest): Moved from here ...
15733 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
15734 all users.
15735
15736 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15737
15738 * util/grub.d/10_freebsd.in: Use an absolute device path for
15739 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
15740
15741 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
15742
15743 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
15744 handling of multiple abstraction modules.
15745
15746 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
15747
15748 Fix a bug resulting in black screen when loading Linux using a
15749 packed video mode.
15750
15751 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
15752 function.
15753
15754 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
15755 (grub_vbe_bios_getset_dac_palette_width): New function.
15756 (grub_vbe_bios_get_dac_palette_width)
15757 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
15758 grub_vbe_bios_getset_dac_palette_width()).
15759
15760 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
15761 check for return status.
15762 (grub_vbe_get_video_mode_info): When getting information for a packed
15763 mode (<= 8 bpp), obtain DAC palette width using
15764 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
15765 {red,green,blue}_mark_size.
15766
15767 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
15768
15769 * commands/search.c (options): Fix help output to match actual code.
15770
15771 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
15774 of homegrown code.
15775
15776 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
15779 on XFS or ReiserFS.
15780
15781 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 Support Apple partition map with sector size different from 512 bytes.
15784
15785 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
15786 (apple_partition_map_iterate): Respect 'aheader.blocksize'
15787 and 'apart.partmap_size'.
15788
15789 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15790 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
15791
15792 Fix cpuid command.
15793
15794 * commands/i386/cpuid.c (options): New variable.
15795 (grub_cmd_cpuid): Return real error.
15796 (GRUB_MOD_INIT(cpuid)): Declare options.
15797
15798 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
15801 valid.
15802
15803 2009-07-31 Bean <bean123ch@gmail.com>
15804
15805 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
15806 log2_inode.
15807 (grub_fshelp_node): Move inode field to the end.
15808 (grub_xfs_data): Remove inode field.
15809 (grub_xfs_inode_block): Calculate inode size using sblock.
15810 (grub_xfs_inode_offset): Likewise.
15811 (grub_xfs_read_inode): Calculate inode size using sblock.
15812 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
15813 (grub_xfs_iterate_dir): Calculate inode size using sblock.
15814 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
15815 to match inode size.
15816 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
15817 not accessible when data is null.
15818 (grub_xfs_open): Likewise.
15819
15820 2009-07-31 Bean <bean123ch@gmail.com>
15821
15822 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
15823 Don't change pv->disk if it's already set.
15824
15825 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
15826 (grub_raid_register): ... here.
15827 (grub_raid_rescan): Removed.
15828
15829 * include/grub/raid.h (grub_raid_rescan): Removed.
15830
15831 * util/grub-fstest.c: Remove include file <grub/raid.h>.
15832 (fstest): Replace grub_raid_rescan with module fini function followed
15833 by init function.
15834
15835 * util/grub-probe.c: Add include file <grub/raid.h>.
15836 (probe_raid_level): New function.
15837 (probe): Detect abstraction by walking the disk device, support two
15838 level of abstraction (LVM on RAID) when detecting partition map.
15839
15840 2009-07-31 Pavel Roskin <proski@gnu.org>
15841
15842 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
15843 to grub_zalloc(), it was erroneous.
15844 Reported by Bean <bean123ch@gmail.com>
15845
15846 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
15847
15848 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
15849 embedding zone, not only the first one.
15850
15851 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
15852
15853 * term/gfxterm.c (clear_char): New function.
15854 (grub_virtual_screen_setup): Use clear_char.
15855 (scroll_up): Likewise.
15856 (grub_virtual_screen_cls): Likewise.
15857
15858 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
15859
15860 * util/deviceiter.c (get_acceleraid_disk_name): New static
15861 function.
15862 (grub_util_iterate_devices): Handle Accelraid devices.
15863 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
15864
15865 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
15866
15867 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
15868 separator for the suggested gfxpayload string (';' collides with the
15869 parser and needs escaping).
15870
15871 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15872
15873 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
15874 Clear direction flag before jumping to OS.
15875 (grub_multiboot2_real_boot): Likewise.
15876
15877 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
15878
15879 * util/i386/pc/grub-install: Fix parsing of --disk-module
15880 option.
15881
15882 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
15883
15884 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
15885 when embedding.
15886
15887 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
15888
15889 * util/grub-mkconfig.in (package_version): New variable.
15890 Use it do display the version.
15891
15892 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
15893
15894 * kern/file.c (grub_file_open): Revert to previous check with
15895 grub_errno.
15896
15897 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
15900 from help line. It's out of sync with code.
15901
15902 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
15905 entries on failed boot.
15906
15907 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
15908
15909 * kern/file.c (grub_file_open): Fix an error check.
15910
15911 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
15914 partition map couldn't be identified.
15915
15916 2009-07-23 Pavel Roskin <proski@gnu.org>
15917
15918 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
15919 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
15920 case of little endian words becomes just an optimization.
15921 Respect const modifier.
15922 (md5_final): Use code that doesn't depend on endianness.
15923
15924 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
15925 to avoid loss of upper bits if align is unsigned and shorter
15926 than addr.
15927
15928 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 UUID support for UFS
15931
15932 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
15933 (grub_ufs_uuid): New function.
15934 (grub_ufs_fs): add .uuid
15935
15936 2009-07-21 Pavel Roskin <proski@gnu.org>
15937
15938 * kern/dl.c (grub_dl_check_header): Make static.
15939
15940 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
15941
15942 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
15943 add drivemap for Vista. It breaks Windows 7.
15944
15945 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
15946
15947 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
15948 128 bytes
15949
15950 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 Add BFS support
15953
15954 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
15955 (grub_fstest_SOURCES): Likewise.
15956 (pkglib_MODULES): Add befs.mod.
15957 (befs_mod_SOURCES): New variable.
15958 (befs_mod_CFLAGS): Likewise.
15959 (befs_mod_LDFLAGS): Likewise.
15960 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15961 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15962 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15963 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15964 (grub_setup_SOURCES): Likewise.
15965 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15966 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15967 (grub_setup_SOURCES): Likewise.
15968 * fs/befs.c: New file.
15969 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
15970 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
15971 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
15972 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
15973 (B_KEY_INDEX_ALIGN): New declaration.
15974 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
15975 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
15976 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
15977 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
15978 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
15979 (grub_afs_mount) [MODE_BFS]: Likewise.
15980 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
15981 (grub_afs_fs): Use GRUB_AFS_FSNAME
15982 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
15983 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
15984 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
15985 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
15986
15987 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
15988
15989 * util/getroot.c (find_root_device): Add support for MacOSX.
15990 * util/hostdisk.c: Likewise.
15991
15992 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15993
15994 * font/font.c (find_glyph): Check whether a font is present to avoid
15995 segmentation fault.
15996
15997 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
15998
15999 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
16000
16001 2009-07-20 Pavel Roskin <proski@gnu.org>
16002
16003 * configure.ac: Trim excessively wordy excuses.
16004
16005 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 Add symlink, mtime and label support to AtheFS.
16008
16009 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
16010 (grub_afs_iterate_dir): Handle symlinks.
16011 (grub_afs_open): Use grub_afs_read_symlink.
16012 (grub_afs_dir): Likewise.
16013 Pass mtime.
16014 (grub_afs_label): New function.
16015 (grub_afs_fs): Add grub_afs_label.
16016 (grub_afs_read_symlink): New function.
16017
16018 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16019
16020 Fix AtheFS support.
16021
16022 * fs/afs.c: Fix comments style.
16023 (grub_afs_blockrun): Declare as packed.
16024 (grub_afs_datastream): Likewise.
16025 (grub_afs_bnode): Likewise.
16026 (grub_afs_btree): Likewise.
16027 (grub_afs_sblock): Likewise.
16028 Declare `name' as char.
16029 (grub_afs_inode): Declare as packed.
16030 Change void *vnode to grub_uint32_t unused.
16031 (grub_afs_iterate_dir): Check that key_size is positive.
16032 (grub_afs_mount): Don't read superblock twice.
16033 (grub_afs_dir): Don't free node in case of error,
16034 grub_fshelp_find_file already handles this.
16035 (grub_afs_open): Likewise.
16036
16037 2009-07-19 Pavel Roskin <proski@gnu.org>
16038
16039 * Makefile.in: Remove LIBLZO and enable_lzo.
16040 * conf/i386-pc.rmk: Remove lzo support.
16041 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
16042 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
16043 support.
16044 * kern/i386/pc/lzo1x.S: Remove.
16045 * kern/i386/pc/startup.S: Remove lzo support.
16046 * util/i386/pc/grub-mkimage.c: Likewise.
16047
16048 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
16049
16050 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
16051 * fs/xfs.c (grub_xfs_dir): Likewise.
16052 * fs/afs.c (grub_afs_dir): Likewise.
16053 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
16054 (grub_iso9660_open): Likewise.
16055 * fs/jfs.c (grub_jfs_open): Likewise.
16056 * fs/ext2.c (grub_ext2_dir): Likewise.
16057 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
16058 * script/sh/lexer.c (grub_script_yylex): Likewise.
16059
16060 2009-07-16 Pavel Roskin <proski@gnu.org>
16061
16062 * configure.ac: Never add "-c" to CFLAGS.
16063
16064 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
16065
16066 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
16067 grub_cv_cc_efiemu should be used.
16068
16069 * configure.ac: Typo fixes.
16070
16071 * kern/mm.c (grub_zalloc): New function.
16072 (grub_debug_zalloc): Likewise.
16073 * include/grub/mm.h: Declare grub_zalloc() and
16074 grub_debug_zalloc().
16075 * util/misc.c (grub_zalloc): New function.
16076 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
16077 instead of grub_malloc(), remove unneeded initializations.
16078 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
16079 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
16080 * commands/parttool.c (grub_cmd_parttool): Likewise.
16081 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16082 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
16083 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
16084 * disk/usbms.c (grub_usbms_finddevs): Likewise.
16085 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
16086 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
16087 (grub_cmd_efiemu_pnvram): Likewise.
16088 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
16089 * fs/iso9660.c (grub_iso9660_mount): Likewise.
16090 (grub_iso9660_iterate_dir): Likewise.
16091 * fs/jfs.c (grub_jfs_opendir): Likewise.
16092 * fs/ntfs.c (list_file): Likewise.
16093 (grub_ntfs_mount): Likewise.
16094 * kern/disk.c (grub_disk_open): Likewise.
16095 * kern/dl.c (grub_dl_load_core): Likewise.
16096 * kern/elf.c (grub_elf_file): Likewise.
16097 * kern/env.c (grub_env_context_open): Likewise.
16098 (grub_env_set): Likewise.
16099 (grub_env_set_data_slot): Likewise.
16100 * kern/file.c (grub_file_open): Likewise.
16101 * kern/fs.c (grub_fs_blocklist_open): Likewise.
16102 * loader/i386/multiboot.c (grub_module): Likewise.
16103 * loader/xnu.c (grub_xnu_create_key): Likewise.
16104 (grub_xnu_create_value): Likewise.
16105 * normal/main.c (grub_normal_add_menu_entry): Likewise.
16106 (read_config_file): Likewise.
16107 * normal/menu_entry.c (make_screen): Likewise.
16108 * partmap/sun.c (sun_partition_map_iterate): Likewise.
16109 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
16110 * script/sh/script.c (grub_script_parse): Likewise.
16111 * video/bitmap.c (grub_video_bitmap_create): Likewise.
16112 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16113 * video/readers/png.c (grub_png_output_byte): Likewise.
16114 (grub_video_reader_png): Likewise.
16115
16116 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16117
16118 Enable all targets that can be built by default
16119
16120 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
16121 grub-mkfont and grub-fstest if they can be built
16122
16123 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16124
16125 Fix hang and segmentation fault in grub-emu-usb
16126
16127 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
16128 * util/usb.c (grub_libusb_devices): likewise
16129 (grub_libusb_init): rename to ...
16130 (GRUB_MOD_INIT (libusb)):...this
16131 (grub_libusb_fini): rename to ..
16132 (GRUB_MOD_FINI (libusb)):...this
16133 * disk/usbms.c (grub_usbms_transfer): fix retry logic
16134 * include/grub/disk.h (grub_raid_init): removed, it's useless
16135 (grub_raid_fini): likewise
16136 (grub_lvm_init): likewise
16137 (grub_lvm_fini): likewise
16138 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
16139 by grub_init_all
16140
16141 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 Fix libusb
16144
16145 * Makefile.in (LIBUSB): new macro
16146 * genmk.rb (Utility/print_tail): new method
16147 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
16148 (top level): call util.print_tail at the end.
16149
16150 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 Make FreeBSD accept zpool.cache
16153
16154 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
16155 type is /boot/zfs/zpool.cache
16156
16157 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16158
16159 Fix 64-bit efiemu
16160
16161 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
16162 correct wrong typedef
16163 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
16164
16165 2009-07-15 Pavel Roskin <proski@gnu.org>
16166
16167 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
16168 * kern/disk.c (struct grub_disk_cache): Likewise.
16169
16170 * commands/probe.c (options): Typo fix.
16171
16172 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
16173 Increase to 0x5a to accommodate FAT32. Adjust other offsets
16174 accordingly.
16175 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
16176
16177 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
16178 the end of "Error" to make the message more readable.
16179
16180 * boot/i386/pc/boot.S (kernel_segment): Remove.
16181 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
16182 for destination.
16183
16184 * boot/i386/pc/boot.S (boot_version): Remove.
16185 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16186 Remove.
16187
16188 * include/grub/i386/pc/boot.h: Sort all offsets.
16189 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
16190 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
16191 * boot/i386/pc/boot.S: Assert location of every offset listed in
16192 include/grub/i386/pc/boot.h.
16193
16194 2009-07-13 Pavel Roskin <proski@gnu.org>
16195
16196 * include/grub/i386/coreboot/machine.h: Rename
16197 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
16198 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
16199 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
16200
16201 * kern/dl.c: Force native word size to suppress warnings when
16202 compiling grub-emu.
16203
16204 * kern/device.c (grub_device_iterate): Change struct part_ent to
16205 hold the name, not a pointer to it. Use one grub_malloc() per
16206 partition, not two. Free partition_name if grub_malloc() fails.
16207 Set ents to NULL only before grub_partition_iterate() is called.
16208
16209 2009-07-11 Bean <bean123ch@gmail.com>
16210
16211 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
16212 childname.
16213
16214 2009-07-10 Bean <bean123ch@gmail.com>
16215 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
16216
16217 * kern/ieee1275/openfw.c (grub_children_iterate)
16218 (grub_devalias_iterate): Fix size evaluation for property or path
16219 strings, which was broken since r2132.
16220
16221 2009-07-07 Pavel Roskin <proski@gnu.org>
16222
16223 * commands/search.c (search_file): Merge into ...
16224 (search_fs): ... this. Accept search type as argument.
16225 (grub_cmd_search): Pass search type to search_fs().
16226
16227 * include/grub/util/console.h: New file.
16228 * util/console.c: Use it instead of grub/machine/console.h.
16229 * util/grub-emu.c: Likewise.
16230
16231 * lib/arg.c (find_long_option): Remove.
16232 (find_long): Add `len' argument, make `s' const char *.
16233 (grub_arg_parse): Parse long options in place, not in a
16234 temporary buffer.
16235
16236 2009-07-06 Pavel Roskin <proski@gnu.org>
16237
16238 * commands/search.c (search_fs): Fix potential NULL pointer
16239 dereference.
16240
16241 * commands/search.c (search_fs): Replace QUID macro with quid_fn
16242 function pointer.
16243
16244 2009-07-06 Daniel Mierswa <impulze@impulze.org>
16245
16246 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
16247 comparison.
16248
16249 2009-07-05 Pavel Roskin <proski@gnu.org>
16250
16251 * include/grub/i386/linux.h (struct linux_kernel_params):
16252 Restore padding3, it's still needed.
16253
16254 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
16255 FreeBSD.
16256 * util/osdetect.lua: Likewise.
16257
16258 2009-07-05 Bean <bean123ch@gmail.com>
16259
16260 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
16261
16262 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
16263 (grub_lua_getenv): Likewise.
16264 (grub_lua_setenv): Likewise.
16265 (save_errno): New function.
16266 (push_result): Likewise.
16267 (grub_lua_enum_device): Likewise.
16268 (grub_lua_enum_file): Likewise.
16269 (grub_lua_file_open): Likewise.
16270 (grub_lua_file_close): Likewise.
16271 (grub_lua_file_seek): Likewise.
16272 (grub_lua_file_read): Likewise.
16273 (grub_lua_file_getline): Likewise.
16274 (grub_lua_file_getsize): Likewise.
16275 (grub_lua_file_getpos): Likewise.
16276 (grub_lua_file_eof): Likewise.
16277 (grub_lua_file_exist): Likewise.
16278 (grub_lua_add_menu): Likewise.
16279
16280 * script/lua/grub_lua.h (isupper): New inline function.
16281 (islower): Likewise.
16282 (ispunct): Likewise.
16283 (isxdigit): Likewise.
16284 (strcspn): Change to normal function.
16285 (strpbkr): New function declaration.
16286 (memchr): Likewise.
16287
16288 * script/lua/grub_main.c (scan_str): New function.
16289 (strcspn): Likewise.
16290 (strpbrk): Likewise.
16291 (memchr): Likewise.
16292
16293 * script/lua/linit.c (lualibs): Enable the string library.
16294
16295 * util/osdetect.lua: New file.
16296
16297 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
16298
16299 * include/grub/i386/linux.h (struct linux_kernel_params): Add
16300 `capabilities' member.
16301
16302 2009-07-02 Pavel Roskin <proski@gnu.org>
16303
16304 * genparttoollist.sh: Add missing newline at the end.
16305
16306 2009-07-01 Pavel Roskin <proski@gnu.org>
16307
16308 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
16309
16310 * util/hostdisk.c (open_device): Remove `const' from
16311 `sysctl_size', as sysctlbyname() can change it (in this case it
16312 doesn't actually happen).
16313
16314 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
16315 using signed long int constants.
16316
16317 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
16318 constant to avoid a warning on FreeBSD.
16319
16320 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
16321 where it's needed.
16322
16323 * Makefile.in: Install include/grub/machine symlink.
16324
16325 * Makefile.in: When installing symlinks, use "cp -fR", which
16326 works on FreeBSD and MacOSX.
16327 From Yves Blusseau <cl7m42e02@sneakemail.com>
16328
16329 * kern/dl.c (grub_dl_resolve_symbol): Make static.
16330 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
16331
16332 * util/misc.c: Move grub_reboot() and grub_halt() ...
16333 * util/grub-emu.c: ... here. Make main_env static.
16334 * include/grub/util/misc.h: Remove main_env.
16335
16336 * kern/mm.c: Use correct format to print size_t.
16337
16338 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
16339 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
16340 * kern/powerpc/dl.c: Likewise.
16341 * kern/sparc64/dl.c: Likewise.
16342 * kern/x86_64/dl.c: Likewise.
16343
16344 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16345
16346 Fix grub-emu build on sparc64-ieee1275.
16347
16348 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
16349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
16350
16351 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16352
16353 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
16354 (grub_reboot, grub_halt): New functions.
16355
16356 * util/i386/pc/misc.c: Delete. Update all users.
16357 * util/sparc64/ieee1275/misc.c: Likewise.
16358 * util/powerpc/ieee1275/misc.c: Likewise.
16359
16360 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16361
16362 * conf/i386.rmk (setjmp_mod_SOURCES)
16363 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
16364 * conf/common.rmk (setjmp_mod_SOURCES)
16365 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
16366 to use $(target_cpu).
16367 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
16368 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
16369 * conf/powerpc-ieee1275.rmk: Likewise.
16370 * conf/sparc64-ieee1275.rmk: Likewise.
16371
16372 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
16373 $(target_cpu) for kern/$(target_cpu)/dl.c.
16374 * conf/i386-efi.rmk: Likewise.
16375 * conf/i386-ieee1275.rmk: Likewise.
16376 * conf/x86_64-efi.rmk: Likewise.
16377 * conf/i386-coreboot.rmk: Likewise.
16378 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
16379 $(target_cpu) for kern/$(target_cpu)/dl.c and for
16380 kern/$(target_cpu)/cache.S.
16381 * conf/sparc64-ieee1275.rmk: Likewise.
16382
16383 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16384
16385 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
16386 type to `grub_uint8_t', and adjust `padding9' accordingly.
16387
16388 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16389
16390 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
16391
16392 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
16393 assembly in final jump, using register constraints.
16394
16395 (grub_linux_boot): For text mode, initialize `have_vga' using
16396 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
16397
16398 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
16399 right before the final jump.
16400
16401 Set `video_mode' to 0x3.
16402
16403 Document initialization of `video_page', `video_mode' and
16404 `video_ega_bx'.
16405
16406 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16407
16408 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
16409 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
16410 and set GRUB_LINUX_FLAG_QUIET appropriately.
16411
16412 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16413
16414 Fix build on Debian / sparc.
16415
16416 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
16417
16418 2009-06-28 Pavel Roskin <proski@gnu.org>
16419
16420 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
16421 fix a warning.
16422
16423 * util/grub.d/10_linux.in: Match SUSE style initrd names.
16424
16425 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16426
16427 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
16428 `err'.
16429
16430 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16431
16432 Revert r2338.
16433
16434 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
16435 file can't be opened. grub_file_open() is already supposed to set
16436 grub_errno / grub_errmsg appropriately.
16437 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16438
16439 2009-06-27 Pavel Roskin <proski@gnu.org>
16440 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16441
16442 * include/grub/dl.h: Include grub/elf.h.
16443 (struct grub_dl): Add symtab field.
16444 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
16445 GRUB_MODULES_MACHINE_READONLY.
16446 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
16447 of the header for read-only modules.
16448 (grub_dl_unload): Free mod->symtab for read-only modules.
16449 * kern/i386/dl.c: Use mod->symtab.
16450 * kern/powerpc/dl.c: Likewise.
16451 * kern/sparc64/dl.c: Likewise.
16452 * kern/x86_64/dl.c: Likewise.
16453
16454 * conf/i386-qemu.rmk: New file.
16455 * kern/i386/qemu/startup.S: Likewise.
16456 * kern/i386/qemu/mmap.c: Likewise.
16457 * boot/i386/qemu/boot.S: Likewise.
16458 * include/grub/i386/qemu/time.h: Likewise.
16459 * include/grub/i386/qemu/serial.h: Likewise.
16460 * include/grub/i386/qemu/kernel.h: Likewise.
16461 * include/grub/i386/qemu/console.h: Likewise.
16462 * include/grub/i386/qemu/boot.h: Likewise.
16463 * include/grub/i386/qemu/init.h: Likewise.
16464 * include/grub/i386/qemu/machine.h: Likewise.
16465 * include/grub/i386/qemu/loader.h: Likewise.
16466 * include/grub/i386/qemu/memory.h: Likewise.
16467
16468 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
16469 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
16470 [qemu] (pkglib_IMAGES): Add `boot.img'.
16471 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
16472 [qemu] (boot_img_FORMAT): New variables.
16473 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
16474 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
16475 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
16476 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16477 [qemu] (kernel_img_FORMAT): New variables.
16478
16479 * configure.ac: Recognise `i386-qemu'.
16480
16481 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
16482 (for no compression).
16483 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
16484 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
16485 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
16486 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
16487 ifdefs).
16488
16489 2009-06-27 Pavel Roskin <proski@gnu.org>
16490
16491 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
16492 read.
16493 * efiemu/prepare32.c: Likewise.
16494 * efiemu/prepare64.c: Likewise.
16495
16496 2009-06-26 Pavel Roskin <proski@gnu.org>
16497
16498 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
16499 * include/grub/elf.h: Define symbols without "32" or "64" based
16500 on GRUB_TARGET_WORDSIZE.
16501 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
16502 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
16503 ELF definitions.
16504 * efiemu/loadcore64.c: Likewise.
16505 * loader/i386/bsd32.c: Likewise.
16506 * loader/i386/bsd64.c: Likewise.
16507 * kern/dl.c: Remove own ELF definitions.
16508 * util/i386/efi/grub-mkimage.c: Likewise.
16509
16510 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
16511
16512 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
16513 segment 0x0 unconditionally, because the reference generated by
16514 GAS is an absolute address.
16515
16516 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16517
16518 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
16519 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
16520
16521 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16522
16523 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
16524 indexes. Check for -f explicitly.
16525 (search_file): Improve error message.
16526 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
16527
16528 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16529
16530 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
16531 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
16532
16533 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16534
16535 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
16536 * conf/i386-ieee1275.rmk: Likewise.
16537 * conf/i386-coreboot.rmk: Likewise.
16538
16539 * kern/i386/pc/startup.S (grub_stop): Remove function.
16540 * kern/i386/ieee1275/startup.S: Likewise.
16541 * kern/i386/coreboot/startup.S: Likewise.
16542 * kern/i386/misc.S (grub_stop): New function.
16543
16544 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16545
16546 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
16547 * kern/i386/realmode.S (real_to_prot): ... to here.
16548
16549 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16550
16551 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
16552 with `kernel.img'.
16553 (kernel_elf_SOURCES): Rename to ...
16554 (kernel_img_SOURCES): ... this.
16555 (kernel_elf_HEADERS): Rename to ...
16556 (kernel_img_HEADERS): ... this. Update all users.
16557 (kernel_elf_ASFLAGS): Rename to ...
16558 (kernel_img_ASFLAGS): ... this.
16559 (kernel_elf_CFLAGS): Rename to ...
16560 (kernel_img_CFLAGS): ... this.
16561 (kernel_elf_LDFLAGS): Rename to ...
16562 (kernel_img_LDFLAGS): ... this.
16563 * conf/i386-coreboot.rmk: Likewise.
16564 * conf/powerpc-ieee1275.rmk: Likewise.
16565
16566 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
16567 with "kernel.img".
16568
16569 2009-06-21 Pavel Roskin <proski@gnu.org>
16570
16571 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
16572 to match nested functions.
16573 * loader/sparc64/ieee1275/linux.c: Likewise.
16574
16575 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
16576
16577 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
16578
16579 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
16580 all i386 platforms.
16581
16582 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
16583
16584 Fix asm file handling on ELF, and remove workarounds.
16585
16586 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
16587 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
16588 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
16589 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
16590
16591 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
16592
16593 Load BSD ELF modules
16594
16595 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
16596 and loader/i386/bsd64.c
16597 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
16598 (FREEBSD_MODTYPE_ELF_MODULE): New definition
16599 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
16600 (grub_freebsd_load_elfmodule32): New declaration
16601 (grub_freebsd_load_elfmoduleobj64): Likewise
16602 (grub_freebsd_load_elf_meta32): Likewise
16603 (grub_freebsd_load_elf_meta64): Likewise
16604 (grub_freebsd_add_meta): Likewise
16605 (grub_freebsd_add_meta_module): Likewise
16606 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
16607 (grub_freebsd_add_meta_module): Likewise and move module-specific
16608 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
16609 (grub_cmd_freebsd): Add elf-kernel specific parts
16610 based on grub_freebsd_add_meta_module
16611 (grub_cmd_freebsd_module): Add type parsing moved from
16612 grub_freebsd_add_meta_module
16613 (grub_cmd_freebsd_module_elf): New function
16614 (cmd_freebsd_module_elf): New variable
16615 (GRUB_MOD_INIT): Register freebsd_module_elf
16616 * loader/i386/bsd32.c: New file
16617 * loader/i386/bsd64.c: Likewise
16618 * loader/i386/bsdXX.c: Likewise
16619 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
16620 (grub_elf64_load): Likewise
16621 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
16622 All users updated
16623 (grub_elf64_load_hook_t): Likewise
16624
16625 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
16626
16627 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
16628 variable.
16629 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
16630 don't write a menu entry for recovery mode.
16631
16632 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
16633
16634 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
16635 after it's no longer needed.
16636
16637 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
16638
16639 * include/grub/i386/loader.h (grub_linux_prot_size)
16640 (grub_linux_tmp_addr, grub_linux_real_addr)
16641 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
16642 GRUB_MACHINE_PCBIOS.
16643 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
16644 common grub_util_info() call to ...
16645 (generate_image): ... here.
16646 Fix use of uninitialized memory, comparison of signed with
16647 unsigned integers and memory leak.
16648 Remove bogus module address message.
16649
16650 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16651
16652 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
16653 grub_raid_register
16654 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
16655
16656 2009-06-19 Pavel Roskin <proski@gnu.org>
16657
16658 * configure.ac: Remove stray AC_MSG_CHECKING.
16659
16660 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
16661
16662 * disk/scsi.c (grub_scsi_open): use continue instead of big if
16663
16664 2009-06-18 Pavel Roskin <proski@gnu.org>
16665
16666 * conf/common.rmk: Add fs_file.mod.
16667 * disk/fs_file.c: New file.
16668 * include/grub/disk.h (enum grub_disk_dev_id): Add
16669 GRUB_DISK_DEVICE_FILE_ID.
16670
16671 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16672
16673 Fix build with Apple's toolchain. Part 2
16674
16675 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
16676 a fake start
16677
16678 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16679
16680 Fix build with Apple's toolchain. Part 1
16681
16682 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
16683 for long calls
16684 * configure.ac: remove a leftover AC_MSG_RESULT
16685 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
16686 Apple's toolchain
16687
16688 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16689
16690 Fix warnings
16691
16692 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
16693 (decomp_block): initialize ch
16694 use grub_memcpy instead of memcpy
16695
16696 2009-06-17 Pavel Roskin <proski@gnu.org>
16697
16698 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
16699 version, use declarations needed to use vga_text as the startup
16700 console.
16701
16702 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
16703 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
16704 the kernel.
16705 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
16706 and grub_at_keyboard_fini(), it's done on module load and
16707 unload.
16708
16709 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
16710
16711 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
16712 file can't be found.
16713 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16714
16715 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
16716
16717 Fix newline handling
16718
16719 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
16720 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
16721 (grub_script_yylex): don't segfault on unterminated script
16722 newline terminates command and variable
16723
16724 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
16725
16726 avoid double grub_adjust_range call. Bug reported by David Simner
16727
16728 * kern/disk.c (grub_disk_write): change to raw disk access before
16729 calling disk_read
16730
16731 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
16732
16733 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
16734 spaces, for the benefit of help2man.
16735 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16736
16737 2009-06-16 Pavel Roskin <proski@gnu.org>
16738
16739 * kern/i386/halt.c: Include grub/machine/init.h.
16740 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
16741
16742 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
16743
16744 * util/grub.d/30_os-prober.in: Use ${root} in the generated
16745 drivemap menuentry.
16746
16747 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
16748
16749 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
16750 `echo' command.
16751
16752 2009-06-16 Pavel Roskin <proski@gnu.org>
16753
16754 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
16755 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
16756 save %dx, we only need %dl and we never change it.
16757 * boot/i386/pc/cdboot.S: Don't set the root drive.
16758 * boot/i386/pc/pxeboot.S: Likewise.
16759 * include/grub/i386/pc/boot.h: Remove
16760 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
16761 GRUB_BOOT_MACHINE_DRIVE_CHECK.
16762 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
16763 * kern/i386/pc/init.c (make_install_device): Remove references
16764 to grub_root_drive.
16765 * kern/i386/pc/startup.S: Likewise.
16766 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
16767
16768 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
16769
16770 xnu_uuid command
16771
16772 * commands/xnu_uuid.c: new file
16773 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
16774 (xnu_uuid_mod_SOURCES): new variable
16775 (xnu_uuid_mod_CFLAGS): likewise
16776 (xnu_uuid_mod_LDFLAGS): likewise
16777 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
16778 * conf/i386-ieee1275.rmk: likewise
16779 * conf/i386-pc.rmk: likewise
16780 * conf/powerpc-ieee1275.rmk: likewise
16781 * conf/sparc64-ieee1275.rmk: likewise
16782 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
16783
16784 2009-06-16 Pavel Roskin <proski@gnu.org>
16785
16786 * configure.ac: Avoid '==' in test command, it's not portable.
16787
16788 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
16789
16790 Probe command
16791
16792 * commands/probe.c: new file
16793 * conf/common.rmk (pkglib_MODULES): add probe.mod
16794 (probe_mod_SOURCES): new variable
16795 (probe_mod_CFLAGS): likewise
16796 (probe_mod_LDFLAGS): likewise
16797 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
16798 * conf/i386-ieee1275.rmk: likewise
16799 * conf/i386-pc.rmk: likewise
16800 * conf/powerpc-ieee1275.rmk: likewise
16801 * conf/sparc64-ieee1275.rmk: likewise
16802
16803 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
16804
16805 Fix handling of string like \"hello\" and "a
16806 b"
16807
16808 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
16809 (grub_script_yylex): fix parsing of quoting, escaping and newline
16810
16811 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
16812
16813 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
16814 handling
16815
16816 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
16817
16818 * util/grub-mkconfig.in: Fix parsing of --output option.
16819
16820 2009-06-12 Pavel Roskin <proski@gnu.org>
16821
16822 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
16823 genmk.rb don't need to be generated or installed.
16824
16825 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 * commands/i386/pc/drivemap_int13h.S: add more comments
16828
16829 2009-06-11 Pavel Roskin <proski@gnu.org>
16830
16831 * Makefile.in (uninstall): Uninstall manuals.
16832
16833 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
16834 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
16835 and update-grub_lib in two places.
16836 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
16837
16838 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
16839 a compiler warning.
16840
16841 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
16842 `entry_lo' to fix variable shadowing.
16843
16844 2009-06-11 Christian Franke <franke@computer.org>
16845
16846 * kern/misc.c (__enable_execute_stack): Add missing return type
16847 to prevent gcc warning.
16848
16849 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
16850
16851 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
16852
16853 2009-06-11 Pavel Roskin <proski@gnu.org>
16854
16855 * Makefile.in: Don't rely on any scripts being executable.
16856 Always use $(SHELL) to run shell scripts.
16857
16858 * configure.ac: Always define ___main if using -nostdlib. This
16859 fixes tests on Cygwin.
16860
16861 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
16862
16863 UDF fix
16864
16865 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
16866 is in bytes and not in blocks
16867
16868 2009-06-11 Pavel Roskin <proski@gnu.org>
16869
16870 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
16871 warning.
16872
16873 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
16874
16875 * util/grub.d/30_os-prober.in: Fix a comment. Source
16876 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
16877 to set the root device. Place drivemap command in the generated
16878 chain entry.
16879
16880 2009-06-11 Pavel Roskin <proski@gnu.org>
16881
16882 * configure.ac: Remove host_m32. Issues with 64-bit utilities
16883 have long been resolved.
16884
16885 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
16886
16887 * util/grub.d/10_linux.in: Capitalise "Linux".
16888
16889 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
16890
16891 2009-06-11 Pavel Roskin <proski@gnu.org>
16892
16893 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
16894 fix a gcc warning and ensure that the function won't ever exit.
16895
16896 * kern/i386/ieee1275/init.c: Add missing prototype for
16897 grub_stop_floppy().
16898
16899 * loader/ieee1275/multiboot2.c [__i386__]: Include
16900 grub/cpu/multiboot.h.
16901
16902 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
16903 casts to short - they are not portable and cause warnings. Fix
16904 use of uninitialized values in input_buf. Use ARRAY_SIZE.
16905
16906 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
16907
16908 Drivemap fixes
16909
16910 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
16911 new function
16912 (grub_get_root_biosnumber_saved): new variable
16913 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
16914 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
16915 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
16916 %dx after the call if necessary
16917 * conf/common.rmk (pkglib_MODULES): remove boot.mod
16918 (boot_mod_SOURCES): remove
16919 (boot_mod_CFLAGS): remove
16920 (boot_mod_LDFLAGS): remove
16921 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
16922 (boot_mod_SOURCES): new variable
16923 (boot_mod_CFLAGS): likewise
16924 (boot_mod_LDFLAGS): likewise
16925 * conf/i386-efi.rmk: likewise
16926 * conf/i386-ieee1275.rmk: likewise
16927 * conf/i386-pc.rmk: likewise
16928 * conf/powerpc-ieee1275.rmk: likewise
16929 * conf/sparc64-ieee1275.rmk: likewise
16930 * conf/x86_64-efi.rmk: likewise
16931 * include/grub/i386/pc/biosnum.h: new file
16932 * lib/i386/pc/biosnum.c: likewise
16933 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
16934 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
16935 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
16936
16937 2009-06-10 Pavel Roskin <proski@gnu.org>
16938
16939 * io/gzio.c (test_header): Don't reuse one buffer for all data.
16940 Use separate variables. Read only the file size at the end, but
16941 not the checksum that we don't use.
16942
16943 * kern/file.c (grub_file_read): Use void pointer for the buffer.
16944 Adjust all callers.
16945
16946 * kern/ieee1275/openfw.c: Remove libc includes.
16947 * kern/ieee1275/cmain.c: Likewise.
16948 * include/grub/ieee1275/ieee1275.h: Likewise.
16949
16950 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
16951 compiler warnings.
16952
16953 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
16954
16955 * Makefile.in: Remove all trailing whitespace.
16956 * conf/i386-pc.rmk: Likewise.
16957 * conf/powerpc-ieee1275.rmk: Likewise.
16958 * conf/sparc64-ieee1275.rmk: Likewise.
16959 * docs/grub.texi: Likewise.
16960 * docs/texinfo.tex: Likewise.
16961 * disk/fs_uuid.c: Likewise.
16962 * disk/lvm.c: Likewise.
16963 * disk/scsi.c: Likewise.
16964 * disk/ata.c: Likewise.
16965 * disk/ieee1275/ofdisk.c: Likewise.
16966 * disk/i386/pc/biosdisk.c: Likewise.
16967 * disk/host.c: Likewise.
16968 * disk/raid.c: Likewise.
16969 * disk/efi/efidisk.c: Likewise.
16970 * disk/usbms.c: Likewise.
16971 * disk/memdisk.c: Likewise.
16972 * disk/loopback.c: Likewise.
16973 * kern/powerpc/dl.c: Likewise.
16974 * kern/device.c: Likewise.
16975 * kern/dl.c: Likewise.
16976 * kern/sparc64/dl.c: Likewise.
16977 * kern/ieee1275/ieee1275.c: Likewise.
16978 * kern/term.c: Likewise.
16979 * kern/fs.c: Likewise.
16980 * kern/i386/dl.c: Likewise.
16981 * kern/i386/pc/startup.S: Likewise.
16982 * kern/i386/pc/init.c: Likewise.
16983 * kern/i386/pc/mmap.c: Likewise.
16984 * kern/i386/pc/lzo1x.S: Likewise.
16985 * kern/i386/ieee1275/init.c: Likewise.
16986 * kern/i386/realmode.S: Likewise.
16987 * kern/i386/tsc.c: Likewise.
16988 * kern/partition.c: Likewise.
16989 * kern/corecmd.c: Likewise.
16990 * kern/file.c: Likewise.
16991 * kern/efi/efi.c: Likewise.
16992 * kern/efi/init.c: Likewise.
16993 * kern/efi/mm.c: Likewise.
16994 * kern/main.c: Likewise.
16995 * kern/err.c: Likewise.
16996 * kern/env.c: Likewise.
16997 * kern/disk.c: Likewise.
16998 * kern/generic/millisleep.c: Likewise.
16999 * kern/generic/rtc_get_time_ms.c: Likewise.
17000 * kern/misc.c: Likewise.
17001 * kern/parser.c: Likewise.
17002 * genmk.rb: Likewise.
17003 * configure.ac: Likewise.
17004 * boot/i386/pc/diskboot.S: Likewise.
17005 * boot/i386/pc/pxeboot.S: Likewise.
17006 * boot/i386/pc/boot.S: Likewise.
17007 * boot/i386/pc/lnxboot.S: Likewise.
17008 * boot/i386/pc/cdboot.S: Likewise.
17009 * parttool/pcpart.c: Likewise.
17010 * video/readers/tga.c: Likewise.
17011 * video/video.c: Likewise.
17012 * video/bitmap.c: Likewise.
17013 * lib/envblk.c: Likewise.
17014 * lib/i386/setjmp.S: Likewise.
17015 * fs/xfs.c: Likewise.
17016 * fs/afs.c: Likewise.
17017 * fs/fat.c: Likewise.
17018 * fs/ntfs.c: Likewise.
17019 * fs/udf.c: Likewise.
17020 * fs/affs.c: Likewise.
17021 * fs/iso9660.c: Likewise.
17022 * fs/hfs.c: Likewise.
17023 * fs/fshelp.c: Likewise.
17024 * fs/ext2.c: Likewise.
17025 * fs/jfs.c: Likewise.
17026 * fs/reiserfs.c: Likewise.
17027 * fs/hfsplus.c: Likewise.
17028 * fs/minix.c: Likewise.
17029 * fs/cpio.c: Likewise.
17030 * fs/sfs.c: Likewise.
17031 * fs/ufs.c: Likewise.
17032 * efiemu/prepare.c: Likewise.
17033 * efiemu/loadcore_common.c: Likewise.
17034 * efiemu/runtime/efiemu.sh: Likewise.
17035 * efiemu/runtime/efiemu.S: Likewise.
17036 * efiemu/runtime/efiemu.c: Likewise.
17037 * efiemu/pnvram.c: Likewise.
17038 * efiemu/main.c: Likewise.
17039 * efiemu/i386/pc/cfgtables.c: Likewise.
17040 * efiemu/i386/loadcore64.c: Likewise.
17041 * efiemu/i386/loadcore32.c: Likewise.
17042 * efiemu/loadcore.c: Likewise.
17043 * efiemu/symbols.c: Likewise.
17044 * efiemu/mm.c: Likewise.
17045 * include/grub/autoefi.h: Likewise.
17046 * include/grub/datetime.h: Likewise.
17047 * include/grub/term.h: Likewise.
17048 * include/grub/hfs.h: Likewise.
17049 * include/grub/lvm.h: Likewise.
17050 * include/grub/i386/tsc.h: Likewise.
17051 * include/grub/i386/linux.h: Likewise.
17052 * include/grub/i386/xnu.h: Likewise.
17053 * include/grub/i386/efiemu.h: Likewise.
17054 * include/grub/i386/pc/biosdisk.h: Likewise.
17055 * include/grub/i386/pc/memory.h: Likewise.
17056 * include/grub/i386/pc/vbe.h: Likewise.
17057 * include/grub/parttool.h: Likewise.
17058 * include/grub/video.h: Likewise.
17059 * include/grub/memory.h: Likewise.
17060 * include/grub/fs.h: Likewise.
17061 * include/grub/partition.h: Likewise.
17062 * include/grub/xnu.h: Likewise.
17063 * include/grub/efi/api.h: Likewise.
17064 * include/grub/efi/pe32.h: Likewise.
17065 * include/grub/efi/memory.h: Likewise.
17066 * include/grub/multiboot.h: Likewise.
17067 * include/grub/usbdesc.h: Likewise.
17068 * include/grub/multiboot2.h: Likewise.
17069 * include/grub/acpi.h: Likewise.
17070 * include/grub/efiemu/efiemu.h: Likewise.
17071 * include/grub/disk.h: Likewise.
17072 * include/grub/ieee1275/ieee1275.h: Likewise.
17073 * include/grub/net.h: Likewise.
17074 * include/grub/machoload.h: Likewise.
17075 * include/grub/macho.h: Likewise.
17076 * include/multiboot.h: Likewise.
17077 * genmoddep.awk: Likewise.
17078 * normal/main.c: Likewise.
17079 * normal/menu_entry.c: Likewise.
17080 * normal/menu_viewer.c: Likewise.
17081 * normal/completion.c: Likewise.
17082 * normal/cmdline.c: Likewise.
17083 * normal/misc.c: Likewise.
17084 * normal/datetime.c: Likewise.
17085 * bus/usb/usbtrans.c: Likewise.
17086 * bus/usb/ohci.c: Likewise.
17087 * bus/usb/uhci.c: Likewise.
17088 * bus/usb/usb.c: Likewise.
17089 * mmap/efi/mmap.c: Likewise.
17090 * mmap/i386/pc/mmap_helper.S: Likewise.
17091 * mmap/i386/pc/mmap.c: Likewise.
17092 * mmap/i386/mmap.c: Likewise.
17093 * mmap/i386/uppermem.c: Likewise.
17094 * mmap/mmap.c: Likewise.
17095 * commands/acpi.c: Likewise.
17096 * commands/echo.c: Likewise.
17097 * commands/blocklist.c: Likewise.
17098 * commands/loadenv.c: Likewise.
17099 * commands/usbtest.c: Likewise.
17100 * commands/boot.c: Likewise.
17101 * commands/parttool.c: Likewise.
17102 * commands/search.c: Likewise.
17103 * commands/cat.c: Likewise.
17104 * commands/i386/pc/play.c: Likewise.
17105 * commands/i386/pc/drivemap.c: Likewise.
17106 * commands/i386/pc/vbeinfo.c: Likewise.
17107 * commands/i386/pc/acpi.c: Likewise.
17108 * commands/i386/pc/vbetest.c: Likewise.
17109 * commands/ls.c: Likewise.
17110 * commands/cmp.c: Likewise.
17111 * commands/test.c: Likewise.
17112 * commands/efi/acpi.c: Likewise.
17113 * commands/gptsync.c: Likewise.
17114 * commands/help.c: Likewise.
17115 * partmap/amiga.c: Likewise.
17116 * partmap/apple.c: Likewise.
17117 * partmap/acorn.c: Likewise.
17118 * partmap/pc.c: Likewise.
17119 * partmap/sun.c: Likewise.
17120 * partmap/gpt.c: Likewise.
17121 * script/sh/lexer.c: Likewise.
17122 * script/sh/function.c: Likewise.
17123 * font/font.c: Likewise.
17124 * font/font_cmd.c: Likewise.
17125 * loader/powerpc/ieee1275/linux.c: Likewise.
17126 * loader/efi/chainloader.c: Likewise.
17127 * loader/multiboot_loader.c: Likewise.
17128 * loader/macho.c: Likewise.
17129 * loader/i386/multiboot.c: Likewise.
17130 * loader/i386/linux.c: Likewise.
17131 * loader/i386/pc/linux.c: Likewise.
17132 * loader/i386/pc/multiboot2.c: Likewise.
17133 * loader/i386/pc/chainloader.c: Likewise.
17134 * loader/i386/pc/xnu.c: Likewise.
17135 * loader/i386/bsd_trampoline.S: Likewise.
17136 * loader/i386/efi/linux.c: Likewise.
17137 * loader/i386/multiboot_elfxx.c: Likewise.
17138 * loader/i386/bsd_helper.S: Likewise.
17139 * loader/i386/bsd.c: Likewise.
17140 * loader/i386/linux_trampoline.S: Likewise.
17141 * loader/i386/xnu_helper.S: Likewise.
17142 * loader/i386/xnu.c: Likewise.
17143 * loader/i386/bsd_pagetable.c: Likewise.
17144 * loader/i386/multiboot_helper.S: Likewise.
17145 * loader/xnu.c: Likewise.
17146 * loader/xnu_resume.c: Likewise.
17147 * io/gzio.c: Likewise.
17148 * term/efi/console.c: Likewise.
17149 * term/terminfo.c: Likewise.
17150 * term/ieee1275/ofconsole.c: Likewise.
17151 * term/i386/pc/serial.c: Likewise.
17152 * term/i386/pc/vesafb.c: Likewise.
17153 * term/i386/pc/vga.c: Likewise.
17154 * term/usb_keyboard.c: Likewise.
17155 * term/gfxterm.c: Likewise.
17156 * aclocal.m4: Likewise.
17157 * util/lvm.c: Likewise.
17158 * util/grub.d/30_os-prober.in: Likewise.
17159 * util/grub.d/10_hurd.in: Likewise.
17160 * util/console.c: Likewise.
17161 * util/grub-macho2img.c: Likewise.
17162 * util/grub-probe.c: Likewise.
17163 * util/hostfs.c: Likewise.
17164 * util/i386/pc/grub-mkimage.c: Likewise.
17165 * util/i386/pc/grub-setup.c: Likewise.
17166 * util/i386/efi/grub-mkimage.c: Likewise.
17167 * util/grub-mkconfig.in: Likewise.
17168 * util/raid.c: Likewise.
17169 * util/resolve.c: Likewise.
17170 * util/grub-mkdevicemap.c: Likewise.
17171 * util/grub-emu.c: Likewise.
17172 * util/getroot.c: Likewise.
17173 * util/hostdisk.c: Likewise.
17174 * util/usb.c: Likewise.
17175 * util/grub-editenv.c: Likewise.
17176 * util/misc.c: Likewise.
17177
17178 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17179
17180 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
17181 `genparttoollist.sh'.
17182 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
17183 Add `*.sh' to the list find searches for and change `mdate.sh'
17184 to `mdate-sh'.
17185
17186 2009-06-10 Pavel Roskin <proski@gnu.org>
17187
17188 * include/grub/multiboot2.h: Provide compatibility defines for
17189 multiboot2.h.
17190 * include/multiboot2.h: Include stdint.h only if needed, using
17191 angle brackets.
17192 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
17193 grub/multiboot2.h.
17194 * loader/ieee1275/multiboot2.c: Likewise.
17195 * loader/multiboot2.c: Likewise.
17196 * loader/multiboot_loader.c: Likewise.
17197
17198 * configure.ac: Use -nostdlib when probing for the target. It
17199 should not be required to have libc for the target.
17200
17201 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
17202 they fail without libc headers for the target.
17203 * include/grub/powerpc/libgcc.h: Use weak attribute for all
17204 exports.
17205 * include/grub/sparc64/libgcc.h: Likewise. Don't use
17206 preprocessor conditionals.
17207
17208 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
17209 build system doesn't need to be aware of the tar.c internals.
17210
17211 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
17212
17213 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
17214
17215 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
17216
17217 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
17218 disk limit to 26 for IDE, Virtio, Xen and SCSI.
17219
17220 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
17221
17222 * util/i386/pc/grub-install.in: Change the error message if UUIDs
17223 aren't available if ata.mod gets used.
17224
17225 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
17226
17227 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
17228 initialising controller.
17229 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17230
17231 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17232
17233 * util/i386/pc/grub-install.in: Add a parameter --disk-module
17234 to choose between ata and biosdisk module on i386-pc.
17235
17236 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
17237
17238 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
17239 Subclass and Programming Interface fields in terms of the 3 byte
17240 Class Code register.
17241 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17242
17243 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
17244 interface is OHCI. Add grub_dprintf for symmetry with
17245 bus/usb/uhci.c.
17246 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
17247 interface is UHCI. Add interf variable for programming
17248 interface. Print interface with class/subclass.
17249
17250 * bus/usb/ohci.c: Set interf with correct field.
17251
17252 * bus/usb/uhci.c: Remove unneeded doubled lines.
17253 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
17254 Remove whitespace inside comment.
17255
17256 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
17257
17258 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
17259 as fallback an equivalent option without depth.
17260
17261 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17262
17263 Not fail if unable to retrieve C/H/S on LBA disks
17264
17265 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
17266 if unable to retrieve C/H/S on LBA disks
17267
17268 2009-06-08 Pavel Roskin <proski@gnu.org>
17269
17270 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
17271 about aliasing.
17272
17273 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17274
17275 * Makefile.in (uninstall): Remove all $lib_DATA files.
17276
17277 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17278
17279 Bugfix: install on partitionless device
17280
17281 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
17282 is a whole disk
17283
17284 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17285
17286 * Makefile.in (uninstall): Remove all $include_DATA files.
17287
17288 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17289
17290 * commands/true.c: New file. Implement the true and false commands.
17291 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
17292 (true_mod_SOURCES): New variable.
17293 (true_mod_CFLAGS): Likewise.
17294 (true_mod_LDFLAGS): Likewise.
17295
17296 2009-06-05 Colin D Bennett <colin@gibibit.com>
17297
17298 Optimized font character lookup using binary search instead of linear
17299 search. Fonts now are required to have the character index ordered by
17300 code point.
17301
17302 * font/font.c (load_font_index): Verify that fonts have ordered
17303 character indices.
17304 (find_glyph): Use binary search instead of linear search to find a
17305 character in a font.
17306
17307 2009-06-05 Michael Scherer <misc@mandriva.org>
17308
17309 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
17310 uses case sensitive btree.
17311 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
17312 only for case insensitive filesystems.
17313
17314 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
17315
17316 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
17317 * conf/common.rmk (search_mod_CFLAGS): likewise
17318
17319 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17320
17321 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
17322 compensate a compiler bug
17323
17324 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17325
17326 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
17327 instead of '\b'
17328
17329 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17330
17331 Definitions for creating asm symbols with Apple's CC
17332
17333 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
17334 [APPLE_CC] (VARIABLE): likewise
17335
17336 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17337
17338 Disable lnxboot.img when compiled
17339 with Apple's CC
17340
17341 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
17342 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
17343 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
17344 [! APPLE_CC] (CODE_LENG): skip
17345 [! APPLE_CC] (setup_sects): likewise
17346 [! APPLE_CC]: skip filling
17347
17348 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17349
17350 Address in trampolines based on 32-bit registers when compiled
17351 with Apple's CC
17352
17353 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
17354 for addresses
17355 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
17356
17357 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17358
17359 Avoid aliases when compiling with Apple's CC for PCBIOS machine
17360
17361 * kern/misc.c [APPLE_CC] (memcpy): new function
17362 [APPLE_CC] (memmove): likewise
17363 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
17364 (memcpy): define alias conditionally on !APPLE_CC
17365 (memset): likewise
17366 (abort): likewise
17367 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
17368 APPLE_CC are defined
17369 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
17370 (grub_assert_fail): make prototype conditional
17371
17372 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17373
17374 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
17375
17376 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
17377 grub-macho2img
17378 (CLEANFILES): add grub-macho2img
17379 (grub_macho2img_SOURCES): new variable
17380 * kern/i386/pc/startup.S (bss_start): new variable
17381 (bss_end): likewise
17382 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
17383 * util/grub-macho2img.c: new file
17384
17385 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17386
17387 Use objconv when compiling with Apple's CC
17388
17389 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
17390 (efiemu64.o): likewise
17391 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
17392 when compiling with Apple's CC
17393 (efiemu64_s.o): likewise
17394 * configure.ac: check for objconv when compiling with Apple's CC
17395 * genmk.rb: use objconv for modules when compiled with Apple's CC
17396
17397 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17398
17399 Define segment as well as section when compiling with
17400 Apple's CC
17401
17402 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
17403 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
17404 (efiemu_convert_pointer): likewise
17405 (efiemu_set_virtual_address_map): likewise
17406 (efiemu_convert_pointer): likewise
17407 (efiemu_getcrc32): likewise
17408 (init_crc32_table): likewise
17409 (reflect): likewise
17410 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
17411 (GRUB_MOD_DEP): likewise
17412
17413 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17414
17415 Allow a compilation without -mcmodel=large
17416
17417 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
17418 when compiled without -mcmodel=large
17419 (filter_memory_map): remove memory post 4 GiB when compiled
17420 without -mcmodel=large
17421 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
17422 TARGET_CFLAGS when -mcmodel=large isn't supported
17423
17424 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 Remove nested functions in efiemu core
17427
17428 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
17429
17430 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17431
17432 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
17433
17434 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
17435 temporary storage
17436 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
17437 using Apple's CC
17438 (grub_cpu_is_tsc_supported): likewise
17439 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
17440
17441 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17442
17443 Absolute addressing through constant with Apple's cc
17444
17445 * kern/i386/pc/startup.S: Define necessary constants
17446 and address through it when using ABS with Apple's CC
17447 * boot/i386/pc/diskboot.S: likewise
17448 * boot/i386/pc/boot.S: likewise
17449 * boot/i386/pc/lnxboot.S: likewise
17450 * boot/i386/pc/cdboot.S: likewise
17451 * mmap/i386/pc/mmap_helper.S: likewise
17452 * commands/i386/pc/drivemap_int13h.S: likewise
17453
17454 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17455
17456 Check if compiler is apple cc
17457
17458 * Makefile.in (ASFLAGS): new variable
17459 (TARGET_ASFLAGS): likewise
17460 (TARGET_MODULE_FORMAT): likewise
17461 (TARGET_APPLE_CC): likewise
17462 (OBJCONV): likewise
17463 (TARGET_IMG_CFLAGS): likewise
17464 (TARGET_CPPFLAGS): add includedir
17465 * configure.ac: call grub_apple_cc and grub_apple_target_cc
17466 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
17467 Check for linker script only if compiler isn't Apple's CC
17468 (TARGET_MODULE_FORMAT): set
17469 (TARGET_APPLE_CC): likewise
17470 (TARGET_ASFLAGS): likewise
17471 (ASFLAGS): likewise
17472 Check for objcopy only if compiler isn't Apple's CC
17473 Check for BSS symbol only if compiler isn't Apple's CC
17474 * genmk.rb: adapt nm options if we use Apple's utils
17475 * aclocal.m4 (grub_apple_cc): new test
17476 (grub_apple_target_cc): likewise
17477
17478 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17479
17480 Simplify sed expressions and improve awk
17481
17482 * Makefile.in (install-local): simplify sed expression
17483 * gencmdlist.sh: likewise
17484 * genmoddep.awk: avoid adding module as a dependency of itself
17485
17486 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17487
17488 Add missing start symbols
17489
17490 * boot/i386/pc/boot.S: add start
17491 * boot/i386/pc/pxeboot.S: likewise
17492
17493 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17494
17495 Fix wrong assumptions with grub-mkimage on EFI
17496
17497 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
17498 (relocate_addresses): consider both r_addend and value at offset
17499 (make_mods_section): zerofill modinfo and header
17500 (convert_elf): write prefix here
17501
17502 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17503
17504 Use .asciz instead of .string
17505
17506 * i386/pc/diskboot.S: use .asciz instead of .string
17507 * i386/pc/boot.S: likewise
17508 * include/grub/dl.h (GRUB_MOD_DEP): likewise
17509 (GRUB_MOD_NAME): likewise
17510
17511 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17512
17513 gfxpayload support
17514
17515 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
17516 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
17517 (grub_video_setup): remove
17518 (grub_video_set_mode): new prototype
17519 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
17520 (vid_mode): remove
17521 (linux_vesafb_res): compile only on PCBIOS
17522 (grub_linux_boot): support gfxpayload
17523 * loader/i386/pc/xnu.c (video_hook): new function
17524 (grub_xnu_set_video): support gfxpayload
17525 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
17526 (DEFAULT_VIDEO_HEIGHT): likewise
17527 (DEFAULT_VIDEO_FLAGS): likewise
17528 (DEFAULT_VIDEO_MODE): new definition
17529 (video_hook): new function
17530 (grub_gfxterm_init): use grub_video_set_mode
17531 * util/grub.d/30_os-prober.in: remove explicit modesetting before
17532 loading xnu
17533 * video/video.c (grub_video_setup): removed
17534 (grub_video_set_mode): new function based on grub_gfxterm_init and
17535 grub_video_setup
17536
17537 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17538
17539 Avoid calling biosdisk in drivemap
17540
17541 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
17542 (revparse_biosdisk): likewise
17543 (list_mappings): derive name from id directly
17544 (grub_cmd_drivemap): use tryparse_diskstring
17545
17546 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17547
17548 Script fixes
17549
17550 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
17551 (grub_lexer_param): add tokenonhold
17552 (grub_script_create_cmdline): remove cmdline. All callers updated
17553 (grub_script_function_create): make functionname
17554 grub_script_arg. All callers updated
17555 (grub_script_execute_argument_to_string): new prototype
17556 * kern/parser.c (state_transitions): reorder
17557 (grub_parser_cmdline_state): fix a bug and make more compact
17558 * script/sh/execute.c (grub_script_execute_argument_to_string):
17559 make global
17560 (grub_script_execute_cmdline): use new format
17561 * script/sh/function.c (grub_script_function_create): make functionname
17562 grub_script_arg. All callers updated
17563 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
17564 (grub_script_yylex): remove
17565 (grub_script_yylex2): renamed to ...
17566 (grub_script_yylex): ...renamed
17567 parse the expressions like a${b}c
17568 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
17569 (GRUB_PARSER_TOKEN_VAR): remove
17570 (GRUB_PARSER_TOKEN_NAME): likewise
17571 ("if"): declare as typeless
17572 ("while"): likewise
17573 ("function"): likewise
17574 ("else"): likewise
17575 ("then"): likewise
17576 ("fi"): likewise
17577 (text): remove
17578 (argument): likewise
17579 (script): accept empty scripts and make exit on error
17580 (arguments): use GRUB_PARSER_TOKEN_ARG
17581 (function): likewise
17582 (command): move error handling to script
17583 (menuentry): move grub_script_lexer_ref before
17584 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
17585 argument. All callers updated
17586
17587 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
17588
17589 Prevent GRUB from probing floppies during boot.
17590
17591 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
17592 * commands/search.c (options): Add --no-floppy.
17593 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
17594 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
17595 --no-floppy when searching for UUIDs.
17596
17597 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
17598
17599 Simplify the code duplication in commands/search.c.
17600
17601 * commands/search.c (search_label, search_fs_uuid): Merge into ...
17602 (search_fs): ... this. Update all users.
17603
17604 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
17605
17606 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
17607
17608 2009-05-28 Pavel Roskin <proski@gnu.org>
17609
17610 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
17611 Remove the original symlink explicitly.
17612
17613 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
17614 just one slash. That's how grub_fshelp_find_file() does it.
17615
17616 2009-05-26 Pavel Roskin <proski@gnu.org>
17617
17618 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
17619 to `str'.
17620
17621 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
17622 possibly unused.
17623
17624 2009-05-25 Christian Franke <franke@computer.org>
17625
17626 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
17627 register.
17628 (grub_atapi_identify): Add wait after drive select.
17629 (grub_ata_identify): Do more strict status register check before
17630 calling grub_atapi_identify (). Suppress error message if status
17631 register is 0x00 after command failure. Add status register
17632 check after PIO read to avoid bogus identify due to stuck DRQ.
17633 Thanks to Pavel Roskin for testing.
17634 (grub_device_initialize): Remove unsafe status register check.
17635 Thanks to 'phcoder' for problem report and patch.
17636 Prevent sign extension in debug message.
17637
17638 2009-05-23 Colin D Bennett <colin@gibibit.com>
17639
17640 Cleaned up `include/grub/normal.h'. Grouped prototypes by
17641 definition file, and functions defined in `normal/menu.c' have had
17642 their prototypes moved to `include/grub/menu.h' for consistency.
17643
17644 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
17645 from normal.h.
17646 (grub_menu_get_entry): Likewise.
17647 (grub_menu_get_timeout): Likewise.
17648 (grub_menu_set_timeout): Likewise.
17649 (grub_menu_execute_entry): Likewise.
17650 (grub_menu_execute_with_fallback): Likewise.
17651 (grub_menu_entry_run): Likewise.
17652
17653 * include/grub/normal.h: Re-ordered and grouped function
17654 prototypes by file that the function is defined in.
17655 (grub_menu_execute_callback): Removed; moved to menu.h.
17656 (grub_menu_get_entry): Likewise.
17657 (grub_menu_get_timeout): Likewise.
17658 (grub_menu_set_timeout): Likewise.
17659 (grub_menu_execute_entry): Likewise.
17660 (grub_menu_execute_with_fallback): Likewise.
17661 (grub_menu_entry_run): Likewise.
17662 (grub_menu_addentry): Renamed from this ...
17663 (grub_normal_add_menu_entry): ... to this.
17664
17665 * normal/main.c (grub_menu_addentry): Renamed from this ...
17666 (grub_normal_add_menu_entry): ... to this.
17667
17668 * script/sh/execute.c (grub_script_execute_menuentry): Update
17669 reference to renamed grub_menu_addentry function.
17670
17671 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
17672
17673 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
17674
17675 2009-05-22 Pavel Roskin <proski@gnu.org>
17676
17677 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
17678 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
17679 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
17680 compiling for the i386 targets, but not for the utilities.
17681
17682 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
17683 to grub_uint8_t.
17684 (grub_root_drive): Likewise.
17685 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
17686 remove alignment.
17687 (grub_root_drive): Change size to byte.
17688 (grub_start_addr): Remove.
17689 (grub_end_addr): Likewise.
17690 (grub_apm_bios_info): Likewise.
17691
17692 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
17693
17694 * normal/i386: Remove.
17695 * normal/powerpc: Likewise.
17696 * normal/sparc64: Likewise.
17697 * normal/x86_64: Likewise.
17698
17699 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17700
17701 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
17702 * loader/i386/linux_trampoline.S: Fix indentation
17703 * loader/i386/xnu_helper.S: Likewise
17704
17705 2009-05-18 Colin D Bennett <colin@gibibit.com>
17706
17707 Display error messages when parsing a Lua statement fails.
17708 Previously, executing a syntactically invalid statement like
17709 ")foo" or "bar;" would silently fail.
17710
17711 * script/lua/grub_main.c (handle_lua_error): New function.
17712 (grub_lua_parse_line): Improved reporting of Lua parser and
17713 execution errors.
17714
17715 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17716
17717 Remove -Werror which causes build to fail on some systems
17718
17719 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
17720 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
17721 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
17722
17723 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17724
17725 trampoline for linux on 64-bit platform
17726
17727 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
17728 loader/i386/efi/linux_trampoline.S
17729 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
17730 declaration
17731 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
17732 here
17733 * loader/i386/linux_trampoline.S: moved here
17734 * loader/i386/efi/linux.c (allocate_pages): reserve space for
17735 trampoline
17736 (jumpvector): removed
17737 (grub_linux_trampoline_start): new declaration
17738 (grub_linux_trampoline_end): likewise
17739 (grub_linux_boot): use trampoline when on 64-bit platform
17740 * loader/i386/linux.c: likewise
17741
17742 2009-05-16 Pavel Roskin <proski@gnu.org>
17743
17744 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
17745 const to avoid a warning.
17746 (grub_lua_setenv): Likewise.
17747 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
17748 lmsg to fix a warning.
17749
17750 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
17751
17752 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
17753 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17754 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
17755 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17756 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
17757 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17758 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
17759 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17760
17761 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
17762
17763 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
17764
17765 2009-05-16 Bean <bean123ch@gmail.com>
17766
17767 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
17768 (lua_mod_SOURCES): New variable.
17769 (lua_mod_CFLAGS): Likewise.
17770 (lua_mod_LDFLAGS): Likewise.
17771
17772 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
17773 (setjmp_mod_SOURCES): New variable.
17774 (setjmp_mod_CFLAGS): Likewise.
17775 (setjmp_LDFLAGS): Likewise.
17776
17777 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
17778 (setjmp_mod_SOURCES): New variable.
17779 (setjmp_mod_CFLAGS): Likewise.
17780 (setjmp_LDFLAGS): Likewise.
17781
17782 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
17783 (setjmp_mod_SOURCES): New variable.
17784 (setjmp_mod_CFLAGS): Likewise.
17785 (setjmp_LDFLAGS): Likewise.
17786
17787 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
17788 (setjmp_mod_SOURCES): New variable.
17789 (setjmp_mod_CFLAGS): Likewise.
17790 (setjmp_LDFLAGS): Likewise.
17791
17792 * normal/i386/setjmp.S: Moved from here ...
17793 * lib/i386/setjmp.S: ... Moved here
17794 * normal/x86_64/setjmp.S: Moved from here ...
17795 * lib/x86_64/setjmp.S: ... Moved here
17796 * normal/powerpc/setjmp.S: Moved from here ...
17797 * lib/powerpc/setjmp.S: ... Moved here
17798 * normal/sparc64/setjmp.S: Moved from here ...
17799 * lib/sparc64/setjmp.S: ... Moved here
17800
17801 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
17802 returns_twice in mingw.
17803
17804 * script/lua/grub_lib.c: New file.
17805 * script/lua/grub_lib.h: Likewise.
17806 * script/lua/grub_lua.h: Likewise.
17807 * script/lua/grub_main.c: Likewise.
17808 * script/lua/lapi.c: Likewise.
17809 * script/lua/lapi.h: Likewise.
17810 * script/lua/lauxlib.c: Likewise.
17811 * script/lua/lauxlib.h: Likewise.
17812 * script/lua/lbaselib.c: Likewise.
17813 * script/lua/lcode.c: Likewise.
17814 * script/lua/lcode.h: Likewise.
17815 * script/lua/ldblib.c: Likewise.
17816 * script/lua/ldebug.c: Likewise.
17817 * script/lua/ldebug.h: Likewise.
17818 * script/lua/ldo.c: Likewise.
17819 * script/lua/ldo.h: Likewise.
17820 * script/lua/ldump.c: Likewise.
17821 * script/lua/lfunc.c: Likewise.
17822 * script/lua/lfunc.h: Likewise.
17823 * script/lua/lgc.c: Likewise.
17824 * script/lua/lgc.h: Likewise.
17825 * script/lua/linit.c: Likewise.
17826 * script/lua/liolib.c: Likewise.
17827 * script/lua/llex.c: Likewise.
17828 * script/lua/llex.h: Likewise.
17829 * script/lua/llimits.h: Likewise.
17830 * script/lua/lmathlib.c: Likewise.
17831 * script/lua/lmem.c: Likewise.
17832 * script/lua/lmem.h: Likewise.
17833 * script/lua/loadlib.c: Likewise.
17834 * script/lua/lobject.c: Likewise.
17835 * script/lua/lobject.h: Likewise.
17836 * script/lua/lopcodes.c: Likewise.
17837 * script/lua/lopcodes.h: Likewise.
17838 * script/lua/loslib.c: Likewise.
17839 * script/lua/lparser.c: Likewise.
17840 * script/lua/lparser.h: Likewise.
17841 * script/lua/lstate.c: Likewise.
17842 * script/lua/lstate.h: Likewise.
17843 * script/lua/lstring.c: Likewise.
17844 * script/lua/lstring.h: Likewise.
17845 * script/lua/lstrlib.c: Likewise.
17846 * script/lua/ltable.c: Likewise.
17847 * script/lua/ltable.h: Likewise.
17848 * script/lua/ltablib.c: Likewise.
17849 * script/lua/ltm.c: Likewise.
17850 * script/lua/ltm.h: Likewise.
17851 * script/lua/lua.h: Likewise.
17852 * script/lua/luaconf.h: Likewise.
17853 * script/lua/lualib.h: Likewise.
17854 * script/lua/lundump.c: Likewise.
17855 * script/lua/lundump.h: Likewise.
17856 * script/lua/lvm.c: Likewise.
17857 * script/lua/lvm.h: Likewise.
17858 * script/lua/lzio.c: Likewise.
17859 * script/lua/lzio.h: Likewise.
17860
17861 2009-05-16 Bean <bean123ch@gmail.com>
17862
17863 * include/grub/kernel.h (grub_module_header_types): Add type
17864 OBJ_TYPE_CONFIG.
17865
17866 * kern/main.c (grub_load_config): New function.
17867 (grub_main): Call grub_load_config to read boot config.
17868
17869 * grub-mkimage (generate_image): New parameter config_path.
17870 (options): New option --config.
17871 (main): Parse --config option, and pass it to generate_image.
17872
17873 2009-05-14 Christian Franke <franke@computer.org>
17874
17875 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
17876 This fixes build on Cygwin.
17877
17878 2009-05-14 Pavel Roskin <proski@gnu.org>
17879
17880 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
17881 jump. This saves two bytes, so the typical case of 2 swapped
17882 drives would fit 32 bytes.
17883
17884 2009-05-13 Pavel Roskin <proski@gnu.org>
17885
17886 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
17887 grub_uint32_t to avoid a warning.
17888
17889 * loader/i386/linux.c (allocate_pages): When assigning
17890 real_mode_mem, cast through grub_size_t to fix a warning. The
17891 code already makes sure that the value would fit a pointer.
17892 (grub_linux_setup_video): Cast render_target->data to
17893 grub_size_t to fix a warning.
17894
17895 2009-05-13 Javier Martín <lordhabbit@gmail.com>
17896
17897 * commands/i386/pc/drivemap.c: New file - implement drivemap
17898 command.
17899 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
17900 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
17901
17902 2009-05-13 Pavel Roskin <proski@gnu.org>
17903
17904 * util/i386/pc/grub-setup.c (setup): Remove unused variable
17905 embedding_area_exists.
17906
17907 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
17908
17909 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
17910 it easier to understand / work with.
17911 Improve warning messages for cases where there's no embedding area,
17912 or when it is too small (or core.img too large).
17913
17914 2009-05-13 Pavel Roskin <proski@gnu.org>
17915
17916 * loader/i386/pc/multiboot2.c: Add necessary includes for
17917 grub_multiboot2_real_boot().
17918
17919 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
17920 PX record is always little-endian. We only need the lower 2
17921 bytes of the mode.
17922
17923 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
17924 facilitate code reuse.
17925 (grub_cpio_mount): Use "struct head", not a char buffer. This
17926 fixes a warning reported by gcc 4.4.
17927
17928 * kernel/disk.c (grub_disk_read): Use void pointer for the
17929 buffer.
17930 (grub_disk_write): Use const void pointer for the buffer.
17931 Adjust all callers. Remove unnecessary casts.
17932
17933 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
17934
17935 * util/i386/pc/grub-install.in: Update copyright year.
17936
17937 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17938
17939 gptsync
17940
17941 * commands/gptsync.c: new file
17942 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
17943 (gptsync_mod_SOURCES): new variable
17944 (gptsync_mod_CFLAGS): likewise
17945 (gptsync_mod_LDFLAGS): likewise
17946 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
17947 new definition
17948 (GRUB_PC_PARTITION_TYPE_HFS): likewise
17949 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
17950 * conf/i386-ieee1275.rmk: likewise
17951 * conf/i386-pc.rmk: likewise
17952 * conf/powerpc-ieee1275.rmk: likewise
17953
17954 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 Fixed grub-emu
17957
17958 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
17959 (grub_dl_ref): likewise
17960
17961 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
17962
17963 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
17964 split in two functions (one for msdos and one for gpt).
17965
17966 2009-05-08 Pavel Roskin <proski@gnu.org>
17967
17968 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
17969 not modified.
17970
17971 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
17972 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
17973 Initialize them with -1. Add sanity check for bad1. Eliminate
17974 nerr variable.
17975
17976 2009-05-08 David S. Miller <davem@davemloft.net>
17977
17978 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
17979
17980 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
17981
17982 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
17983 existence.
17984
17985 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
17986
17987 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
17988 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
17989
17990 2009-05-05 David S. Miller <davem@davemloft.net>
17991
17992 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
17993
17994 2009-05-05 Pavel Roskin <proski@gnu.org>
17995
17996 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
17997 of grub_dl_ref() and grub_dl_unref().
17998 * commands/parttool.c: Remove preprocessor conditionals around
17999 grub_dl_ref() and grub_dl_unref().
18000 * fs/affs.c: Likewise.
18001 * fs/afs.c: Likewise.
18002 * fs/cpio.c: Likewise.
18003 * fs/ext2.c: Likewise.
18004 * fs/fat.c: Likewise.
18005 * fs/hfs.c: Likewise.
18006 * fs/hfsplus.c: Likewise.
18007 * fs/iso9660.c: Likewise.
18008 * fs/jfs.c: Likewise.
18009 * fs/minix.c: Likewise.
18010 * fs/ntfs.c: Likewise.
18011 * fs/reiserfs.c: Likewise.
18012 * fs/sfs.c: Likewise.
18013 * fs/udf.c: Likewise.
18014 * fs/ufs.c: Likewise.
18015 * fs/xfs.c: Likewise.
18016 * include/grub/dl.h: Likewise.
18017 * loader/xnu.c: Likewise.
18018
18019 2009-05-04 Pavel Roskin <proski@gnu.org>
18020
18021 * commands/acpi.c: Remove unused variable my_mod.
18022 * partmap/amiga.c: Likewise.
18023 * partmap/apple.c: Likewise.
18024 * partmap/gpt.c: Likewise.
18025 * partmap/pc.c: Likewise.
18026 * partmap/sun.c: Likewise.
18027 * term/gfxterm.c: Likewise.
18028 * term/i386/pc/vesafb.c: Likewise.
18029 * term/i386/pc/vga.c: Likewise.
18030
18031 2009-05-04 David S. Miller <davem@davemloft.net>
18032
18033 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
18034 pointer args to grub_ieee1275_get_property().
18035
18036 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
18037
18038 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
18039 devices, and do not traverse down under controller nodes.
18040
18041 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
18042 (grub_ofdisk_open): Use it to un-escape "," characters.
18043 * kern/disk.c (find_part_sep): New.
18044 (grub_disk_open): Use it to find the first non-escaped ','
18045 character in the disk name.
18046 * util/ieee1275/devicemap.c (escape_of_path): New.
18047 (grub_util_emit_devicemap_entry): Use it.
18048 * util/sparc64/ieee1275/grub-install.in: Update script to
18049 strip partition specifiers properly by not triggering on
18050 '\' escaped ',' characters.
18051
18052 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18053
18054 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
18055 to 0x300.
18056 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
18057 resolutions.
18058 (linux_vesafb_modes): Add a lot of additional modes to the list (based
18059 on documentation from Wikipedia).
18060
18061 2009-05-04 Pavel Roskin <proski@gnu.org>
18062
18063 * disk/ata.c: Spelling fixes.
18064 * disk/raid.c: Likewise.
18065 * disk/usbms.c: Likewise.
18066 * disk/dmraid_nvidia.c: Likewise.
18067 * kern/ieee1275/openfw.c: Likewise.
18068 * kern/ieee1275/init.c: Likewise.
18069 * kern/ieee1275/cmain.c: Likewise.
18070 * boot/i386/pc/cdboot.S: Likewise.
18071 * video/readers/png.c: Likewise.
18072 * video/i386/pc/vbe.c: Likewise.
18073 * fs/udf.c: Likewise.
18074 * fs/hfs.c: Likewise.
18075 * fs/reiserfs.c: Likewise.
18076 * efiemu/runtime/efiemu.c: Likewise.
18077 * efiemu/main.c: Likewise.
18078 * efiemu/mm.c: Likewise.
18079 * include/grub/elf.h: Likewise.
18080 * include/grub/xnu.h: Likewise.
18081 * include/grub/usbdesc.h: Likewise.
18082 * include/grub/usb.h: Likewise.
18083 * include/grub/script_sh.h: Likewise.
18084 * include/grub/lib/LzmaEnc.h: Likewise.
18085 * include/grub/efiemu/efiemu.h: Likewise.
18086 * include/grub/command.h: Likewise.
18087 * normal/menu.c: Likewise.
18088 * normal/main.c: Likewise.
18089 * normal/datetime.c: Likewise.
18090 * bus/usb/uhci.c: Likewise.
18091 * mmap/i386/uppermem.c: Likewise.
18092 * mmap/mmap.c: Likewise.
18093 * commands/acpi.c: Likewise.
18094 * commands/test.c: Likewise.
18095 * partmap/apple.c: Likewise.
18096 * font/font.c: Likewise.
18097 * loader/sparc64/ieee1275/linux.c: Likewise.
18098 * loader/macho.c: Likewise.
18099 * loader/i386/bsd_trampoline.S: Likewise.
18100 * loader/i386/bsd.c: Likewise.
18101 * loader/xnu.c: Likewise.
18102 * term/i386/pc/vesafb.c: Likewise.
18103 * term/usb_keyboard.c: Likewise.
18104 * util/resolve.c: Likewise.
18105 * util/getroot.c: Likewise.
18106
18107 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18108
18109 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
18110
18111 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18112
18113 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
18114 build error.
18115
18116 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18117
18118 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
18119 parameter only available on BIOS.
18120
18121 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18122
18123 Removed wrong semicolon in declaration
18124
18125 * grub/misc.h (grub_dprintf): remove semicolon
18126
18127 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18128
18129 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
18130 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
18131 is done by grub_cmd_linux() now).
18132 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
18133 restore video to text mode.
18134 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
18135 indicates lack of "vga=" parameter. "vga=0" is mapped to
18136 `GRUB_LINUX_VID_MODE_NORMAL'.
18137
18138 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18139
18140 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
18141 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
18142 and `normal/script.c'. Add `kern/rescue_reader.c',
18143 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
18144 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
18145 `grub_script.tab.c'.
18146
18147 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18148 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18150 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18151 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18152
18153 * Makefile.in: Remove duplicated 2008 in Copyright line.
18154
18155 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18156
18157 * util/misc.c (grub_util_warn): New function. Emits a warning
18158 unconditionally.
18159 * include/grub/util/misc.h (grub_util_warn): New declaration.
18160
18161 * util/i386/pc/grub-install.in: Understand --force and pass it down
18162 to grub-setup.
18163
18164 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
18165 down to setup().
18166 (setup): Improve error messages and add warnings when requested to
18167 install in odd layouts. Refuse to install using blocklists unless
18168 --force was set.
18169
18170 2009-05-04 martin f. krafft <madduck@madduck.net>
18171
18172 * disk/raid.c (grub_raid_scan_device): Improve debug message.
18173
18174 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18175
18176 Updated copyright year
18177
18178 * fs/hfsplus.c: updated copyright year
18179
18180 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18181
18182 HFS+ UUID
18183
18184 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
18185 in the space previously used by unused3
18186 (grub_hfsplus_uuid): new function
18187 (grub_hfsplus_fs): added uuid field
18188
18189 2009-05-03 Pavel Roskin <proski@gnu.org>
18190
18191 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
18192 suppress warnings. It's no longer needed.
18193 * disk/host.c: Likewise.
18194 * disk/ata_pthru.c: Likewise.
18195 * disk/loopback.c: Likewise.
18196 * hook/datehook.c: Likewise.
18197 * parttool/pcpart.c: Likewise.
18198 * fs/i386/pc/pxe.c: Likewise.
18199 * fs/ntfscomp.c: Likewise.
18200 * efiemu/main.c: Likewise.
18201 * mmap/mmap.c: Likewise.
18202 * commands/crc.c: Likewise.
18203 * commands/hexdump.c: Likewise.
18204 * commands/hdparm.c: Likewise.
18205 * commands/acpi.c: Likewise.
18206 * commands/echo.c: Likewise.
18207 * commands/minicmd.c: Likewise.
18208 * commands/blocklist.c: Likewise.
18209 * commands/memrw.c: Likewise.
18210 * commands/loadenv.c: Likewise.
18211 * commands/usbtest.c: Likewise.
18212 * commands/lsmmap.c: Likewise.
18213 * commands/boot.c: Likewise.
18214 * commands/parttool.c: Likewise.
18215 * commands/configfile.c: Likewise.
18216 * commands/search.c: Likewise.
18217 * commands/ieee1275/suspend.c: Likewise.
18218 * commands/cat.c: Likewise.
18219 * commands/i386/pc/pxecmd.c: Likewise.
18220 * commands/i386/pc/play.c: Likewise.
18221 * commands/i386/pc/halt.c: Likewise.
18222 * commands/i386/pc/vbeinfo.c: Likewise.
18223 * commands/i386/pc/vbetest.c: Likewise.
18224 * commands/lspci.c: Likewise.
18225 * commands/date.c: Likewise.
18226 * commands/handler.c: Likewise.
18227 * commands/ls.c: Likewise.
18228 * commands/test.c: Likewise.
18229 * commands/cmp.c: Likewise.
18230 * commands/efi/loadbios.c: Likewise.
18231 * commands/efi/fixvideo.c: Likewise.
18232 * commands/halt.c: Likewise.
18233 * commands/help.c: Likewise.
18234 * commands/reboot.c: Likewise.
18235 * hello/hello.c: Likewise.
18236 * script/sh/main.c: Likewise.
18237 * loader/xnu.c: Likewise.
18238 * term/terminfo.c: Likewise.
18239 * term/i386/pc/serial.c: Likewise.
18240 * term/usb_keyboard.c: Likewise.
18241
18242 2009-05-03 David S. Miller <davem@davemloft.net>
18243
18244 * normal/menu.c: Include grub/parser.h
18245
18246 2009-05-03 Pavel Roskin <proski@gnu.org>
18247
18248 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
18249 not char*.
18250 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
18251 Suggested by Javier Martín <lordhabbit@gmail.com>
18252
18253 * util/i386/pc/grub-mkrescue.in: Allow for the case when
18254 efiemu??.o doesn't exist.
18255 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
18256 copying.
18257
18258 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
18259
18260 FreeBSD 64-bit support
18261
18262 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
18263 and loader/i386/bsd_trampoline.S
18264 (bsd_mod_ASFLAGS): new variable
18265 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
18266 (FREEBSD_MODTYPE_KERNEL64): likewise
18267 (grub_bsd64_trampoline_start): likewise
18268 (grub_bsd64_trampoline_end): likewise
18269 (grub_bsd64_trampoline_selfjump): likewise
18270 (grub_bsd64_trampoline_gdt): likewise
18271 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
18272 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
18273 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
18274 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18275 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
18276 of "attrib" member
18277 * loader/i386/bsd_pagetable.c: new file
18278 * loader/i386/bsd_trampoline.S: likewise
18279 * loader/i386/bsd.c (ALIGN_QWORD): new macro
18280 (ALIGN_VAR): likewise
18281 (entry_hi): new variable
18282 (kern_end_mdofs): likewise
18283 (is_64bit): likewise
18284 (grub_freebsd_add_meta): use ALIGN_VAR
18285 (grub_e820_mmap): new declaration
18286 (grub_freebsd_add_mmap): new function
18287 (grub_freebsd_add_meta_module): support 64 bit kernels
18288 (grub_freebsd_list_modules): use ALIGN_VAR
18289 (gdt_descriptor): new declaration
18290 (grub_freebsd_boot): support 64 bit kernels
18291 (grub_bsd_elf64_hook): new function
18292 (grub_bsd_load_elf): support elf64
18293
18294 2009-05-03 Bean <bean123ch@gmail.com>
18295
18296 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
18297 after we get the result of if statement.
18298
18299 2009-05-03 Bean <bean123ch@gmail.com>
18300
18301 * Makefile.in (enable_efiemu): New variable.
18302
18303 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
18304 set.
18305 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
18306 path.
18307 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
18308 path, add -mno-red-zone option.
18309 (efiemu64_s.o): Likewise.
18310 (efiemu64.o): Use macro $^ for source file.
18311
18312 * configure.ac (--enable-efiemu): New option.
18313
18314 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18315
18316 xnu support
18317
18318 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
18319 (pkglib_MODULES): add xnu.mod
18320 (xnu_mod_SOURCES): new variable
18321 (xnu_mod_CFLAGS): likewise
18322 (xnu_mod_LDFLAGS): likewise
18323 (xnu_mod_ASFLAGS): likewise
18324 * conf/i386-pc.rmk: likewise
18325 * conf/x86_64-efi.rmk: likewise
18326 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
18327 new declaration
18328 * include/grub/i386/macho.h: new file
18329 * include/grub/i386/xnu.h: likewise
18330 * include/grub/macho.h: likewise
18331 * include/grub/machoload.h: likewise
18332 * include/grub/x86_64/macho.h: likewise
18333 * include/grub/x86_64/xnu.h: likewise
18334 * include/grub/xnu.h: likewise
18335 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
18336 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
18337 * loader/i386/efi/xnu.c: new file
18338 * loader/i386/pc/xnu.c: likewise
18339 * loader/i386/xnu.c: likewise
18340 * loader/i386/xnu_helper.S: likewise
18341 * loader/macho.c: likewise
18342 * loader/xnu.c: likewise
18343 * loader/xnu_resume.c: likewise
18344 * util/grub-dumpdevtree: likewise
18345 * include/grub/i386/pit.h: include grub/err.h
18346 (grub_pit_wait): export
18347 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
18348
18349 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18350
18351 Efiemu
18352
18353 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
18354 _linux_efi, linux_efi.
18355 new files in grub-emu
18356 new targets efiemu32.o and efiemu64.o
18357 * loader/linux_normal_efiemu.c: likewise
18358 * loader/i386/efi/linux.c: added preliminary efiemu support
18359 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
18360 files to copy
18361 * include/grub/autoefi.h: new file
18362 * include/grub/i386/efiemu.h: likewise
18363 * include/grub/i386/pc/efiemu.h: likewise
18364 * include/grub/efi/api.h: add LL suffix when necessary
18365 new definitions relating to tables
18366 * include/grub/efiemu/efiemu.h: new file
18367 * include/grub/efiemu/runtime.h: likewise
18368 * efiemu/prepare.c: likewise
18369 * efiemu/loadcore_common.c: likewise
18370 * efiemu/loadcore64.c: likewise
18371 * efiemu/runtime/efiemu.sh: likewise
18372 * efiemu/runtime/efiemu.S: likewise
18373 * efiemu/runtime/efiemu.c: likewise
18374 * efiemu/runtime/config.h: likewise
18375 * efiemu/prepare32.c: likewise
18376 * efiemu/main.c: likewise
18377 * efiemu/modules/pnvram.c: likewise
18378 * efiemu/modules/i386: likewise
18379 * efiemu/modules/i386/pc: likewise
18380 * efiemu/modules/acpi.c: likewise
18381 * efiemu/i386/pc/cfgtables.c: likewise
18382 * efiemu/i386/loadcore64.c: likewise
18383 * efiemu/i386/loadcore32.c: likewise
18384 * efiemu/prepare64.c: likewise
18385 * efiemu/loadcore.c: likewise
18386 * efiemu/symbols.c: likewise
18387 * efiemu/mm.c: likewise
18388 * efiemu/loadcore32.c: likewise
18389
18390 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18391
18392 ACPI spoofing
18393
18394 * commands/acpi.c: new file
18395 * commands/i386/pc/acpi.c: likewise
18396 * commands/efi/acpi.c: likewise
18397 * include/grub/acpi.h: likewise
18398 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
18399 (acpi_mod_SOURCES): new variable
18400 (acpi_mod_CFLAGS): likewise
18401 (acpi_mod_LDFLAGS): likewise
18402 * conf/i386-efi.rmk: likewise
18403 * conf/x86_64-efi.rmk: likewise
18404
18405 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18406
18407 Missing part from mmap patch
18408
18409 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
18410 (grub_mmap_unregister)
18411 (grub_mmap_free_and_unregister): use grub_mmap_register
18412
18413 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18414
18415 Mmap services
18416
18417 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
18418 * loader/i386/linux.c (find_mmap_size): likewise
18419 (allocate_pages): likewise
18420 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
18421 (grub_fill_multiboot_mmap): likewise
18422 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
18423 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
18424 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
18425 (OPENBSD_MMAP_RESERVED): likewise
18426 * include/grub/i386/pc/memory.h: include grub/memory.h
18427 (grub_lower_mem): removed
18428 (grub_upper_mem): likewise
18429 (GRUB_MACHINE_MEMORY_ACPI): new definition
18430 (GRUB_MACHINE_MEMORY_NVS): likewise
18431 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
18432 (GRUB_MACHINE_MEMORY_HOLE): likewise
18433 (grub_machine_mmap_register): likewise
18434 (grub_machine_mmap_unregister): likewise
18435 (grub_machine_get_upper): likewise
18436 (grub_machine_get_lower): likewise
18437 (grub_machine_get_post64): likewise
18438 * include/grub/i386/efi/memory.h: new file
18439 * include/grub/x86_64/efi/memory.h: likewise
18440 * include/grub/efi/memory.h: likewise
18441 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
18442 (mmap_mod_SOURCES): new variable
18443 (mmap_mod_LDFLAGS): likewise
18444 (mmap_mod_ASFLAGS): likewise
18445 * conf/i386-coreboot.rmk: likewise
18446 * conf/i386-ieee1275.rmk: likewise
18447 * conf/i386-efi.rmk: likewise
18448 * conf/x86_64-efi.rmk: likewise
18449 * include/grub/types.h (UINT_TO_PTR): new macro
18450 (PTR_TO_UINT32): likewise
18451 (PTR_TO_UINT64): likewise
18452 * include/grub/memory.h: new file
18453 * mmap/i386/pc/mmap.c: likewise
18454 * mmap/i386/pc/mmap_helper.S: likewise
18455 * mmap/i386/uppermem.c: likewise
18456 * mmap/mmap.c: likewise
18457 * mmap/efi/mmap.c: likewise
18458 * kern/i386/coreboot/init.c (grub_machine_init): don't use
18459 grub_upper_mem
18460 * kern/i386/pc/init.c (grub_lower_mem): removed variable
18461 (grub_upper_mem): likewise
18462 (grub_machine_init): don't use grub_upper_mem,
18463 make grub_lower_mem local
18464 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
18465 grub_mmap_iterate and grub_mmap_get_upper
18466 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
18467
18468 2009-05-02 Bean <bean123ch@gmail.com>
18469
18470 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
18471 script/sh/parser.y.
18472 (pkglib_MODULES): Add normal.mod and sh.mod.
18473 (normal_SOURCES): New variable.
18474 (normal_mod_CFLAGS): Likewise.
18475 (normal_mod_LDFLAGS): Likewise.
18476 (sh_mod_SOURCES): Likewise.
18477 (sh_mod_CFLAGS): Likewise.
18478 (sh_mod_LDFLAGS): Likewise.
18479
18480 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
18481 script/sh/lexer.c_DEPENDENCIES.
18482 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
18483 kern/rescue_reader.c and kern/rescue_parser.c.
18484 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
18485 (grub_emu_SOURCES): Change source files.
18486 (pkglib_MODULES): Remove normal.mod.
18487 (normal_SOURCES): Removed.
18488 (normal_mod_CFLAGS): Likewise.
18489 (normal_mod_LDFLAGS): Likewise.
18490 * conf/i386-coreboot.rmk: Likewise.
18491 * conf/i386-efi.rmk: Likewise.
18492 * conf/i386-ieee1276.rmk: Likewise.
18493 * conf/powerpc-ieee1275.rmk: Likewise.
18494 * conf/sparc64-ieee1275.rmk: Likewise.
18495 * conf/x86_64-efi.rmk: Likewise.
18496
18497 * include/grub/command.h (grub_command_execute): New inline function.
18498
18499 * include/grub/menu.h (grub_menu_entry): Removed commands field.
18500
18501 * include/grub/normal.h: Remove <grub/setjmp.h>.
18502 (grub_fs_module_list): Moved to normal/autofs.c.
18503 (grub_exit_env): Removed.
18504 (grub_command_execute): Likewise.
18505 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
18506 parameter script.
18507 (read_command_list): New function declaration.
18508 (read_fs_list): Likewise.
18509
18510 * include/parser.h: Include <grub/reader.h>.
18511 (grub_parser_split_cmdline): Change type of getline parameter.
18512 (grub_parser): New structure.
18513 (grub_parser_class): New variable.
18514 (grub_parser_execute): New function declaration.
18515 (grub_register_rescue_parser): Likewise.
18516 (grub_parser_register): New inline function.
18517 (grub_parser_unregister): Likewise.
18518 (grub_parser_get_current): Likewise.
18519 (grub_parser_set_current): Likewise.
18520
18521 * include/grub/reader.h: New file.
18522 * kern/reader.c: Likewise.
18523 * kern/rescue_parser.c: Likewise.
18524 * kern/rescue_reader.c: Likewise.
18525 * normal/autofs.c: Likewise.
18526 * normal/dyncmd.c: Likewise.
18527
18528 * include/grub/rescue.h: Removed.
18529 * normal/command.h: Likewise.
18530
18531 * include/grub/script.h: Moved to ...
18532 * include/grub/script_sh.h: ... Moved here.
18533 * normal/execute.c: Moved to ...
18534 * script/sh/execute.c: ... Moved here.
18535 * normal/function.c: Moved to ...
18536 * script/sh/function.c: ... Moved here.
18537 * normal/lexer.c: Moved to ...
18538 * script/sh/lexer.c: ... Moved here.
18539 * normal/parser.y: Moved to ...
18540 * script/sh/parser.y: ... Moved here.
18541 * normal/script.c: Moved to ...
18542 * script/sh/script.c: ... Moved here.
18543
18544 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
18545 <grub/reader.h>.
18546 (grub_exit_env): Removed.
18547 (fs_module_list): Moved to normal/autofs.c.
18548 (grub_file_getline): Don't handle comment here.
18549 (free_menu): Skip removed field entry->commands.
18550 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
18551 script parameter.
18552 (read_config_file): Removed nested parameter, change getline function.
18553 (grub_enter_normal_mode): Removed.
18554 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
18555 (read_command_list): Likewise.
18556 (autoload_fs_module): Moved to normal/autofs.c.
18557 (read_fs_list): Likewise.
18558 (reader_nested): New variable.
18559 (grub_normal_execute): Run parser.sh to switch to sh parser.
18560 (grub_cmd_rescue): Removed.
18561 (cmd_normal): Removed.
18562 (grub_cmd_normal): Unregister itself at the beginning. Don't register
18563 rescue command.
18564 (grub_cmdline_run): New function.
18565 (grub_normal_reader_init): Likewise.
18566 (grub_normal_read_line): Likewise.
18567 (grub_env_write_pager): Likewise.
18568 (cmdline): New variable.
18569 (grub_normal_reader): Likewise.
18570 (GRUB_MOD_INIT): Register normal reader and set as current, register
18571 pager hook, register normal command with grub_register_command_prio,
18572 so that it won't show up in command.lst.
18573 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
18574 grub_fs_autoload_hook.
18575
18576 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
18577 (grub_menu_execute_entry): Replace grub_script_execute with
18578 grub_parser_execute, change parameter to grub_command_execute.
18579
18580 * normal/menu_text.c: Remove <grub/script.h>.
18581
18582 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
18583 and <grub/parser.h>.
18584 (run): Change editor_getline to use new parser interface. Change
18585 parameter to grub_command_execute.
18586
18587 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
18588 <grub/reader.h> and <grub/parser.h>.
18589 (grub_load_normal_mode): Execute normal command.
18590 (grub_main): Call grub_register_core_commands,
18591 grub_register_rescue_parser and grub_register_rescue_reader, use
18592 grub_reader_loop to enter input loop.
18593
18594 * kern/parser.c (grub_parser_split_cmdline): Change type of
18595 getline parameter.
18596 (grub_parser_class): New variable.
18597 (grub_parser_execute): New function.
18598
18599 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
18600 * loader/multiboot2.c: Likewise.
18601 * loader/sparc64/ieee1275/linux.c: Likewise.
18602
18603 * util/grub-emu.c (read_command_list): New dummy function.
18604
18605 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
18606
18607 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
18608 count to 16 for CCISS and IDA.
18609
18610 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
18611
18612 * normal/menu_text.c (grub_wait_after_message): Print a newline
18613 after waiting for user input.
18614
18615 * loader/i386/linux.c: Include `<grub/normal.h>'.
18616 (grub_cmd_linux): Improve the error message about `ask' mode, by
18617 waiting for user input so it's not missed (we can do this, since
18618 user requested interaction).
18619
18620 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18621
18622 Added missing lst to grub-mkrescue
18623
18624 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
18625 and ${input_dir}/parttool.lst
18626
18627 2009-04-30 David S. Miller <davem@davemloft.net>
18628
18629 * util/hostdisk.c (device_is_wholedisk): New function.
18630 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
18631 zero only if device_is_wholedisk() returns true.
18632
18633 * util/hostdisk.c (convert_system_partition_to_system_disk):
18634 Handle virtual disk devices named /dev/vdiskX as found on sparc
18635 and powerpc.
18636
18637 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
18638 lettered partition specifier is found, convert to numbered.
18639
18640 2009-04-29 David S. Miller <davem@davemloft.net>
18641
18642 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
18643 * include/grub/sparc64/ieee1275/memory.h: Likewise.
18644
18645 * normal/command.c: Add missing newline at end of file.
18646
18647 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
18648 warnings.
18649 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
18650 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
18651 grub_ofdisk_read): Likewise, and deal similarly with the fact that
18652 ihandles have a 32-bit type but need to be stored in a "void *".
18653
18654 2009-04-28 Pavel Roskin <proski@gnu.org>
18655
18656 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
18657 not disk. Adjust all dependencies.
18658 (grub_fs_uuid_close): Use grub_device_close(), not
18659 grub_disk_close().
18660
18661 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
18662 parent's partition, don't copy it by reference, as it gets freed
18663 on close.
18664
18665 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18666
18667 Preboot hooks support
18668
18669 * commands/boot.c (struct grub_preboot_t): new declaration
18670 (preboots_head): new variable
18671 (preboots_tail): likewise
18672 (grub_loader_register_preboot_hook): new function
18673 (grub_loader_unregister_preboot_hook): likewise
18674 (grub_loader_set): launch preboot hooks
18675 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
18676 (grub_loader_register_preboot_hook): new declaration
18677 (grub_loader_unregister_preboot_hook): likewise
18678
18679 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18680
18681 Warning fix
18682
18683 * disk/scsi.c (grub_scsi_open): added missing cast when
18684 calling grub_dprintf
18685
18686 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
18687
18688 Bug and warning fixes
18689
18690 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
18691 declaration
18692 * commands/test.c (test_parse): fixed bug with file tests and corrected
18693 declaration of find_file
18694
18695 2009-04-26 Pavel Roskin <proski@gnu.org>
18696
18697 * Makefile.in: Don't install empty manual pages if help2man is
18698 missing. Use help2man option for output, not shell redirection.
18699
18700 2009-04-26 David S. Miller <davem@davemloft.net>
18701
18702 * util/grub-mkdevicemap.c (make_device_map): Add missing
18703 NESTED_FUNC_ATTR to process_device().
18704
18705 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18706
18707 Test command
18708
18709 * commands/test.c: rewritten to use bash-like test
18710
18711 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18712
18713 Parttool autoloading and improvements
18714
18715 * Makefile.in (pkglib_DATA): add parttool.lst
18716 (parttool.lst): new target
18717 * genmk.rb: generate parttool-*
18718 (CLEANFILES): add #{parttool}
18719 (PARTTOOLFILES): new variable
18720 * genparttoollist.sh: new file
18721 * parttool/pcpart.c (grub_pcpart_boot): more feedback
18722 (grub_pcpart_type): likewise
18723 * commands/parttool.c (helpmsg): new variable
18724 (grub_cmd_parttool): output help if not enough arguments are supplied
18725 autoload modules
18726 (GRUB_MOD_INIT(parttool)): use helpmsg
18727
18728 2009-04-24 David S. Miller <davem@davemloft.net>
18729
18730 Avoiding opening same device multiple times in device iterator.
18731
18732 * kern/device.c: (grub_device_iterate): Define struct part_ent,
18733 and use it to build a list of partitions in iterate_disk() and
18734 iterate_partition().
18735
18736 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
18737 on disk->data.
18738
18739 * disk/ieee1275/nand.c (grub_nand_iterate): Return
18740 grub_devalias_iterate() result instead of unconditional 0.
18741 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
18742 Also, capture hook return value, either directly or via
18743 grub_children_iterate(), and propagate to caller.
18744 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
18745 grub_children_iterate): Return value is now 'int' instead of
18746 'grub_err_t'.
18747 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
18748 like a proper iterator, stopping when hooks return non-zero.
18749 (grub_devalias_iterate): Likewise.
18750
18751 2009-04-23 David S. Miller <davem@davemloft.net>
18752
18753 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
18754
18755 2009-04-22 David S. Miller <davem@davemloft.net>
18756
18757 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
18758 is larger than address_cells, use that value for address_cells too.
18759
18760 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
18761 IEEE1275_MAX_PATH_LEN): Define.
18762 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
18763 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
18764 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
18765 'devtype'. Explicitly NULL terminate devalias expansion.
18766
18767 * util/sparc64/ieee1275/misc.c: New file.
18768 * util/sparc64/ieee1275/grub-setup.c: New file.
18769 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
18770 * util/sparc64/ieee1275/grub-mkimage.c: New file.
18771 * util/sparc64/ieee1275/grub-install.in: New file.
18772 * util/ieee1275/ofpath.c: New file.
18773 * util/ieee1275/devicemap.c: New file.
18774 * util/devicemap.c: New file.
18775 * util/deviceiter.c: New file.
18776 * kern/sparc64/ieee1275/init.c: New file.
18777 * include/grub/util/ofpath.h: New file.
18778 * include/grub/util/deviceiter.h: New file.
18779 * util/grub-mkdevicemap.c: Include deviceiter.h.
18780 Implement using grub_util_emit_devicemap_entry and
18781 grub_util_iterate_devices.
18782 * conf/i386-corebook.rmk: Build util/deviceiter.c and
18783 util/devicemap.c into grub-mkdevicemap
18784 * conf/i386-efi.rmk: Likewise.
18785 * conf/i386-ieee1275.rmk: Likewise.
18786 * conf/i386-pc.rmk: Likewise.
18787 * conf/powerpc-ieee1275.rmk: Likewise.
18788 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
18789 images and installation utilities. Build kernel as image
18790 instead of as elf binary. Use common rules as much as possible.
18791
18792 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18793
18794 Correct GPT definition
18795
18796 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
18797 of "attrib" member
18798
18799 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
18800
18801 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
18802
18803 2009-04-19 David S. Miller <davem@davemloft.net>
18804
18805 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
18806 (grub_rescue_cmd_linux): Rename to...
18807 (grub_cmd_linux): and fix prototype.
18808 (grub_rescue_cmd_initrd): Rename to...
18809 (grub_cmd_initrd): and fix prototype.
18810 (cmd_linux, cmd_initrd): New.
18811 (GRUB_MOD_INIT(linux)): Use grub_register_command().
18812 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
18813
18814 2009-04-17 Pavel Roskin <proski@gnu.org>
18815
18816 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
18817 format.
18818 (grub_ohci_transfer): Likewise.
18819
18820 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
18821
18822 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
18823 return without a value. Fix inconsistent indentation.
18824
18825 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
18826 match struct grub_fs.
18827
18828 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
18829 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
18830 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
18831 * commands/lspci.c (grub_lspci_iter): Likewise.
18832
18833 2009-04-16 Bean <bean123ch@gmail.com>
18834
18835 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
18836 value.
18837
18838 2009-04-15 Pavel Roskin <proski@gnu.org>
18839
18840 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
18841 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
18842 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
18843 definitions.
18844
18845 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
18846
18847 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
18848 that no multiple data or metadata areas are supported and `Unknown
18849 metadata header'.
18850
18851 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
18852
18853 Move loader out of the kernel
18854
18855 * kern/loader.c: moved to ...
18856 * commands/boot.c: ... moved here
18857 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
18858 * commands/boot.c (grub_cmd_boot): moved here. All users updated
18859 * include/grub/kernel.h (grub_machine_fini): export
18860 * include/grub/loader.h (grub_loader_is_loaded): update declaration
18861 (grub_loader_set): likewise
18862 (grub_loader_unset): likewise
18863 (grub_loader_boot): likewise
18864 * conf/common.rmk: new module boot.mod
18865 (pkglib_MODULES): add boot.mod
18866 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
18867 (grub_emu_SOURCES): likewise
18868 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
18869 (grub_emu_SOURCES): likewise
18870 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
18871 (grub_emu_SOURCES): likewise
18872 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
18873 (grub_emu_SOURCES): likewise
18874 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
18875 (grub_emu_SOURCES): likewise
18876 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
18877 (grub_emu_SOURCES): likewise
18878 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
18879 (grub_emu_SOURCES): likewise
18880
18881 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
18882
18883 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
18884
18885 * kern/misc.c (grub_itoa): Removed function
18886 (grub_ltoa): likewise
18887 (grub_vsprintf): use grub_lltoa
18888
18889 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
18890
18891 Restore grub-emu
18892
18893 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
18894 * conf/i386-coreboot.rmk: likewise
18895 * conf/i386-ieee1275.rmk: likewise
18896 * conf/powerpc-ieee1275.rmk: likewise
18897
18898 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
18899
18900 * INSTALL: Add that `./autogen.sh' needs to be run before
18901 `./configure.'.
18902
18903 2009-04-14 Bean <bean123ch@gmail.com>
18904
18905 * Makefile.in (pkglib_DATA): Add handler.lst.
18906 (handler.lst): New rule.
18907
18908 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
18909 * conf/i386-coreboot.rmk: Likewise.
18910 * conf/i386-ieee1275.rmk: Likewise.
18911 * conf/i386-efi.rmk: Likewise.
18912 * conf/x86_64-efi.rmk: Likewise.
18913 * conf/powerpc-ieee1275.rmk: Likewise.
18914 * conf/sparc64-ieee1275.rmk: Likewise.
18915
18916 * genhandlerlist.sh: New file.
18917
18918 * genmk.rb: Add rules to generate handler.lst.
18919
18920 * include/grub/normal.h (grub_file_getline): New function definition.
18921 (read_handler_list): Likewise.
18922 (free_handler_list): Likewise.
18923
18924 * include/grub/term.h (grub_term_register_input): Add name parameter
18925 for auto generation of handler.lst.
18926 (grub_term_register_output): Likewise.
18927
18928 * normal/handler.c: New file.
18929
18930 * normal/main.c (get_line): Renamed to grub_file_getline.
18931 (read_config_file): Use the newly renamed grub_file_getline.
18932 (read_command_list): Likewise.
18933 (read_fs_list): Likewise.
18934 (grub_normal_execute): Call read_handler_list to parse handler.lst.
18935 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
18936
18937 * term/efi/console.c (grub_console_init): Add name parameter for auto
18938 generation of handler.lst.
18939 * term/gfxterm.c: Likewise.
18940 * term/i386/pc/at_keyboard.c: Likewise.
18941 * term/i386/pc/console.c: Likewise.
18942 * term/i386/pc/serial.c: Likewise.
18943 * term/i386/pc/vesafb.c: Likewise.
18944 * term/i386/pc/vga.c: Likewise.
18945 * term/i386/pc/vga_text.c: Likewise.
18946 * term/ieee1275/ofconsole.c: Likewise.
18947 * term/usb_keyboard.c: Likewise.
18948
18949 2009-04-14 Bean <bean123ch@gmail.com>
18950
18951 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
18952 properly with null character.
18953
18954 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
18955
18956 * configure: Remove.
18957 * config.h.in: Likewise.
18958 * stamp-h.in: Likewise.
18959 * DISTLIST: Likewise.
18960 * conf/common.mk: Likewise.
18961 * conf/i386-coreboot.mk: Likewise.
18962 * conf/i386-efi.mk: Likewise.
18963 * conf/i386-ieee1275.mk: Likewise.
18964 * conf/i386.mk: Likewise.
18965 * conf/i386-pc.mk: Likewise.
18966 * conf/powerpc-ieee1275.mk: Likewise.
18967 * conf/sparc64-ieee1275.mk: Likewise.
18968 * conf/x86_64-efi.mk: Likewise.
18969
18970 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
18971 develop on GRUB.
18972
18973 2009-04-14 John Stanley <jpsinthemix@verizon.net>
18974 David S. Miller <davem@davemloft.net>
18975
18976 * util/hostdisk.c (make_device_name): Fix buffer length
18977 calculations.
18978
18979 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
18980
18981 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
18982 <sys/param.h> and <sys/sysctl.h>.
18983 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
18984 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
18985 opening the device and reset them afterwards.
18986
18987 2009-04-13 Pavel Roskin <proski@gnu.org>
18988
18989 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
18990 Reported by John Stanley <jpsinthemix@verizon.net>
18991
18992 2009-04-13 Robert Millan <rmh@aybabtu.com>
18993
18994 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
18995 that name for menuentries when appropriate.
18996
18997 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
18998
18999 * util/grub.d/10_freebsd.in: Add a missing `fi'.
19000
19001 2009-04-13 Robert Millan <rmh@aybabtu.com>
19002
19003 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
19004 to Linux, simply abort telling the user it's no longer supported.
19005
19006 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19007
19008 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
19009 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
19010 `freebsd_loadenv' only when devices.hints exist.
19011
19012 2009-04-13 Pavel Roskin <proski@gnu.org>
19013
19014 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
19015
19016 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19017
19018 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
19019 partition number.
19020 (grub_drive): Likewise.
19021
19022 2009-04-13 David S. Miller <davem@davemloft.net>
19023
19024 * kern/sparc64/ieee1275/ieee1275.c: New file.
19025 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
19026 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
19027 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
19028 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
19029 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
19030 grub_ieee1275_alloc_physmem): Declare new exported functions.
19031
19032 * include/grub/sparc64/ieee1275/loader.h: New file.
19033 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19034 * include/grub/sparc64/kernel.h: Likewise.
19035 * loader/sparc64/ieee1275/linux.c: Likewise.
19036
19037 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
19038 (grub_fstest_SOURCES): Likewise.
19039
19040 * util/hostdisk.c (make_device_name): Do not make any assumptions
19041 about the length of drive names.
19042
19043 * kern/dl.c (grub_dl_load_file): Close file immediately when
19044 we are done using it.
19045
19046 2009-04-12 David S. Miller <davem@davemloft.net>
19047
19048 * kern/misc.c (grub_ltoa): Fix cast when handling negative
19049 values. Noticed by Pavel Roskin.
19050
19051 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
19052 target compiler.
19053
19054 * genmk.rb: Add more flexible image type specification, also
19055 pass --strip-unneeded to objcopy.
19056 * conf/i386-pc.rmk: Use *_FORMAT.
19057 * conf/i386-pc.mk: Rebuilt.
19058
19059 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
19060 (OFDISK_HASH_SZ): Define.
19061 (ofdisk_hash): New hash table.
19062 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
19063 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
19064 instead of device phandle which is not unique.
19065
19066 * kern/sparc64/ieee1275/init.c: Delete, replace with...
19067 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
19068 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
19069 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
19070 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
19071 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
19072 GRUB_KERNEL_MACHINE_DATA_END): Define.
19073 (grub_kernel_image_size, grub_total_module_size): Declare.
19074
19075 2009-04-12 Pavel Roskin <proski@gnu.org>
19076
19077 * configure.ac: Change the logic when we check for target tools.
19078 Do it when the target is specified and it's different from the
19079 specified value of the host.
19080
19081 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
19082
19083 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
19084 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
19085 GNU/kFreeBSD. Check if a device is a character device. Use
19086 DIOCGMEDIASIZE to get the size.
19087 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
19088 support for GNU/kFreeBSD.
19089 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
19090 is a character device instead of a block device. Add support for
19091 FreeBSD device names.
19092
19093 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
19094 is a character device instead of a block device.
19095
19096 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
19097 is a character device instead of a block device.
19098
19099 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
19100
19101 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
19102 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
19103 FreeBSD. Check if a device is a character device. Use
19104 DIOCGMEDIASIZE to get the size.
19105 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
19106 support for FreeBSD.
19107 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
19108 is a character device instead of a block device. Add support for
19109 FreeBSD device names.
19110
19111 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
19112 a character device instead of a block device.
19113 (grub_util_check_char_device): New function.
19114
19115 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
19116 a character device instead of a block device.
19117
19118 * include/grub/util/getroot.h (grub_util_check_char_device): New
19119 prototype.
19120
19121 2009-04-11 David S. Miller <davem@davemloft.net>
19122
19123 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
19124 static libgcc.
19125 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
19126 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
19127 function, if present.
19128 (__bswapdi2): Likewise.
19129
19130 * include/grub/sparc64/ieee1275/boot.h: New file.
19131 * boot/sparc64/ieee1275/boot.S: Likewise.
19132 * boot/sparc64/ieee1275/diskboot.S: Likewise.
19133
19134 * kern/misc.c (grub_ltoa): New function.
19135 (grub_vsprintf): Use it to format 'long' integers.
19136
19137 2009-04-10 David S. Miller <davem@davemloft.net>
19138
19139 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
19140 slots are of type grub_ieee1275_cell_t.
19141 (grub_nand_read): Likewise.
19142 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
19143 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
19144 macros are used to compare values in arg/ret block of the call.
19145 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19146 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
19147 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
19148 grub_ieee1275_instance_to_path, grub_ieee1275_write,
19149 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
19150 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
19151 grub_ieee1275_close, grub_ieee1275_set_property,
19152 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
19153 grub_ieee1275_cell_t.
19154 * kern/ieee1275/openfw.c (grub_map): Likewise.
19155 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
19156 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
19157
19158 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
19159 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
19160 (grub_devalias_iterate): Likewise.
19161
19162 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19163
19164 UFS improvements
19165
19166 * fs/ufs.c (INODE_NBLOCKS): new definition
19167 (struct grub_ufs_dirent): added fields for non-BSD dirents
19168 (grub_ufs_get_file_block): fixed double indirect handling
19169 (grub_ufs_lookup_symlink): use more robust way to determine whether
19170 symlink is inline
19171 (grub_ufs_find_file): support for non-BSD dirents
19172 (grub_ufs_dir): support for non-BSD dirents
19173
19174 2009-04-10 Bean <bean123ch@gnail.com>
19175
19176 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
19177 attribute, otherwise the size would be wrong for i386 platform.
19178
19179 * include/grub/pci.h (grub_pci_read_word): New inline function.
19180 (grub_pci_read_byte): Likewise.
19181 (grub_pci_write): Likewise.
19182 (grub_pci_write_word): Likewise.
19183 (grub_pci_write_byte): Likewise.
19184
19185 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
19186
19187 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
19188 (find_framebuf): Scan pci to locate the frame buffer address.
19189
19190 * commands/efi/fixvideo.c: New file.
19191
19192 * commands/efi/loadbios.c: Likewise.
19193
19194 * commands/memrw.c: Likewise.
19195
19196 * util/grub-dumpbios.in: Likewise.
19197
19198 * conf/common.rmk (grub-dumpbios): New utility.
19199 (pkglib_MODULES): New module memrw.mod.
19200 (memrw_mod_SOURCE): New macro.
19201 (memrw_mod_CFLAGS): Likewise.
19202 (memrw_mod_LDFLAGS): Likewise.
19203
19204 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
19205 fixvideo.mod.
19206 (loadbios_mod_SOURCE): New macro.
19207 (loadbios_mod_CFLAGS): Likewise.
19208 (loadbios_mod_LDFLAGS): Likewise.
19209 (fixvideo_mod_SOURCE): Likewise.
19210 (fixvideo_mod_CFLAGS): Likewise.
19211 (fixvideo_mod_LDFLAGS): Likewise.
19212
19213 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
19214 fixvideo.mod.
19215 (loadbios_mod_SOURCE): New macro.
19216 (loadbios_mod_CFLAGS): Likewise.
19217 (loadbios_mod_LDFLAGS): Likewise.
19218 (fixvideo_mod_SOURCE): Likewise.
19219 (fixvideo_mod_CFLAGS): Likewise.
19220 (fixvideo_mod_LDFLAGS): Likewise.
19221
19222 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
19223
19224 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
19225
19226 2009-04-07 David S. Miller <davem@davemloft.net>
19227
19228 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
19229 support for R_SPARC_OLO10 relocations. Fix compile warning for
19230 R_SPARC_WDISP30 case.
19231 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
19232
19233 2009-04-06 Pavel Roskin <proski@gnu.org>
19234
19235 * include/grub/misc.h (ARRAY_SIZE): New macro.
19236 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
19237 New macro.
19238 * loader/i386/linux.c (allocate_pages): Use free_pages().
19239 (grub_linux_unload): Don't use free_pages().
19240 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
19241 wrong index. Treat all other modes as text modes.
19242 (grub_cmd_linux): Initialize vid_mode unconditionally to
19243 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
19244
19245 * commands/help.c (print_command_help): Use cmd->prio, not
19246 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
19247
19248 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19249
19250 Parttool
19251
19252 * parttool/pcpart.c: new file
19253 * commands/parttool.c: likewise
19254 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
19255 (parttool_mod_SOURCES): new variable
19256 (parttool_mod_CFLAGS): likewise
19257 (parttool_mod_LDFLAGS): likewise
19258 (pcpart_mod_SOURCES): likewise
19259 (pcpart_mod_CFLAGS): likewise
19260 (pcpart_mod_LDFLAGS): likewise
19261 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
19262 and parttool/pcpart.c
19263 * conf/i386-efi.rmk: likewise
19264 * conf/i386-ieee1275.rmk: likewise
19265 * conf/i386-pc.rmk: likewise
19266 * conf/powerpc-ieee1275.rmk: likewise
19267 * conf/sparc64-ieee1275.rmk: likewise
19268 * conf/x86_64-ieee1275.rmk: likewise
19269
19270 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19271
19272 Support for mtime and further expandability of dir command
19273
19274 * include/grub/lib/datetime.h: moved to ...
19275 * include/grub/datetime.h: ... moved here and added
19276 declaration of grub_unixtime2datetime. All users updated
19277 * include/grub/fs.h: new syntax for dir and mtime functions in
19278 struct grub_fs
19279 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
19280 and GRUB_FSHELP_FLAGS_MASK
19281 * commands/ls.c (grub_ls_list_files): Write mtime in long format
19282 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
19283 (grub_ext2_mtime): new function
19284 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
19285 (grub_hfsplus_mtime): new function
19286 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
19287 (GRUB_UFS_ATTR_FILE): likewise
19288 (GRUB_UFS_ATTR_LNK): likewise
19289 (struct grub_ufs_sblock): new fields mtime
19290 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
19291 all users updated
19292 (grub_ufs_dir): mtime support
19293 (grub_ufs_mtime): new function
19294 * fs/affs.c (grub_affs_dir): use new dir syntax
19295 * fs/afs.c (grub_afs_dir): likewise
19296 * fs/cpio.c (grub_cpio_dir): likewise
19297 * fs/fat.c (grub_fat_find_dir): likewise
19298 * fs/hfs.c (grub_hfs_dir): likewise
19299 * fs/iso9660.c (grub_iso9660_dir): likewise
19300 * fs/jfs.c (grub_jfs_dir): likewise
19301 * fs/minix.c (grub_minix_dir): likewise
19302 * fs/ntfs.c (grub_ntfs_dir): likewise
19303 * fs/reiserfs.c (grub_reiserfs_dir): likewise
19304 * fs/sfs.c (grub_sfs_dir): likewise
19305 * fs/xfs.c (grub_xfs_dir): likewise
19306 * util/hostfs.c (grub_hostfs_dir): likewise
19307 * lib/datetime.c: moved to ...
19308 * normal/datetime.c: ... moved here
19309 (grub_unixtime2datetime): new function
19310 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
19311 * normal/completion.c (iterate_dir): use new dir syntax
19312 * normal/misc.c (grub_normal_print_device_info): tell the
19313 last modification time of a volume
19314 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
19315 * conf/common.rmk: added lib/datetime.c to ls.mod
19316 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
19317 (normal_mod_SOURCES): likewise
19318 (datetime_mod_SOURCES): Removed lib/datetime.c
19319 * conf/i386-efi.rmk: likewise
19320 * conf/i386-ieee1275.rmk: likewise
19321 * conf/i386-pc.rmk: likewise
19322 * conf/powerpc-ieee1275.rmk: likewise
19323 * conf/sparc64-ieee1275.rmk: likewise
19324 * conf/x86_64-efi.rmk: likewise
19325
19326 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19327
19328 Trim trailing spaces in FAT label and support mtools-like labels
19329
19330 * fs/fat.c (grub_fat_iterate_dir): New function based
19331 on grub_fat_find_dir
19332 (grub_fat_find_dir): use grub_fat_iterate_dir
19333 (grub_fat_label): likewise
19334
19335 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19336
19337 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
19338 and command.h
19339 remove extraneous kernel_elf_HEADERS
19340
19341 2009-04-04 Bean <bean123ch@gnail.com>
19342
19343 * include/grub/util/misc.h: Add dummy function fsync for mingw.
19344
19345 * util/misc.c: Likewise.
19346
19347 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19348
19349 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
19350 instead of grub_printf.
19351
19352 2009-04-03 Robert Millan <rmh@aybabtu.com>
19353
19354 * loader/i386/linux.c (grub_linux_setup_video): Fill
19355 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
19356 values from `mode info' structure instead of hardcoded
19357 values.
19358
19359 2009-04-01 Pavel Roskin <proski@gnu.org>
19360
19361 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
19362 unused now.
19363 * genmk.rb: Likewise.
19364 * configure.ac: Likewise.
19365
19366 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
19367
19368 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
19369 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
19370
19371 2009-04-01 David S. Miller <davem@davemloft.net>
19372
19373 * normal/sparc64/setjmp.S: Fix setjmp implementation.
19374 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
19375 (grub_setjmp): Mark with 'returns_twice' attribute.
19376 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
19377 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
19378 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
19379
19380 2009-04-01 Robert Millan <rmh@aybabtu.com>
19381
19382 Reapply fix from 2008-07-28 which was accidentally reverted; also
19383 perform the same fix to a similar check in same function.
19384
19385 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19386 with the same number are found, just use issue a warning with
19387 grub_dprintf(), as this error has been reported to be non-fatal.
19388
19389 2009-03-31 Pavel Roskin <proski@gnu.org>
19390
19391 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
19392 for cross-compilation.
19393
19394 2009-03-30 Robert Millan <rmh@aybabtu.com>
19395
19396 Fix i386-ieee1275 build.
19397
19398 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
19399 Remove declaration.
19400
19401 2009-03-30 Pavel Roskin <proski@gnu.org>
19402
19403 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
19404 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
19405 zero-terminated, rely only on the strlen value. Fix comparison
19406 of strings differing in length.
19407
19408 2009-03-30 Robert Millan <rmh@aybabtu.com>
19409
19410 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
19411 checking for abi version. Improve error messages on BIOS to notify
19412 user about `linux16' command.
19413
19414 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19415
19416 Leak fixes
19417
19418 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
19419 in case of collision
19420 * disk/scsi.c (grub_scsi_open): free scsi in case of error
19421
19422 2009-03-29 Robert Millan <rmh@aybabtu.com>
19423
19424 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
19425 set `vid_mode' accordingly.
19426 (grub_linux_boot): Process `vid_mode' and set video mode.
19427
19428 2009-03-29 Robert Millan <rmh@aybabtu.com>
19429
19430 * util/grub.d/10_linux.in (linux_entry): New function.
19431 Factorize generation of Linux boot entries.
19432
19433 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
19434
19435 Make the format of Environment Block plain text. The boot loader
19436 part is not tested well yet.
19437
19438 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
19439 (buffer): Removed.
19440 (envblk): Likewise.
19441 (usage): Remove "info" and "clear". Add "unset". Update the
19442 description of "set", as this does not delete variables any
19443 longer.
19444 (create_envblk_file): Complete rewrite.
19445 (open_envblk_file): Likewise.
19446 (cmd_info): Removed.
19447 (cmd_list): Likewise.
19448 (cmd_set): Likewise.
19449 (cmd_clear): Likewise.
19450 (list_variables): New function.
19451 (write_envblk): Likewise.
19452 (set_variables): Likewise.
19453 (unset_variables): Likewise.
19454 (main): Complete rewrite.
19455
19456 * commands/loadenv.c (buffer): Removed.
19457 (envblk): Likewise.
19458 (open_envblk_file): New function.
19459 (read_envblk_file): Complete rewrite.
19460 (grub_cmd_load_env): Likewise.
19461 (grub_cmd_list_env): Likewise.
19462 (struct blocklist): New struct.
19463 (free_blocklists): New function.
19464 (check_blocklists): Likewise.
19465 (write_blocklists): Likewise.
19466 (grub_cmd_save_env): Complete rewrite.
19467
19468 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
19469 a plain text signature.
19470 (GRUB_ENVBLK_MAXLEN): Removed.
19471 (struct grub_envblk): Complete rewrite.
19472 (grub_envblk_find): Removed.
19473 (grub_envblk_insert): Likewise.
19474 (grub_envblk_open): New prototype.
19475 (grub_envblk_set): Likewise.
19476 (grub_envblk_delete): Put const to VALUE.
19477 (grub_envblk_iterate): Put const to NAME and VALUE.
19478 (grub_envblk_close): New prototype.
19479 (grub_envblk_buffer): New inline function.
19480 (grub_envblk_size): Likewise.
19481
19482 * lib/envblk.c: Include grub/mm.h.
19483 (grub_env_find): Removed.
19484 (grub_envblk_open): New function.
19485 (grub_envblk_close): Likewise.
19486 (escaped_value_len): Likewise.
19487 (find_next_line): Likewise.
19488 (grub_envblk_insert): Removed.
19489 (grub_envblk_set): New function.
19490 (grub_envblk_delete): Complete rewrite.
19491 (grub_envblk_iterate): Likewise.
19492
19493 2009-03-28 Robert Millan <rmh@aybabtu.com>
19494
19495 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
19496 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
19497 variables. Use 16-bit loader.
19498 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
19499 loader.
19500 * kern/i386/loader.S (grub_linux_boot): Rename to ...
19501 (grub_linux16_boot): ... this. Update all users.
19502 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
19503 (grub_linux_boot): ... this. Update all users.
19504
19505 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
19506 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
19507 commands to `linux16' and `initrd16'.
19508 (GRUB_MOD_FINI(linux)): Rename to ...
19509 (GRUB_MOD_FINI(linux16)): ... this.
19510
19511 2009-03-24 Pavel Roskin <proski@gnu.org>
19512
19513 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
19514 not just for compilation.
19515
19516 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
19517
19518 Move multiboot helper out of kernel
19519
19520 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
19521 `loader/i386/multiboot_helper.S'.
19522 * conf/i386-coreboot.rmk: Likewise
19523 * conf/i386-ieee1275.rmk: Likewise
19524
19525 * kern/i386/loader.S: Move multiboot helpers from here...
19526 * loader/i386/multiboot_helper.S: ...moved here
19527 * include/grub/i386/loader.h: Move declarations of multiboot
19528 helpers from here...
19529 * include/grub/i386/multiboot.h: ...moved here
19530 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
19531
19532 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19533
19534 * kern/env.c (grub_env_context_open): Added an argument to specify
19535 whether a new context inherits exported variables from current
19536 one. This is useful when making a sandbox to interpret a config
19537 file.
19538 All callers updated.
19539
19540 * include/grub/env.h (grub_env_context_open): Updated the prototype.
19541
19542 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19543
19544 * kern/env.c (grub_env_context_close): Fix memory leaks.
19545
19546 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19547
19548 * normal/main.c (grub_normal_execute): Added an argument
19549 BATCH to specify if an interactive interface should be provided
19550 after reading a config file.
19551 All callers updated.
19552 (read_command_list): Prevent being executed twice.
19553 (read_fs_list): Likewise.
19554
19555 * include/grub/normal.h (grub_normal_execute): Updated the
19556 prototype.
19557
19558 2009-03-22 Pavel Roskin <proski@gno.org>
19559
19560 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
19561 _start.
19562 * kern/i386/pc/startup.S: Likewise.
19563 * kern/i386/efi/startup.S: Likewise.
19564 * kern/i386/ieee1275/startup.S: Likewise.
19565 * kern/i386/coreboot/startup.S: Likewise.
19566 * kern/x86_64/efi/startup.S: Likewise.
19567
19568 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
19569 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
19570 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
19571
19572 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
19573
19574 Bugfixes in multiboot for bugs uncovered by solaris kernel.
19575
19576 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
19577 limit detection.
19578 Use vaddr of correct segment for entry_point.
19579
19580 2009-03-21 Bean <bean123ch@gmail.com>
19581
19582 * commands/blocklist.c: Add include file <grub/command.h>, remove
19583 <grub/normal.h> and <grub/arg.h>.
19584 (grub_cmd_blocklist): Use the new command interface.
19585 (GRUB_MOD_INIT): Likewise.
19586 (GRUB_MOD_FINI): Likewise.
19587 * commands/boot.c: Likewise.
19588 * commands/cat.c: Likewise.
19589 * commands/cmp.c: Likewise.
19590 * commands/configfile.c: Likewise.
19591 * commands/crc.c: Likewise.
19592 * commands/echo.c: Likewise.
19593 * commands/halt.c: Likewise.
19594 * commands/handler.c: Likewise.
19595 * commands/hdparm.c: Likewise.
19596 * commands/help.c: Likewise.
19597 * commands/hexdump.c: Likewise.
19598 * commands/loadenv.c: Likewise.
19599 * commands/ls.c: Likewise.
19600 * commands/lsmmap.c: Likewise.
19601 * commands/lspci.c: Likewise.
19602 * commands/loadenv.c: Likewise.
19603 * commands/read.c: Likewise.
19604 * commands/reboot.c: Likewise.
19605 * commands/search.c: Likewise.
19606 * commands/sleep.c: Likewise.
19607 * commands/test.c: Likewise.
19608 * commands/usbtest.c: Likewise.
19609 * commands/videotest.c: Likewise.
19610 * commands/i386/cpuid.c: Likewise.
19611 * commands/i386/pc/halt.c: Likewise.
19612 * commands/i386/pc/play.c: Likewise.
19613 * commands/i386/pc/pxecmd.c: Likewise.
19614 * commands/i386/pc/vbeinfo.c: Likewise.
19615 * commands/i386/pc/vbetest.c: Likewise.
19616 * commands/ieee1275/suspend.c: Likewise.
19617 * disk/loopback.c: Likewise.
19618 * font/font_cmd.c: Likewise.
19619 * hello/hello.c: Likewise.
19620 * loader/efi/appleloader.c: Likewise.
19621 * loader/efi/chainloader.c: Likewise.
19622 * loader/i386/bsd.c: Likewise.
19623 * loader/i386/efi/linux.c: Likewise.
19624 * loader/i386/ieee1275/linux.c: Likewise.
19625 * loader/i386/linux.c: Likewise.
19626 * loader/i386/pc/chainloader.c: Likewise.
19627 * loader/i386/pc/linux.c: Likewise.
19628 * loader/powerpc/ieee1275/linux.c: Likewise.
19629 * loader/multiboot_loader.c: Likewise.
19630 * term/gfxterm.c: Likewise.
19631 * term/i386/pc/serial.c: Likewise.
19632 * term/terminfo.c: Likewise.
19633
19634 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
19635 * term/i386/pc/vga.c: Likewise.
19636 * video/readers/jpeg.c: Likewise.
19637 * video/readers/png.c: Likewise.
19638 * video/readers/tga.c: Likewise.
19639
19640 * util/grub-fstest (cmd_loopback): Removed.
19641 (cmd_blocklist): Likewise.
19642 (cmd_ls): Likewise.
19643 (grub_register_command): Likewise.
19644 (grub_unregister_command): Likewise.
19645 (execute_command): Use grub_command_find to locate command and execute
19646 it.
19647
19648 * include/grub/efi/chainloader.h: Removed.
19649 * loader/efi/chainloader_normal.c: Likewise.
19650 * loader/i386/bsd_normal.c: Likewise.
19651 * loader/i386/pc/chainloader_normal.c: Likewise.
19652 * loader/i386/pc/multiboot_normal.c: Likewise.
19653 * loader/linux_normal.c: Likewise.
19654 * loader/multiboot_loader_normal.c: Likewise.
19655 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
19656
19657 * gencmdlist.sh: Scan new registration command grub_register_extcmd
19658 and grub_register_command_p1.
19659
19660 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
19661 kern/command.c, lib/arg.c and commands/extcmd.c.
19662 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
19663 (minicmd_mod_SOURCES): New variable.
19664 (minicmd_mod_CFLAGS): Likewise.
19665 (minicmd_mod_LDFLAGS): Likewise.
19666 (extcmd_mod_SOURCES): Likewise.
19667 (extcmd_mod_CFLAGS): Likewise.
19668 (extcmd_mod_LDFLAGS): Likewise.
19669 (boot_mod_SOURCES): Removed.
19670 (boot_mod_CFLAGS): Likewise.
19671 (boot_mod_LDFLAGS): Likewise.
19672
19673 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
19674 kern/corecmd.c.
19675 (kernel_img_HEADERS): Add command.h.
19676 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
19677 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
19678 and lib/arg.c.
19679 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
19680 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
19681 remove the corresponding normal mode command.
19682 (normal_mod_SOURCES): Remove normal/arg.c.
19683 * conf/i386-coreboot.rmk: Likewise.
19684 * conf/i386-efi.rmk: Likewise.
19685 * conf/i386-ieee1275.rmk: Likewise.
19686 * conf/powerpc-ieee1275.rmk: Likewise.
19687 * conf/x86_64-efi.rmk: Likewise.
19688
19689 * include/grub/arg.h: Move from here ...
19690 * include/grub/lib/arg.h: ... to here.
19691
19692 * normal/arg.c: Move from here ...
19693 * lib/arg.c: ... to here.
19694
19695 * commands/extcmd.c: New file.
19696 * commands/minicmd.c: Likewise.
19697 * include/grub/command.h: Likewise.
19698 * include/grub/extcmd.h: Likewise.
19699 * kern/command.c: Likewise.
19700 * kern/corecmd.c: Likewise.
19701
19702 * kern/list.c (grub_list_iterate): Return int instead of void.
19703 (grub_list_insert): New function.
19704 (grub_prio_list_insert): Likewise.
19705
19706 * kern/rescue.c (grub_rescue_command): Removed.
19707 (grub_rescue_command_list): Likewise.
19708 (grub_rescue_register_command): Likewise.
19709 (grub_rescue_unregister_command): Likewise.
19710 (grub_rescue_cmd_boot): Move to minicmd.c
19711 (grub_rescue_cmd_help): Likewise.
19712 (grub_rescue_cmd_info): Likewise.
19713 (grub_rescue_cmd_boot): Likewise.
19714 (grub_rescue_cmd_testload): Likewise.
19715 (grub_rescue_cmd_dump): Likewise.
19716 (grub_rescue_cmd_rmmod): Likewise.
19717 (grub_rescue_cmd_lsmod): Likewise.
19718 (grub_rescue_cmd_exit): Likewise.
19719 (grub_rescue_print_devices): Moved to corecmd.c.
19720 (grub_rescue_print_files): Likewise.
19721 (grub_rescue_cmd_ls): Likewise.
19722 (grub_rescue_cmd_insmod): Likewise.
19723 (grub_rescue_cmd_set): Likewise.
19724 (grub_rescue_cmd_unset): Likewise.
19725 (attempt_normal_mode): Use grub_command_find to get normal module.
19726 (grub_enter_rescue_mode): Use grub_register_core_commands to register
19727 commands, remove grub_rescue_register_command calls.
19728
19729 * normal/command.c (grub_register_command): Removed.
19730 (grub_unregister_command): Likewise.
19731 (grub_command_find): Likewise.
19732 (grub_iterate_commands): Likewise.
19733 (rescue_command): Likewise.
19734 (export_command): Moved to corecmd.c.
19735 (set_command): Removed.
19736 (unset_command): Likewise.
19737 (insmod_command): Likewise.
19738 (rmmod_command): Likewise.
19739 (lsmod_command): Likewise.
19740 (grub_command_init): Likewise.
19741
19742 * normal/completion.c (iterate_command): Use cmd->prio to check for
19743 active command.
19744 (complete_arguments): Use grub_extcmd_t structure to find options.
19745 (grub_normal_do_completion): Change function grub_iterate_commands to
19746 grub_command_iterate.
19747
19748 * normal/execute.c (grub_script_execute_cmd): No need to parse
19749 argument here.
19750
19751 * normal/main.c (grub_dyncmd_dispatcher): New function.
19752 (read_command_list): Register unload commands as dyncmd.
19753 (grub_cmd_normal): Use new command interface, register rescue,
19754 unregister normal at entry, register normal, unregister rescue at exit.
19755
19756 * include/grub/list.h (grub_list_test_t): New type.
19757 (grub_list_iterate): Return int instead of void.
19758 (grub_list_insert): New function.
19759 (GRUB_AS_NAMED_LIST_P): New macro.
19760 (GRUB_AS_PRIO_LIST): Likewise.
19761 (GRUB_AS_PRIO_LIST_P): Likewise.
19762 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
19763 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
19764 (grub_prio_list): New structure.
19765 (grub_prio_list_insert): New function.
19766 (grub_prio_list_remove): New inline function.
19767
19768 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
19769 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
19770 (GRUB_COMMAND_FLAG_MENU): Likewise.
19771 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19772 (GRUB_COMMAND_FLAG_TITLE): Likewise.
19773 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19774 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
19775 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
19776 (grub_command): Likewise.
19777 (grub_register_command): Likewise.
19778 (grub_command_find): Likewise.
19779 (grub_iterate_commands): Likewise.
19780 (grub_command_init): Likewise.
19781 (grub_arg_parse): Likewise.
19782 (grub_arg_show_help): Likewise.
19783
19784 * include/grub/rescue.h (grub_rescue_register_command): Removed.
19785 (grub_rescue_unregister_command): Likewise.
19786
19787 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
19788 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
19789 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
19790
19791 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
19792 grub_rescue_cmd_initrd.
19793 * include/grub/i386/loader.h: Likewise.
19794 * include/grub/x86_64/loader.h: Likewise.
19795
19796 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
19797
19798 2009-03-21 Bean <bean123ch@gmail.com>
19799
19800 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
19801 instead of stat in mingw environment.
19802
19803 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
19804
19805 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
19806
19807 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
19808 AC_CONFIG_LINKS.
19809
19810 2009-03-21 Bean <bean123ch@gmail.com>
19811
19812 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
19813 out of range error.
19814
19815 2009-03-18 Michel Dänzer <michel@daenzer.net>
19816
19817 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
19818 checking inode flags for EXT4_EXTENTS_FLAG.
19819
19820 2009-03-18 Robert Millan <rmh@aybabtu.com>
19821
19822 * loader/i386/linux.c: Include `<grub/video.h>' and
19823 `<grub/i386/pc/vbe.h>'..
19824 (grub_linux_setup_video): New function. Loosely based on the EFI one.
19825 (grub_linux32_boot): Attempt to configure video settings with
19826 grub_linux_setup_video().
19827 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
19828 to avoid grub_console_fini() which would step out of graphical mode
19829 unconditionally.
19830
19831 2009-03-14 Robert Millan <rmh@aybabtu.com>
19832
19833 Fix build on powerpc.
19834 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
19835
19836 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
19837
19838 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
19839 background image command.
19840
19841 2009-03-12 Colin D Bennett <colin@gibibit.com>
19842
19843 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
19844 (grub_gfxterm_putchar): Extract pairs of identical calls to
19845 draw_cursor out of conditional blocks.
19846
19847 2009-03-11 Pavel Roskin <proski@gnu.org>
19848
19849 * fs/hfs.c (grub_hfs_strncasecmp): New function.
19850 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
19851
19852 2009-03-11 Robert Millan <rmh@aybabtu.com>
19853
19854 * loader/i386/multiboot_elfxx.c
19855 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
19856
19857 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
19858
19859 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
19860 `kern/handler.c'.
19861
19862 2009-03-11 Robert Millan <rmh@aybabtu.com>
19863
19864 * loader/i386/multiboot.c (code_size): New variable.
19865 (grub_multiboot): Define offsets by adding to `code_size' rather
19866 than subtracting from `grub_multiboot_payload_size'. Provide
19867 4-byte alignment to MBI and others by increasing
19868 `boot_loader_name_length' appropriately.
19869
19870 * loader/i386/multiboot_elfxx.c
19871 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
19872
19873 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
19874
19875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
19876 `fs/ext2.c'.
19877
19878 2009-03-08 Robert Millan <rmh@aybabtu.com>
19879
19880 Make loader/i386/linux.c usable on i386-pc again.
19881
19882 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
19883 memory to heap.
19884 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
19885 `#error' stanza.
19886
19887 2009-03-07 Bean <bean123ch@gmail.com>
19888
19889 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
19890 allocation.
19891
19892 2009-03-06 Robert Millan <rmh@aybabtu.com>
19893
19894 Fix display issue on terminals with screen size other than 80x25
19895 (e.g. gfxterm with resolution higher than 640x480).
19896
19897 * normal/main.c (grub_normal_init_page): Display title text in a
19898 position relative to the center of the terminal instead of relying
19899 on a hardcoded offset.
19900
19901 2009-03-04 Robert Millan <rmh@aybabtu.com>
19902
19903 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
19904 installed.
19905
19906 * Makefile.in (host_kernel): New variable.
19907 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
19908 scripts instead of just the windows one.
19909 * configure.ac: Initialize and AC_SUBST `host_kernel'.
19910
19911 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
19912
19913 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
19914 `kern/handler.c'.
19915 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19916 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19917 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19918 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19919 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19920 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19921
19922 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
19923
19924 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
19925 or if there's no space for the disk label and print the partition number on a
19926 invalid magic.
19927
19928 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
19929
19930 * util/misc.c: Include <time.h>.
19931 (grub_millisleep): New function.
19932
19933 2009-03-04 Bean <bean123ch@gmail.com>
19934
19935 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
19936 another option -mno-red-zone.
19937
19938 * commands/handler.c: Change module description.
19939
19940 * kern/handler.c: Add missing space at the end of description line.
19941
19942 * kern/list.c: Likewise.
19943
19944 2009-03-03 Robert Millan <rmh@aybabtu.com>
19945
19946 Move more components to the relocation area, and fix mbi pointer
19947 handling to use the destination rather than the origin (thanks to
19948 Vladimir Serbinenko for spotting).
19949
19950 * loader/i386/multiboot.c (mbi_dest): New variable.
19951 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
19952 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
19953 relocation area.
19954
19955 2009-03-01 Bean <bean123ch@gmail.com>
19956
19957 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
19958 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
19959 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
19960 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
19961
19962 * loader/i386/efi/linux.c (acpi_guid): New variable.
19963 (acpi_guid): Likewise.
19964 (EBDA_SEG_ADDR): New constant.
19965 (LOW_MEM_ADDR): Likewise.
19966 (FAKE_EBDA_SEG): Likewise.
19967 (fake_bios_data): New function.
19968 (grub_linux_boot): Call fake_bios_data.
19969
19970 2009-03-01 Bean <bean123ch@gmail.com>
19971
19972 * commands/terminal.c: Removed.
19973
19974 * commands/handler.c: New file.
19975
19976 * include/grub/list.h: Likewise.
19977
19978 * include/grub/handler.h: Likewise.
19979
19980 * kern/list.c: Likewise.
19981
19982 * kern/handler.c: Likewise.
19983
19984 * kern/term.h: Include header file <grub/handler.h>.
19985 (grub_term_input): Move next field to the beginning.
19986 (grub_term_output): Likewise.
19987 (grub_term_input_class): New variable.
19988 (grub_term_output_class): Likewise.
19989 (grub_term_register_input): Changed to inline function.
19990 (grub_term_register_output): Likewise.
19991 (grub_term_unregister_input): Likewise.
19992 (grub_term_unregister_output): Likewise.
19993 (grub_term_set_current_input): Likewise.
19994 (grub_term_set_current_output): Likewise.
19995 (grub_term_get_current_input): Likewise.
19996 (grub_term_get_current_output): Likewise.
19997 (grub_term_iterate_input): Removed.
19998 (grub_term_iterate_output): Likewise.
19999
20000 * kern/term.c (grub_term_list_input): Removed.
20001 (grub_term_list_output): Likewise.
20002 (grub_term_input_class): New variable.
20003 (grub_term_output_class): Likewise.
20004 (grub_cur_term_input): Change variable as macro.
20005 (grub_cur_term_output): Likewise.
20006 (grub_term_register_input): Removed.
20007 (grub_term_register_output): Likewise.
20008 (grub_term_unregister_input): Likewise.
20009 (grub_term_unregister_output): Likewise.
20010 (grub_term_set_current_input): Likewise.
20011 (grub_term_set_current_output): Likewise.
20012 (grub_term_iterate_input): Likewise.
20013 (grub_term_iterate_output): Likewise.
20014 (grub_term_get_current_input): Likewise.
20015 (grub_term_get_current_output): Likewise.
20016
20017 * util/grub-editenv.c: Include header file <grub/handler.h>.
20018 (grub_term_get_current_input): Removed.
20019 (grub_term_get_current_output): Likewise.
20020 (grub_term_input_class): New variable.
20021 (grub_term_output_class): Likewise.
20022
20023 * util/grub-fstest.c (grub_term_get_current_input): Removed.
20024 (grub_term_get_current_output): Likewise.
20025 (grub_term_input_class): New variable.
20026 (grub_term_output_class): Likewise.
20027
20028 * util/grub-probe.c (grub_term_get_current_input): Removed.
20029 (grub_term_get_current_output): Likewise.
20030 (grub_term_input_class): New variable.
20031 (grub_term_output_class): Likewise.
20032
20033 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
20034 (grub_term_get_current_output): Likewise.
20035 (grub_term_input_class): New variable.
20036 (grub_term_output_class): Likewise.
20037
20038 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
20039 (terminal_mod_SOURCES): Likewise.
20040 (terminal_mod_CFLAGS): Likewise.
20041 (terminal_mod_LDFLAGS): Likewise.
20042
20043 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
20044 handler.c.
20045 (kernel_img_SOURCES): Add list.c and handler.c.
20046 (kernel_img_HEADERS): Add list.h and handler.h.
20047
20048 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20049 handler.c.
20050 (kernel_mod_SOURCES): Add list.c and handler.c.
20051 (kernel_mod_HEADERS): Add list.h and handler.h.
20052
20053 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
20054 handler.c.
20055 (kernel_elf_SOURCES): Add list.c and handler.c.
20056 (kernel_elf_HEADERS): Add list.h and handler.h.
20057
20058 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20059 handler.c.
20060 (kernel_elf_SOURCES): Add list.c and handler.c.
20061 (kernel_elf_HEADERS): Add list.h and handler.h.
20062
20063 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20064 handler.c.
20065 (kernel_mod_SOURCES): Add list.c and handler.c.
20066 (kernel_mod_HEADERS): Add list.h and handler.h.
20067
20068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20069 handler.c.
20070 (kernel_elf_SOURCES): Add list.c and handler.c.
20071 (kernel_elf_HEADERS): Add list.h and handler.h.
20072
20073 2009-02-27 Robert Millan <rmh@aybabtu.com>
20074
20075 Factorize elf32 / elf64 code in Multiboot loader. This will
20076 prevent it from getting out of sync again.
20077
20078 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
20079 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
20080 grub_multiboot_load_elf64): Move from here ...
20081 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
20082 grub_multiboot_load_elf): ... to here (new file).
20083
20084 2009-02-27 Robert Millan <rmh@aybabtu.com>
20085
20086 * util/grub.d/10_linux.in: Rename "single-user mode" to
20087 "recovery mode".
20088
20089 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
20090
20091 Don't leak in SCSI code.
20092 * disk/scsi.c (grub_scsi_close): free `scsi'.
20093
20094 2009-02-27 Robert Millan <rmh@aybabtu.com>
20095
20096 * loader/i386/pc/multiboot.c: Move from here ...
20097 * loader/i386/multiboot.c: ... to here. Update all users.
20098
20099 2009-02-27 Robert Millan <rmh@aybabtu.com>
20100
20101 Patch from Alexandre Bique <bique.alexandre@gmail.com>
20102 * util/i386/pc/grub-setup.c (setup): Fix directory path.
20103
20104 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
20105
20106 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
20107 b-tree.
20108
20109 2009-02-27 Robert Millan <rmh@aybabtu.com>
20110
20111 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
20112 `0x' qualifier as 0 when base is specified as parameter).
20113
20114 2009-02-24 Bean <bean123ch@gmail.com>
20115
20116 * configure.ac: Check for -mcmodel=large in x86_64 target.
20117
20118 * include/grub/efi/api.h (efi_call_10): New macro.
20119 (efi_wrap_10): New function.
20120
20121 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
20122 (GRUB_PE32_REL_BASED_HIGH): Likewise.
20123 (GRUB_PE32_REL_BASED_LOW): Likewise.
20124 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
20125 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
20126 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
20127 (GRUB_PE32_REL_BASED_SECTION): Likewise.
20128 (GRUB_PE32_REL_BASED_REL): Likewise.
20129 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
20130 (GRUB_PE32_REL_BASED_DIR64): Likewise.
20131 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
20132
20133 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
20134 issue.
20135
20136 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
20137 (efi_wrap_10): New function.
20138
20139 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
20140
20141 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
20142 MB/MBP model (NV chipset).
20143 (devdata_devs): Add devpath_5 to the list.
20144
20145 * load/i386/efi/linux.c (video_base): Remove variable.
20146 (RGB_MASK): New macro.
20147 (RGB_MAGIC): Likewise.
20148 (LINE_MIN): Likewise.
20149 (LINE_MAX): Likewise.
20150 (FBTEST_STEP): Likewise.
20151 (FBTEST_COUNT): Likewise.
20152 (fb_list): New variable.
20153 (grub_find_video_card): Remove function.
20154 (find_framebuf): New function.
20155 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
20156 line length.
20157
20158 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
20159 problem for x86_64.
20160
20161 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
20162
20163 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
20164
20165 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
20166 coding tool name.
20167
20168 2009-02-22 Robert Millan <rmh@aybabtu.com>
20169
20170 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
20171 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
20172 in our relocation, instead of using it directly from heap. Also
20173 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
20174
20175 2009-02-21 Robert Millan <rmh@aybabtu.com>
20176
20177 Implement USB keyboard support (based on patch by Marco Gerards)
20178
20179 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
20180 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
20181 (usb_keyboard_mod_LDFLAGS): New variables.
20182
20183 * term/usb_keyboard.c: New file.
20184
20185 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20186
20187 Corrected wrong declaration
20188
20189 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
20190
20191 2009-02-14 Christian Franke <franke@computer.org>
20192
20193 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
20194 (grub_lspci_iter): Print class code and programming interface byte.
20195
20196 2009-02-14 Christian Franke <franke@computer.org>
20197
20198 * gendistlist.sh: Ignore `.svn' directories.
20199
20200 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
20201
20202 * fs/fat.c: Add 2009 to Copyright line.
20203
20204 2009-02-14 Christian Franke <franke@computer.org>
20205
20206 * commands/hdparm.c: New file. Provides `hdparm' command
20207 which sends ATA commands via grub_disk_ata_pass_through ().
20208
20209 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
20210
20211 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
20212 and <grub/cpu/io.h> to include/grub/ata.h.
20213 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
20214 (GRUB_CDROM_SECTOR_SIZE): Remove.
20215 (GRUB_ATA_*): Move to include/grub/ata.h.
20216 (GRUB_ATAPI_*): Likewise.
20217 (enum grub_ata_commands): Likewise.
20218 (enum grub_ata_timeout_milliseconds): Likewise.
20219 (struct grub_ata_device): Likewise.
20220 (grub_ata_regset): Likewise.
20221 (grub_ata_regget): Likewise.
20222 (grub_ata_regset2): Likewise.
20223 (grub_ata_regget2): Likewise.
20224 (grub_ata_check_ready): Likewise.
20225 (grub_ata_wait_not_busy): Remove static, exported in
20226 include/grub/ata.h.
20227 (grub_ata_wait_drq): Likewise.
20228 (grub_ata_pio_read): Likewise.
20229
20230 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
20231 function for hdparm.mod.
20232
20233 * include/grub/ata.h: New file, contains declarations from
20234 disk/ata.c.
20235 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
20236
20237 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
20238 (grub_disk_ata_pass_through): New exported variable.
20239
20240 * kern/disk.c (grub_disk_ata_pass_through): New variable.
20241
20242 2009-02-13 Colin D Bennett <colin@gibibit.com>
20243
20244 Support multiple fallback entries, and provide an API to support
20245 executing default+fallback menu entries. Renamed the `terminal' menu
20246 viewer to `text'.
20247
20248 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
20249 variable declaration.
20250 (grub_menu_execute_callback): New structure declaration.
20251 (grub_menu_execute_callback_t): New typedef.
20252 (grub_menu_execute_with_fallback): New function declaration.
20253 (grub_menu_get_entry): Likewise.
20254 (grub_menu_get_timeout): Likewise.
20255 (grub_menu_set_timeout): Likewise.
20256
20257 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
20258
20259 * normal/menu.c (grub_wait_after_message): Moved to
20260 `normal/menu_text.c'.
20261 (draw_border): Likewise.
20262 (print_message): Likewise.
20263 (print_entry): Likewise.
20264 (print_entries): Likewise.
20265 (grub_menu_init_page): Likewise.
20266 (get_entry_number): Likewise.
20267 (print_timeout): Likewise.
20268 (run_menu): Likewise.
20269 (grub_menu_execute_entry): Likewise.
20270 (show_text_menu): Likewise.
20271 (get_and_remove_first_entry_number): New function.
20272 (grub_menu_execute_with_fallback): Likewise.
20273 (get_entry): Renamed to ...
20274 (grub_menu_get_entry): .. this and made it global.
20275 (get_timeout): Renamed to ...
20276 (grub_menu_get_timeout): ... this and made it global.
20277 (set_timeout): Renamed to ...
20278 (grub_menu_set_timeout): ... this and made it global.
20279 (grub_normal_terminal_menu_viewer): Renamed to ...
20280 (grub_normal_text_menu_viewer): ... this.
20281
20282 * normal/menu_text.c: New file. Extracted text-menu-specific code
20283 from normal/menu.c.
20284
20285 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
20286 (normal_mod_SOURCES): Likewise.
20287
20288 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20289 (normal_mod_SOURCES): Likewise.
20290
20291 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20292 (normal_mod_SOURCES): Likewise.
20293
20294 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
20295 (normal_mod_SOURCES): Likewise.
20296
20297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20298 (normal_mod_SOURCES): Likewise.
20299
20300 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20301 (normal_mod_SOURCES): Likewise.
20302
20303 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20304 (normal_mod_SOURCES): Likewise.
20305
20306 2009-02-11 Robert Millan <rmh@aybabtu.com>
20307
20308 * util/grub.d/00_header.in: Update old reference to `font' command.
20309
20310 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
20311
20312 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
20313
20314 Based on patch from Javier Martín.
20315
20316 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20317
20318 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
20319 to avoid false positives with FAT.
20320 (grub_fstest_SOURCES): Likewise.
20321 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20322 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20323 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20324 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20325 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20326 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20327
20328 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20329
20330 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
20331 bpb.version_specific.fat12_or_fat16.fstype and
20332 bpb.version_specific.fat32.fstype.
20333
20334 2009-02-08 Robert Millan <rmh@aybabtu.com>
20335
20336 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
20337
20338 2009-02-08 Robert Millan <rmh@aybabtu.com>
20339
20340 * Makefile.in (host_os, host_cpu): New variables.
20341 (target_os): Remove. Update all users.
20342
20343 2009-02-08 Marco Gerards <marco@gnu.org>
20344
20345 * Makefile.in (enable_grub_emu_usb): New variable.
20346 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
20347 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
20348 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
20349 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
20350 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
20351 `usbtest.mod' and `usbms.mod'.
20352 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
20353 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
20354 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
20355 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
20356 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
20357 variables.
20358
20359 * disk/usbms.c: New file.
20360
20361 * include/grub/usb.h: Likewise.
20362
20363 * include/grub/usbtrans.h: Likewise.
20364
20365 * include/grub/usbdesc.h: Likewise.
20366
20367 * bus/usb/usbtrans.c: Likewise.
20368
20369 * bus/usb/ohci.c: Likewise.
20370
20371 * bus/usb/uhci.c: Likewise.
20372
20373 * bus/usb/usbhub.c: Likewise.
20374
20375 * bus/usb/usb.c: Likewise.
20376
20377 * commands/usbtest.c: Likewise.
20378
20379 * util/usb.c: Likewise.
20380
20381 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
20382
20383 * configure.ac: Test for libusb presence.
20384
20385 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
20386
20387 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
20388
20389 * kern/mm.c: Add more comments.
20390
20391 2009-02-08 Robert Millan <rmh@aybabtu.com>
20392
20393 Patch from Javier Martín.
20394 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
20395 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
20396
20397 2009-02-08 Robert Millan <rmh@aybabtu.com>
20398
20399 * fs/cpio.c: Split tar functionality to ...
20400 * fs/tar.c: ... here (new file). Update all users.
20401
20402 2009-02-07 Robert Millan <rmh@aybabtu.com>
20403
20404 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
20405 backward-incompatible features.
20406
20407 Based on patch from Javier Martín, with some adjustments.
20408
20409 2009-02-07 Michael Scherer <misc@mandriva.org>
20410
20411 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
20412
20413 2009-02-07 Robert Millan <rmh@aybabtu.com>
20414
20415 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
20416 position of `disk/lvm.c' to ensure grub_init_all() always picks it
20417 after the RAID stuff.
20418
20419 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
20420
20421 Fixes problem when running vbetest command as reported by
20422 Vladimir Serbinenko <phcoder@gmail.com>.
20423
20424 * (grub_vbe_set_video_mode): Fixed problem with text modes.
20425
20426 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
20427
20428 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
20429 /dev/md/NpN style mdraid devices.
20430
20431 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20432
20433 * util/unifont2pff.rb: Remove.
20434
20435 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20436
20437 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
20438 `#'.
20439
20440 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20441
20442 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
20443 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20444 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20445 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20446 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20447 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20448 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20449
20450 2009-02-02 Christian Franke <franke@computer.org>
20451
20452 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
20453
20454 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
20455
20456 * INSTALL: Note that we now require at least autoconf 2.59 and
20457 that LZO is optional.
20458
20459 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20460
20461 Base on patch on bug #24154 created by Tomas Tintera
20462 <trosos@seznam.cz>.
20463
20464 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
20465
20466 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20467
20468 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
20469 <bero@arklinux.org>.
20470
20471 * normal/parser.y (script_init): Add missing semicolon.
20472
20473 2009-01-31 Colin D Bennett <colin@gibibit.com>
20474
20475 * normal/main.c: Add include to grub/menu_viewer.h.
20476 (free_menu_entry_classes): Added.
20477 (grub_normal_menu_addentry): Added class property handling.
20478 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
20479 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
20480
20481 * normal/menu_viewer.c: New file.
20482
20483 * normal/menu.c (run_menu_entry): Renamed to ...
20484 (grub_menu_execute_entry): ... this and made it as global.
20485 (grub_menu_run): Renamed to ...
20486 (show_text_menu): ... this and made it local.
20487 (show_text_menu): Adapt to new function names.
20488 (grub_normal_terminal_menu_viewer): New global variable.
20489
20490 * include/grub/menu.h: New file.
20491
20492 * include/grub/menu_viewer.h: New file.
20493
20494 * include/grub/normal.h: Added include to grub/menu.h.
20495 (grub_menu_entry): Moved to include/grub/menu.h.
20496 (grub_menu_entry_t): Likewise.
20497 (grub_menu): Likewise.
20498 (grub_menu_t): Likewise.
20499 (grub_normal_terminal_menu_viewer): Added.
20500 (grub_menu_execute_entry): Likewise.
20501 (grub_menu_run): Removed.
20502
20503 * DISTLIST: Added include/grub/menu.h.
20504 Added include/grub/menu_viewer.h.
20505 Added normal/menu_viewer.c.
20506
20507 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
20508
20509 * normal/execute.c (grub_script_execute_menuentry): Changed to use
20510 arglist for menutitle arguments.
20511
20512 * normal/main.c (grub_normal_menu_addentry): Likewise.
20513
20514 * normal/parser.y (menuentry): Likewise.
20515
20516 * normal/script.c (grub_script_create_cmdmenu): Likewise.
20517
20518 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
20519 (grub_script_create_cmdmenu): Likewise.
20520
20521 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
20522
20523 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
20524 changes.
20525
20526 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
20527
20528 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
20529
20530 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
20531
20532 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20533
20534 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20535
20536 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20537
20538 2009-01-30 Christian Franke <franke@computer.org>
20539
20540 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
20541 in option help text.
20542
20543 2009-01-27 Pavel Roskin <proski@gnu.org>
20544
20545 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
20546
20547 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
20548
20549 * commands/lsmmap.c: Add include to grub/machine/memory.h.
20550
20551 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
20552
20553 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
20554 unregister function.
20555
20556 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
20557
20558 * disk/scsi.c (grub_scsi_read): Fix sign problem.
20559
20560 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
20561
20562 * util/grub-mkfont.c (usage): Fix typo.
20563
20564 * util/elf/grub-mkimage.c (load_modules): Fix warning.
20565
20566 2009-01-26 Daniel Mierswa <impulze@impulze.org>
20567
20568 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
20569
20570 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
20571
20572 * kern/misc.c (grub_strcasecmp): New function.
20573 (grub_strcasecmp): Use grub_size_t instead of int for length.
20574 Fix return value.
20575 * include/grub/misc.h: Update function prototypes.
20576
20577 2009-01-26 Robert Millan <rmh@aybabtu.com>
20578
20579 * configure.ac: Fix cross-compilation check.
20580
20581 2009-01-22 Christian Franke <franke@computer.org>
20582
20583 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
20584 (precision) digit string. Allow `.format2' without `format1' (width).
20585 Limit input chars for `%s' output to `format2' if specified. This is
20586 compatible with standard printf ().
20587
20588 2009-01-22 Christian Franke <franke@computer.org>
20589
20590 * disk/ata.c (grub_ata_wait_status): Replace by ...
20591 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
20592 other status bits may be invalid while BSY is asserted.
20593 (grub_ata_check_ready): New function.
20594 (grub_ata_cmd): Removed.
20595 (grub_ata_wait_drq): New function.
20596 (grub_ata_strncpy): Remove inline.
20597 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
20598 and error check now done by grub_ata_wait_drq ().
20599 (grub_ata_pio_write): Likewise.
20600 (grub_atapi_identify): Set DEV before check for !BSY. Use
20601 grub_ata_wait_drq () to wait for data.
20602 (grub_ata_device_initialize): Add status register check to
20603 detect missing SATA slave devices. Add debug messages.
20604 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
20605 (grub_atapi_packet): Set DEV before check for !BSY. Replace
20606 transfer loop by grub_ata_pio_write ().
20607 (grub_ata_identify): Set DEV before check for !BSY. Use
20608 grub_ata_wait_drq () to wait for data.
20609 (grub_ata_setaddress): Set DEV before check for !BSY.
20610 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
20611 read/write in one loop. Fix invalid command on write. Fix incomplete
20612 command on (size % batch) == 0. Add missing error check after write of
20613 last block. Add debug messages.
20614 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
20615
20616 2009-01-19 Christian Franke <franke@computer.org>
20617
20618 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
20619 (GRUB_ATAPI_IREASON_*): Likewise.
20620 (grub_ata_pio_write): Fix timeout error return.
20621 (grub_atapi_identify): Add grub_ata_wait () after cmd.
20622 (grub_atapi_wait_drq): New function.
20623 (grub_atapi_packet): New parameter `size'.
20624 Use grub_atapi_wait_drq () and direct write instead of
20625 grub_ata_pio_write ().
20626 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
20627 reads the number of bytes requested by the device for each DRQ
20628 assertion.
20629 (grub_atapi_write): Remove old implementation, return not
20630 implemented instead.
20631
20632 2009-01-19 Christian Franke <franke@computer.org>
20633
20634 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
20635 of 512 to calculate data size.
20636 (grub_scsi_read12): Likewise.
20637 (grub_scsi_write10): Likewise.
20638 (grub_scsi_write12): Likewise.
20639 (grub_scsi_read): Adjust size according to blocksize.
20640 Add checks for invalid blocksize and unaligned transfer.
20641
20642 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
20643
20644 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
20645
20646 * term/gfxterm.c (write_char): Fix background rendering for wide
20647 width glyphs.
20648
20649 2009-01-19 Robert Millan <rmh@aybabtu.com>
20650
20651 * config.guess: Update to latest version from config git.
20652 * config.sub: Likewise.
20653
20654 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
20655
20656 * Makefile.in: Change font compilation to use new grub-mkfont instead
20657 of java version.
20658
20659 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
20660 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
20661 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
20662 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
20663 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
20664 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
20665 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
20666 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
20667 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
20668
20669 2009-01-16 Christian Franke <franke@computer.org>
20670
20671 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
20672 (enum grub_ata_timeout_milliseconds): New enum.
20673 (grub_ata_wait_status): Add parameter milliseconds.
20674 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
20675 recovery from timed-out commands.
20676 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
20677 return grub_errno instead of REG_ERROR.
20678 (grub_ata_pio_write): Add parameter milliseconds.
20679 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
20680 Pass milliseconds to grub_ata_wait_status () and
20681 grub_ata_pio_read ().
20682 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
20683 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
20684 grub_ata_wait_status (). Fix IDENTIFY timeout check.
20685 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
20686 It is not suitable for device detection, because DEV bit is ignored,
20687 the command may run too long, and not all devices set the signature
20688 properly.
20689 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
20690 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
20691 Fix device selection, DEV bit must be set first to address the registers
20692 of the correct device.
20693 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
20694 grub_ata_pio_read/write ().
20695 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
20696 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
20697
20698 2009-01-13 Carles Pina i Estany <carles@pina.cat>
20699
20700 * util/grub-editenv.c (main): Use fseeko(), not fseek().
20701
20702 2009-01-13 Bean <bean123ch@gmail.com>
20703
20704 * util/grub-mkfont.c (write_font): forget to remove some debug code.
20705
20706 2009-01-13 Bean <bean123ch@gmail.com>
20707
20708 * Makefile.in: (enable_grub_mkfont): New variable.
20709 (freetype_cflags): Likewise.
20710 (freetype_libs): Likewise.
20711
20712 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
20713 (grub_mkfont_SOURCES): New variable.
20714 (grub_mkfont_CFLAGS): Likewise.
20715 (grub_mkfont_LDFLAGS): Likewise.
20716
20717 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
20718 library if `--enable-grub-mkfont' is requested.
20719 (enable_grub_mkfont): New variable.
20720 (freetype_cflags): Likewise.
20721 (freetype_libs): Likewise.
20722
20723 * util/grub-mkfont.c: New file.
20724
20725 2009-01-12 Christian Franke <franke@computer.org>
20726
20727 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
20728 mode check. Fix setting of compat_use[].
20729
20730 2009-01-10 Robert Millan <rmh@aybabtu.com>
20731
20732 Update a few copyright years which we forgot to do in 2008 (only for
20733 files whose changes made in 2008 were copyright-significant)
20734
20735 * Makefile.in: Add 2008 to Copyright line.
20736 * disk/ieee1275/ofdisk.c: Likewise.
20737 * disk/efi/efidisk.c: Likewise.
20738 * kern/dl.c: Likewise.
20739 * kern/sparc64/ieee1275/init.c: Likewise.
20740 * kern/mm.c: Likewise.
20741 * kern/efi/mm.c: Likewise.
20742 * boot/i386/pc/boot.S: Likewise.
20743 * genfslist.sh: Likewise.
20744 * fs/iso9660.c: Likewise.
20745 * fs/hfs.c: Likewise.
20746 * fs/jfs.c: Likewise.
20747 * fs/minix.c: Likewise.
20748 * fs/ufs.c: Likewise.
20749 * gensymlist.sh.in: Likewise.
20750 * genkernsyms.sh.in: Likewise.
20751 * include/grub/misc.h: Likewise.
20752 * include/grub/types.h: Likewise.
20753 * include/grub/symbol.h: Likewise.
20754 * include/grub/elf.h: Likewise.
20755 * include/grub/kernel.h: Likewise.
20756 * include/grub/disk.h: Likewise.
20757 * include/grub/dl.h: Likewise.
20758 * include/grub/i386/linux.h: Likewise.
20759 * include/grub/i386/pc/biosdisk.h: Likewise.
20760 * include/grub/efi/api.h: Likewise.
20761 * include/grub/efi/pe32.h: Likewise.
20762 * include/grub/util/misc.h: Likewise.
20763 * normal/execute.c: Likewise.
20764 * normal/arg.c: Likewise.
20765 * normal/completion.c: Likewise.
20766 * normal/lexer.c: Likewise.
20767 * normal/parser.y: Likewise.
20768 * normal/misc.c: Likewise.
20769 * commands/i386/pc/vbeinfo.c: Likewise.
20770 * commands/hexdump.c: Likewise.
20771 * commands/terminal.c: Likewise.
20772 * commands/ls.c: Likewise.
20773 * commands/help.c: Likewise.
20774 * partmap/pc.c: Likewise.
20775 * loader/efi/chainloader.c: Likewise.
20776 * loader/multiboot_loader.c: Likewise.
20777 * loader/i386/pc/multiboot2.c: Likewise.
20778 * term/efi/console.c: Likewise.
20779 * term/i386/pc/serial.c: Likewise.
20780 * util/lvm.c: Likewise.
20781 * util/console.c: Likewise.
20782 * util/i386/efi/grub-mkimage.c: Likewise.
20783 * util/raid.c: Likewise.
20784
20785 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
20786
20787 * commands/videotest.c: Removed include to grub/machine/memory.h.
20788
20789 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
20790 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
20791 (video_mod_SOURCES): Removed.
20792 (video_mod_CFLAGS): Likewise.
20793 (video_mod_LDFLAGS): Likewise.
20794 (gfxterm_mod_SOURCES): Likewise.
20795 (gfxterm_mod_CFLAGS): Likewise.
20796 (gfxterm_mod_LDFLAGS): Likewise.
20797 (videotest_mod_SOURCES): Likewise.
20798 (videotest_mod_CFLAGS): Likewise.
20799 (videotest_mod_LDFLAGS): Likewise.
20800 (bitmap_mod_SOURCES): Likewise.
20801 (bitmap_mod_CFLAGS): Likewise.
20802 (bitmap_mod_LDFLAGS): Likewise.
20803 (tga_mod_SOURCES): Likewise.
20804 (tga_mod_CFLAGS): Likewise.
20805 (tga_mod_LDFLAGS): Likewise.
20806 (jpeg_mod_SOURCES): Likewise.
20807 (jpeg_mod_CFLAGS): Likewise.
20808 (jpeg_mod_LDFLAGS): Likewise.
20809 (png_mod_SOURCES): Likewise.
20810 (png_mod_CFLAGS): Likewise.
20811 (png_mod_LDFLAGS): Likewise.
20812
20813 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
20814 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
20815 (video_mod_SOURCES): Added.
20816 (video_mod_CFLAGS): Likewise.
20817 (video_mod_LDFLAGS): Likewise.
20818 (videotest_mod_SOURCES): Likewise.
20819 (videotest_mod_CFLAGS): Likewise.
20820 (videotest_mod_LDFLAGS): Likewise.
20821 (bitmap_mod_SOURCES): Likewise.
20822 (bitmap_mod_CFLAGS): Likewise.
20823 (bitmap_mod_LDFLAGS): Likewise.
20824 (tga_mod_SOURCES): Likewise.
20825 (tga_mod_CFLAGS): Likewise.
20826 (tga_mod_LDFLAGS): Likewise.
20827 (jpeg_mod_SOURCES): Likewise.
20828 (jpeg_mod_CFLAGS): Likewise.
20829 (jpeg_mod_LDFLAGS): Likewise.
20830 (png_mod_SOURCES): Likewise.
20831 (png_mod_CFLAGS): Likewise.
20832 (png_mod_LDFLAGS): Likewise.
20833 (gfxterm_mod_SOURCES): Likewise.
20834 (gfxterm_mod_CFLAGS): Likewise.
20835 (gfxterm_mod_LDFLAGS): Likewise.
20836
20837 * term/gfxterm.c: Removed include to grub/machine/memory.h,
20838 grub/machine/console.h.
20839
20840 2009-01-04 Jerone Young <jerone@gmail.com>
20841
20842 Make on screen instructions clearer
20843
20844 Based on patch created by Jidanni <jidanni@jidanni.org>
20845
20846 * normal/menu.c: print clearer instructions on the screen
20847
20848 2009-01-02 Colin D Bennett <colin@gibibit.com>
20849
20850 New font engine.
20851
20852 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
20853 build system and fixed gfxterm.c to work with different sized fonts.
20854
20855 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
20856
20857 * configure: Re-generated.
20858
20859 * DISTLIST: Removed font/manager.c.
20860 Added font/font.c.
20861 Added font/font_cmd.c.
20862
20863 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
20864 compilation.
20865
20866 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
20867
20868 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
20869
20870 * kern/term.c: Changed users of grub_utf8_to_ucs4.
20871
20872 * normal/menu.c: Likewise.
20873
20874 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
20875 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
20876
20877 * include/grub/font.h: Replaced with new file.
20878
20879 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
20880 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
20881 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
20882 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
20883 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
20884 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
20885 fg_red, fg_green, fg_blue, fg_alpha.
20886 (grub_video_adapter): Removed blit_glyph.
20887 (grub_video_blit_glyph): Removed.
20888
20889 * font/manager.c: Removed file.
20890
20891 * font/font.c: New file.
20892
20893 * font/font_cmd.c: Likewise.
20894
20895 * video/video.c (grub_video_blit_glyph): Removed.
20896
20897 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
20898 (grub_video_vbe_map_rgba): Likewise.
20899 (grub_video_vbe_unmap_color_int): Likewise.
20900 (grub_video_vbe_blit_glyph): Removed.
20901 (grub_video_vbe_adapter): Removed blit_glyph.
20902
20903 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
20904 (get_pixel): Likewise.
20905 (set_pixel): Likewise.
20906
20907 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
20908
20909 * term/gfxterm.c: Adapted to new font engine.
20910
20911 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
20912
20913 * term/i386/pc/vga.c: Likewise.
20914
20915 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
20916
20917 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
20918
20919 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
20920
20921 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
20922
20923 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
20924
20925 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
20926
20927 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
20928
20929 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
20930
20931 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
20932
20933 * util/grub.d/00_header.in: Changed to use new loadfont command.
20934
20935 * util/grub-mkconfig_lib.in: Changed font extension.
20936
20937 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
20938
20939 * util/getroot.c (grub_util_get_grub_dev): Add support for
20940 /dev/md/dNNpNN style partitionable mdraid devices.
20941
20942 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
20943
20944 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
20945 at a time limit of the PXE TFTP API correctly.
20946 (grub_pxefs_close): Likewise.
20947
20948 2008-11-29 Robert Millan <rmh@aybabtu.com>
20949
20950 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
20951 grub_ata_device_initialize() calls.
20952
20953 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
20954
20955 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
20956 iteration failed.
20957 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
20958
20959 2008-11-28 Robert Millan <rmh@aybabtu.com>
20960
20961 Fix build on powerpc-ieee1275. Based on patch created by
20962 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
20963 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20964 `kern/ieee1275/mmap.c'.
20965 * include/grub/powerpc/ieee1275/memory.h: New file.
20966
20967 Provide grub-install on coreboot.
20968 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
20969 (grub_install_SOURCES): New variable.
20970 * util/i386/pc/grub-install.in: Add a few condition checks to make it
20971 usable on coreboot.
20972
20973 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
20974
20975 * util/grub-fstest.c (grub_term_get_current_input): Change return type
20976 to `grub_term_input_t'.
20977 (grub_term_get_current_output): Change return type to
20978 `grub_term_output_t'.
20979
20980 2008-11-22 Robert Millan <rmh@aybabtu.com>
20981
20982 Fix breakage on coreboot due to declaration mismatch.
20983 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
20984 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
20985 grub_vga_text_cls().
20986
20987 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
20988 comments. Avoid copying one more byte than necessary (just in case).
20989
20990 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
20991 to 0x200000 (avoids trouble with some OFW implementations, and matches
20992 with the one in Yaboot).
20993 Reported by Manoel Abranches
20994
20995 2008-11-20 Robert Millan <rmh@aybabtu.com>
20996
20997 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
20998 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
20999
21000 * util/grub-mkconfig_lib.in (grub_warn): New function.
21001 (convert_system_path_to_grub_path): Use grub_warn() when issuing
21002 warnings, to obtain consistent formatting.
21003 * util/grub.d/00_header.in: Likewise.
21004 * util/update-grub_lib.in: Likewise.
21005
21006 * loader/i386/linux.c (allocate_pages): Fix a warning.
21007 Move comment text to `#error' stanza.
21008
21009 Harmonize ieee1275's grub_available_iterate() with the generic
21010 grub_machine_mmap_iterate() interface (fixes a recently-introduced
21011 build problem on i386-ieee1275):
21012 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
21013 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
21014 parameter `type'. Update all users of this function.
21015 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21016 `kern/ieee1275/mmap.c'.
21017 * kern/ieee1275/init.c
21018 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
21019 with ...
21020 (grub_machine_mmap_iterate): ... this.
21021 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
21022 return type to `grub_err_t'. Update all implementations of this
21023 function prototype.
21024 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
21025 Likewise.
21026
21027 Add `lsmmap' command (lists firmware-provided memory map):
21028 * commands/lsmmap.c: New file.
21029 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
21030 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
21031 variables.
21032 * conf/powerpc-ieee1275.rmk: Likewise.
21033 * conf/i386-coreboot.rmk: Likewise.
21034 * conf/i386-ieee1275.rmk: Likewise.
21035
21036 2008-11-19 Robert Millan <rmh@aybabtu.com>
21037
21038 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
21039 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
21040 constraints to initrd allocation (based on code from
21041 loader/i386/pc/linux.c). Without them, initrd was allocated too high
21042 for Linux to find it.
21043
21044 2008-11-14 Robert Millan <rmh@aybabtu.com>
21045
21046 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
21047 order to cope with duplicate slashes.
21048
21049 2008-11-14 Robert Millan <rmh@aybabtu.com>
21050
21051 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
21052 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
21053 don't want to mess with lower memory, because it is used in the Linux
21054 loader.
21055
21056 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
21057 an appropriate place in lower memory, between 0x10000 and 0x90000,
21058 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
21059 is in our heap (probably as a result of it being corrupted during
21060 decompression). Add #error instance with comment to explain why this
21061 loader isn't currently usable on PC/BIOS.
21062
21063 2008-11-14 Robert Millan <rmh@aybabtu.com>
21064
21065 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
21066 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
21067
21068 2008-11-12 Robert Millan <rmh@aybabtu.com>
21069
21070 Make loader/i386/linux.c buildable on i386-pc (although disabled).
21071
21072 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
21073 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
21074 from here ...
21075 * include/grub/i386/pc/memory.h: ... to here.
21076
21077 2008-11-12 Robert Millan <rmh@aybabtu.com>
21078
21079 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
21080 split).
21081
21082 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
21083 (grub_console_cur_color, grub_console_real_putchar)
21084 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21085 (grub_console_setcolorstate, grub_console_setcolor)
21086 (grub_console_getcolor): Move from here ...
21087 * include/grub/i386/vga_common.h: ... to here (new file).
21088
21089 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
21090 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
21091 `<grub/i386/io.h>'.
21092 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
21093 `<grub/i386/vga_common.h>'.
21094
21095 2008-11-12 Robert Millan <rmh@aybabtu.com>
21096
21097 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
21098 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
21099 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
21100 variables.
21101 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21102 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
21103
21104 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
21105 grub_console_init() with call to grub_vga_text_init().
21106 (grub_machine_fini): Replace call to
21107 grub_console_fini() with call to grub_vga_text_fini() and
21108 grub_at_keyboard_fini().
21109
21110 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
21111 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21112 (grub_console_setcolorstate, grub_console_setcolor)
21113 (grub_console_getcolor): New function prototypes.
21114
21115 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
21116 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
21117 (grub_vga_text_setcursor): Static-ize.
21118 (grub_vga_text_term): New structure.
21119 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
21120
21121 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
21122 (grub_console_cur_color, grub_console_standard_color)
21123 (grub_console_normal_color, grub_console_highlight_color)
21124 (map_char, grub_console_putchar, grub_console_getcharwidth)
21125 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
21126 (grub_console_getcolor): Move from here ...
21127 * term/i386/vga_common.c: ... to here (same function names).
21128
21129 2008-11-12 Robert Millan <rmh@aybabtu.com>
21130
21131 Use newly-added Multiboot support in coreboot.
21132
21133 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21134 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
21135
21136 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
21137 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
21138 (codestart): Store the MBI in `startup_multiboot_info' when we're
21139 being loaded using Multiboot.
21140
21141 * kern/i386/coreboot/init.c (grub_machine_init): Move
21142 grub_at_keyboard_init() call to beginning of function (useful for
21143 debugging). Call grub_machine_mmap_init() before attempting to use
21144 grub_machine_mmap_iterate().
21145 (grub_lower_mem, grub_upper_mem): Move from here ...
21146 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
21147 here (new file).
21148
21149 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
21150 function prototype.
21151
21152 2008-11-12 Robert Millan <rmh@aybabtu.com>
21153
21154 Fix a regression introduced by the at_keyboard.mod split. Because
21155 some terminals are default on some platforms and non-default on
21156 others, the first terminal being registered determines which is
21157 going to be default.
21158
21159 * kern/term.c (grub_term_register_input): If this is the first
21160 terminal being registered, set it as the current one.
21161 (grub_term_register_output): Likewise.
21162
21163 * term/efi/console.c (grub_console_init): Do not call
21164 grub_term_set_current_output() or grub_term_set_current_input().
21165 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
21166 * term/i386/pc/console.c (grub_console_init): Likewise.
21167 (grub_console_fini): Do not call grub_term_set_current_input()
21168 (but leave grub_term_set_current_output() to restore text mode).
21169
21170 2008-11-10 Robert Millan <rmh@aybabtu.com>
21171
21172 * util/grub.d/00_header.in: Add backward compatibility check for
21173 versions of terminal.mod that don't understand `terminal_input' or
21174 `terminal_output'.
21175
21176 2008-11-09 Robert Millan <rmh@aybabtu.com>
21177
21178 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
21179 `terminal_input' / `terminal_output', not `terminal'.
21180
21181 2008-11-08 Robert Millan <rmh@aybabtu.com>
21182
21183 * Makefile.in (include_DATA): Fix srcdir=. assumption.
21184 (DISTCLEANFILES): Add `build_env.mk'.
21185
21186 2008-11-08 Robert Millan <rmh@aybabtu.com>
21187
21188 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
21189 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21190 members. Update all users.
21191 * util/console.c (grub_ncurses_term): Split in ...
21192 (grub_ncurses_term_input): ... this, and ...
21193 (grub_ncurses_term_output): ... this. Update all users.
21194 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
21195
21196 2008-11-08 Robert Millan <rmh@aybabtu.com>
21197
21198 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
21199 (PKGDATA): Add $(pkgdata_SRCDIR).
21200 (pkglib_BUILDDIR): New variable.
21201 (pkgdata_SRCDIR): New variable.
21202 (build_env.mk): New target.
21203 (include_DATA): New variable.
21204 (install-local): Install $(include_DATA) files in $(includedir).
21205
21206 2008-11-07 Pavel Roskin <proski@gnu.org>
21207
21208 * gendistlist.sh: Use C locale for sorting to ensure consistent
21209 output on all systems.
21210
21211 * util/grub.d/00_header.in: Remove incorrect space before
21212 "serial".
21213
21214 2008-11-07 Robert Millan <rmh@aybabtu.com>
21215
21216 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
21217 per specification.
21218 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
21219 * loader/multiboot_loader.c (find_multi_boot2_header): New function
21220 (based on find_multi_boot1_header).
21221 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
21222 using find_multi_boot2_header(), and abort if neither Multiboot or
21223 Multiboot headers were found.
21224
21225 2008-11-07 Robert Millan <rmh@aybabtu.com>
21226
21227 Modularize at_keyboard.mod:
21228
21229 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
21230 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21231 (at_keyboard_mod_LDFLAGS): New variables.
21232
21233 Actual terminal split:
21234
21235 * include/grub/term.h (struct grub_term): Split in ...
21236 (struct grub_term_input): ... this, and ...
21237 (struct grub_term_output): ... this. Update all users.
21238 (grub_term_set_current): Split in ...
21239 (grub_term_set_current_input): ... this, and ...
21240 (grub_term_set_current_output): ... this.
21241 (grub_term_get_current): Split in ...
21242 (grub_term_get_current_input): ... this, and ...
21243 (grub_term_get_current_output): ... this.
21244 (grub_term_register): Split in ...
21245 (grub_term_register_input): ... this, and ...
21246 (grub_term_register_output): ... this.
21247 (grub_term_unregister): Split in ...
21248 (grub_term_unregister_input): ... this, and ...
21249 (grub_term_unregister_output): ... this.
21250 (grub_term_iterate): Split in ...
21251 (grub_term_iterate_input): ... this, and ...
21252 (grub_term_iterate_output): ... this.
21253
21254 * kern/term.c (grub_term_list): Split in ...
21255 (grub_term_list_input): ... this, and ...
21256 (grub_term_list_output): ... this. Update all users.
21257 (grub_cur_term): Split in ...
21258 (grub_cur_term_input): ... this, and ...
21259 (grub_cur_term_output): ... this. Update all users.
21260 (grub_term_set_current): Split in ...
21261 (grub_term_set_current_input): ... this, and ...
21262 (grub_term_set_current_output): ... this.
21263 (grub_term_get_current): Split in ...
21264 (grub_term_get_current_input): ... this, and ...
21265 (grub_term_get_current_output): ... this.
21266 (grub_term_register): Split in ...
21267 (grub_term_register_input): ... this, and ...
21268 (grub_term_register_output): ... this.
21269 (grub_term_unregister): Split in ...
21270 (grub_term_unregister_input): ... this, and ...
21271 (grub_term_unregister_output): ... this.
21272 (grub_term_iterate): Split in ...
21273 (grub_term_iterate_input): ... this, and ...
21274 (grub_term_iterate_output): ... this.
21275
21276 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
21277 a check for input and one for output (and only attempt to get keys
21278 from user when input works).
21279
21280 * util/grub-probe.c (grub_term_get_current): Split in ...
21281 (grub_term_get_current_input): ... this, and ...
21282 (grub_term_get_current_output): ... this.
21283 * util/grub-fstest.c: Likewise.
21284 * util/i386/pc/grub-setup.c: Likewise.
21285 * util/grub-editenv.c: Likewise.
21286
21287 Portability adjustments:
21288
21289 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
21290 `term/i386/pc/at_keyboard.c'.
21291 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
21292 grub_keyboard_controller_init() (now handled by terminal .init).
21293 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
21294 grub_at_keyboard_init().
21295 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
21296 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
21297 at_keyboard.mod via input terminal interface).
21298 * include/grub/i386/coreboot/console.h: Convert into a stub for
21299 `<grub/i386/pc/console.h>'.
21300
21301 Migrate full terminals to new API:
21302
21303 * term/efi/console.c (grub_console_term): Split into ...
21304 (grub_console_term_input): ... this, and ...
21305 (grub_console_term_output): ... this. Update all users.
21306 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
21307 (grub_ofconsole_init): Split into ...
21308 (grub_ofconsole_init_input): ... this, and ...
21309 (grub_ofconsole_init_output): ... this.
21310 (grub_ofconsole_term): Split into ...
21311 (grub_ofconsole_term_input): ... this, and ...
21312 (grub_ofconsole_term_output): ... this. Update all users.
21313 * term/i386/pc/serial.c (grub_serial_term): Split into ...
21314 (grub_serial_term_input): ... this, and ...
21315 (grub_serial_term_output): ... this. Update all users.
21316 * term/i386/pc/console.c (grub_console_term): Split into ...
21317 (grub_console_term_input): ... this, and ...
21318 (grub_console_term_output): ... this. Update all users.
21319 (grub_console_term_input): Only enable it on PC/BIOS platform.
21320 (grub_console_init): Remove grub_keyboard_controller_init() call.
21321
21322 Migrate input terminals to new API:
21323
21324 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
21325 `i386' and `i386/pc' to enable build on x86_64 (this driver is
21326 i386-specific anyway).
21327 (grub_console_checkkey): Rename to ...
21328 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
21329 users.
21330 (grub_keyboard_controller_orig): New variable.
21331 (grub_console_getkey): Rename to ...
21332 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
21333 users.
21334 (grub_keyboard_controller_init): Static-ize. Save original
21335 controller value so that it can be restored ...
21336 (grub_keyboard_controller_fini): ... here (new function).
21337 (grub_at_keyboard_term): New structure.
21338 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
21339 functions.
21340
21341 Migrate output terminals to new API:
21342
21343 * term/i386/pc/vga.c (grub_vga_term): Change type to
21344 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21345 members. Update all users.
21346 * term/gfxterm.c (grub_video_term): Change type to
21347 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21348 members. Update all users.
21349 * include/grub/i386/pc/console.h (grub_console_checkkey)
21350 (grub_console_getkey): Do not export (no longer needed by gfxterm,
21351 etc).
21352
21353 Migrate `terminal' command and userland tools to new API:
21354
21355 * commands/terminal.c (grub_cmd_terminal): Split into ...
21356 (grub_cmd_terminal_input): ... this, and ...
21357 (grub_cmd_terminal_output): ... this.
21358 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
21359 `terminal_input' and `terminal_output'.
21360 * util/grub.d/00_header.in: Adjust `terminal' calls to new
21361 `terminal_input' / `terminal_output' API.
21362 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
21363 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
21364 provided ${GRUB_TERMINAL}, convert it).
21365
21366 2008-11-04 Robert Millan <rmh@aybabtu.com>
21367
21368 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
21369 for FreeBSD.
21370 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
21371
21372 2008-11-03 Bean <bean123ch@gmail.com>
21373
21374 * kern/elf.c (grub_elf32_load): Revert to previous code.
21375 (grub_elf64_load): Likewise.
21376
21377 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
21378
21379 2008-11-01 Robert Millan <rmh@aybabtu.com>
21380
21381 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
21382 (TARGET_CPPFLAGS): Likewise.
21383 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
21384
21385 2008-11-01 Carles Pina i Estany <carles@pina.cat>
21386
21387 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
21388
21389 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
21390
21391 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
21392 addition of objects until the code is not going to be able to fail.
21393
21394 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
21395
21396 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
21397 (add a missing NULL check, and correct them by moving the pointer
21398 operations after the actual check).
21399
21400 2008-10-29 Robert Millan <rmh@aybabtu.com>
21401
21402 * util/i386/pc/grub-install.in: Handle empty string as output from
21403 make_system_path_relative_to_its_root().
21404
21405 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
21406
21407 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
21408 circular metadata worst case scenario. If the metadata is circular
21409 then copy the wrap in place.
21410 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
21411 project lib/format_text/layout.h
21412 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
21413
21414 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
21415
21416 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
21417
21418 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
21419
21420 * util/update-grub_lib.in: Mention filename in warning message.
21421
21422 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
21423
21424 * NEWS: Update for rename of update-grub to grub-mkconfig.
21425
21426 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
21427
21428 * util/update-grub_lib.in: Copy to ...
21429 * util/grub-mkconfig_lib.in: ... this. Update all users.
21430 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
21431 * util/update-grub.in: Rename to ...
21432 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
21433 option. Add `--output' option to allow users to specify the generated
21434 configuration file. Default to stdout.
21435 (update_grub_dir): Rename to ...
21436 (grub_mkconfig_dir): ... this.
21437 (grub_cfg): Default to an empty string.
21438 * conf/common.rmk (update-grub): Rename to ...
21439 (grub-mkconfig): ... this.
21440 (update-grub_lib): Copy to ...
21441 (grub-mkconfig_lib): ... this.
21442 (update-grub_SCRIPTS): Copy to ...
21443 (grub-mkconfig_SCRIPTS): ... this. Update all users.
21444 (update-grub_DATA): Rename to ...
21445 (grub-mkconfig_DATA): ... this.
21446
21447 2008-09-28 Robert Millan <rmh@aybabtu.com>
21448
21449 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
21450 to `modified'. Add the real `created' field.
21451 (grub_iso9660_uuid): Use `modified' rather than `created' for
21452 constructing the UUID.
21453
21454 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
21455
21456 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
21457 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
21458
21459 2008-09-28 Bean <bean123ch@gmail.com>
21460
21461 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
21462 Thanks to Christian Franke for finding this bug.
21463
21464 2008-09-25 Robert Millan <rmh@aybabtu.com>
21465
21466 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
21467 instances of grub_util_get_disk_name() (see previous commit).
21468
21469 2008-09-25 Robert Millan <rmh@aybabtu.com>
21470
21471 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
21472 `util/i386/get_disk_name.c'.
21473 * conf/i386-efi.rmk: Likewise.
21474 * conf/x86_64-efi.rmk: Likewise.
21475 * conf/i386-coreboot.rmk: Likewise.
21476 * conf/i386-ieee1275.rmk: Likewise.
21477 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
21478 `util/ieee1275/get_disk_name.c'.
21479 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
21480 * util/ieee1275/get_disk_name.c: Remove file.
21481 * util/i386/get_disk_name.c: Remove file.
21482 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
21483 "hd%d" for device.map entries, rather than using
21484 grub_util_get_disk_name().
21485
21486 2008-09-24 Carles Pina i Estany <carles@pina.cat>
21487
21488 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
21489 warning.
21490 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
21491
21492 2008-09-24 Carles Pina i Estany <carles@pina.cat>
21493
21494 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
21495 Changed to 0x5100.
21496 (GRUB_TERM_PPAGE): Changed to 0x4900.
21497
21498 2008-09-24 Robert Millan <rmh@aybabtu.com>
21499
21500 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
21501 macros (they were i386-pc specific).
21502 * include/grub/sparc64/ieee1275/console.h: Likewise.
21503 * include/grub/efi/console.h: Likewise.
21504
21505 2008-09-22 Bean <bean123ch@gmail.com>
21506
21507 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
21508 resident and in attribute list.
21509
21510 * include/grub/ntfs.h (BMP_LEN): Removed.
21511
21512 2008-09-22 Bean <bean123ch@gmail.com>
21513
21514 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
21515 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
21516
21517 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
21518 error occurs, as grub_disk_open will call grub_disk_close, which will
21519 call p->close (scsi).
21520
21521 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
21522
21523 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
21524 (AC_PREREQ): Bumped to 2.59.
21525 (AC_TRY_COMPILE): Replace obsolete macro with ...
21526 (AC_COMPILE_IFELSE): ... this.
21527 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
21528 (AC_LINK_IFELSE): ... this.
21529
21530 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
21531
21532 * autogen.sh: Add a call to `gendistlist.sh'.
21533
21534 2008-09-19 Christian Franke <franke@computer.org>
21535
21536 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
21537 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
21538 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
21539 Export __enable_execute_stack() to modules.
21540 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
21541 New function.
21542
21543 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
21544
21545 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
21546 Sort the list.
21547
21548 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
21549
21550 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
21551 #include <grub/util/hostdisk.h>.
21552
21553 2008-09-08 Robert Millan <rmh@aybabtu.com>
21554
21555 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
21556 segments when their filesz is zero (grub_file_read() interprets
21557 zero-size as "read until EOF", which results in memory corruption).
21558 Use `lowest_segment' rather than 0 for calculating the current
21559 segment load address.
21560
21561 2008-09-08 Robert Millan <rmh@aybabtu.com>
21562
21563 * util/hostdisk.c (open_device): Replace a grub_util_info() call
21564 with grub_dprintf("hostdisk", ...), as it was so verbose that it
21565 clobbered useful information.
21566
21567 2008-09-08 Robert Millan <rmh@aybabtu.com>
21568
21569 * include/grub/util/biosdisk.h: Move to ...
21570 * include/grub/util/hostdisk.h: ... here. Update all users.
21571 * util/biosdisk.c: Move to ...
21572 * util/hostdisk.c: ... here. Update all users.
21573
21574 2008-09-07 Robert Millan <rmh@aybabtu.com>
21575
21576 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
21577 variables.
21578 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
21579 and length can be stored directly in the `mbi->mmap_addr' and
21580 `mbi->mmap_length' struct fields.
21581
21582 2008-09-07 Robert Millan <rmh@aybabtu.com>
21583
21584 * conf/i386.rmk: New file. Provides declaration for building
21585 `cpuid.mod'.
21586 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
21587 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
21588 variables.
21589 Include `conf/i386.mk'.
21590 * conf/i386-efi.rmk: Likewise.
21591 * conf/x86_64-efi.rmk: Likewise.
21592 * conf/i386-coreboot.rmk: Likewise.
21593 * conf/i386-ieee1275.rmk: Likewise.
21594
21595 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
21596
21597 Based on patch created by Colin D Bennett <colin@gibibit.com>.
21598 Adds optimization support for BGR based modes.
21599
21600 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
21601 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
21602 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21603 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21604 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21605 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21606 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21607 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21608 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21609 (grub_video_i386_vbeblit_index_index): Likewise.
21610 (grub_video_i386_vbeblit_replace_directN): Added.
21611 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
21612 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
21613 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
21614 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
21615 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
21616 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
21617 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
21618 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
21619 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
21620 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
21621 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
21622 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
21623 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
21624
21625 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
21626 (grub_video_i386_vbefill_R8G8B8): Likewise.
21627 (grub_video_i386_vbefill_index): Likewise.
21628 (grub_video_i386_vbefill_direct32): Added.
21629 (grub_video_i386_vbefill_direct24): Likewise.
21630 (grub_video_i386_vbefill_direct16): Likewise.
21631 (grub_video_i386_vbefill_direct8): Likewise.
21632
21633 * include/grub/video.h (grub_video_blit_format): Removed
21634 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
21635 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
21636 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
21637 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
21638 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
21639
21640 * video/video.c (grub_video_get_blit_format): Updated to use new
21641 blit formats. Added handling for 16 bit color modes.
21642
21643 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
21644 fillers.
21645 (common_blitter): Updated to use new blitters.
21646
21647 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
21648 Removed.
21649 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
21650 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21651 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21652 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21653 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21654 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21655 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21656 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21657 (grub_video_i386_vbeblit_index_index): Likewise.
21658 (grub_video_i386_vbeblit_replace_directN): Added.
21659 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
21660 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
21661 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
21662 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
21663 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
21664 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
21665 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
21666 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
21667 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
21668 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
21669 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
21670 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
21671 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
21672
21673 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
21674 (grub_video_i386_vbefill_R8G8B8): Likewise.
21675 (grub_video_i386_vbefill_index): Likewise.
21676 (grub_video_i386_vbefill_direct32): Added.
21677 (grub_video_i386_vbefill_direct24): Likewise.
21678 (grub_video_i386_vbefill_direct16): Likewise.
21679 (grub_video_i386_vbefill_direct8): Likewise.
21680
21681 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
21682 types.
21683
21684 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
21685 types.
21686
21687 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
21688 blitter types.
21689
21690 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
21691 types.
21692
21693 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
21694
21695 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
21696 RAID level 1.
21697
21698 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
21699
21700 * fs/iso9660.c (grub_iso9660_date): New structure.
21701 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
21702 (grub_iso9660_uuid): New function.
21703
21704 2008-09-05 Bean <bean123ch@gmail.com>
21705
21706 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
21707
21708 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
21709 insensitive bit for names in Win32 and Win32 & DOS namespace.
21710
21711 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
21712
21713 * include/grub/types.h (LONG_MAX): Likewise.
21714
21715 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
21716
21717 * util/getroot.c: Include <config.h>.
21718 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
21719 add support for /dev/md/N devices and handle LVM double dash escaping.
21720
21721 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
21722
21723 * config.guess: Update to latest version from config git.
21724 * config.sub: Likewise.
21725
21726 2008-09-03 Robert Millan <rmh@aybabtu.com>
21727
21728 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
21729 `disk->total_sectors'.
21730
21731 2008-09-01 Colin D Bennett <colin@gibibit.com>
21732
21733 * include/grub/normal.h: Fixed incorrect comment for
21734 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
21735
21736 2008-09-01 Colin D Bennett <colin@gibibit.com>
21737
21738 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
21739 values with defines.
21740
21741 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
21742 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
21743 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
21744 (GRUB_VBE_MODEATTR_COLOR): Likewise.
21745 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
21746 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
21747 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
21748 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
21749 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
21750 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
21751 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
21752 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
21753 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
21754 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
21755 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
21756 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
21757 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
21758 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
21759 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
21760
21761 2008-08-31 Robert Millan <rmh@aybabtu.com>
21762
21763 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
21764 declaration.
21765 (grub_multiboot): Fix a few warnings.
21766
21767 2008-08-31 Robert Millan <rmh@aybabtu.com>
21768
21769 * loader/i386/pc/multiboot.c: Update comment not to say that
21770 boot_device support is unimplemented.
21771
21772 2008-08-31 Robert Millan <rmh@aybabtu.com>
21773
21774 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
21775 or memory map support are unimplemented.
21776
21777 2008-08-31 Colin D Bennett <colin@gibibit.com>
21778
21779 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
21780
21781 2008-08-31 Colin D Bennett <colin@gibibit.com>
21782
21783 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
21784 total video memory in 'vbeinfo' output; show color format details for
21785 each video mode.
21786
21787 2008-08-30 Pavel Roskin <proski@gnu.org>
21788
21789 * util/genmoddep.c: Remove for real this time.
21790 * DISTLIST: Remove util/genmoddep.c.
21791
21792 2008-08-30 Robert Millan <rmh@aybabtu.com>
21793
21794 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
21795 as required by Multiboot spec (it was already 4-byte aligned, but
21796 only by chance).
21797
21798 2008-08-29 Pavel Roskin <proski@gnu.org>
21799
21800 * kern/powerpc/ieee1275/crt0.S: Rename to ...
21801 * kern/powerpc/ieee1275/startup.S: ... this.
21802 * conf/powerpc-ieee1275.rmk: Adjust for the above.
21803 * DISTLIST: Likewise.
21804
21805 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
21806 grub/cpu/kernel.h. Add start label for consistency with other
21807 platforms. Add grub_prefix immediately after start. Add jump
21808 to the code after grub_prefix.
21809 * include/grub/powerpc/kernel.h: Provide valid values for
21810 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
21811
21812 2008-08-29 Bean <bean123ch@gmail.com>
21813
21814 * configure.ac: Change host_os to cygwin for mingw.
21815 (asprintf): New check for function.
21816
21817 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
21818 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
21819
21820 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
21821 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
21822 sync, sleep and grub_util_get_disk_size for mingw.
21823
21824 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
21825 to get size in mingw.
21826 (open_device): Use flag O_BINARY if it's defined.
21827 (find_root_device): Add dummy code for mingw.
21828
21829 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
21830 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
21831 (get_scsi_disk_name): Return 0 for mingw.
21832
21833 * util/hostfs.c: #include <grub/util/misc.h>.
21834 (grub_hostfs_open): Use "rb" flag to open file, use
21835 grub_util_get_disk_size to get disk size for mingw.
21836
21837 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
21838 (asprintf): New function if HAVE_ASPRINTF is not set.
21839 (sync): New function for mingw.
21840 (sleep): Likewise.
21841 (grub_util_get_disk_size): Likewise.
21842
21843 2008-08-28 Pavel Roskin <proski@gnu.org>
21844
21845 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21846 kern/time.c.
21847
21848 2008-08-28 Robert Millan <rmh@aybabtu.com>
21849
21850 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
21851
21852 2008-08-28 Robert Millan <rmh@aybabtu.com>
21853
21854 Change find_grub_drive() syntax so it doesn't prevent it from
21855 detecting NULL names as errors.
21856
21857 * util/biosdisk.c (find_grub_drive): Move free slot search code
21858 from here ...
21859 (find_free_slot): ... to here.
21860 (read_device_map): Use find_free_slot() to search for free slots.
21861
21862 2008-08-27 Marco Gerards <marco@gnu.org>
21863
21864 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
21865 (scsi_mod_SOURCES): New variable.
21866 (scsi_mod_CFLAGS): Likewise
21867 (scsi_mod_LDFLAGS): Likewise.
21868
21869 * disk/scsi.c: New file.
21870
21871 * include/grub/scsi.h: Likewise.
21872
21873 * include/grub/scsicmd.h: Likewise.
21874
21875 * disk/ata.c: Include <grub/scsi.h>.
21876 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
21877 instead.
21878 (grub_ata_iterate): Skip ATAPI devices.
21879 (grub_ata_open): Only handle ATAPI devices.
21880 (struct grub_atapi_read): Removed.
21881 (grub_atapi_readsector): Likewise.
21882 (grub_ata_read): No longer handle ATAPI devices.
21883 (grub_ata_write): Likewise.
21884 (grub_atapi_iterate): New function.
21885 (grub_atapi_read): Likewise.
21886 (grub_atapi_write): Likewise.
21887 (grub_atapi_open): Likewise.
21888 (grub_atapi_close): Likewise.
21889 (grub_atapi_dev): New variable.
21890 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
21891 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
21892
21893 * include/grub/disk.h (enum grub_disk_dev_id): Add
21894 `GRUB_DISK_DEVICE_SCSI_ID'.
21895
21896 2008-08-26 Robert Millan <rmh@aybabtu.com>
21897
21898 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
21899 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
21900 descriptive.
21901
21902 2008-08-23 Bean <bean123ch@gmail.com>
21903
21904 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
21905 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
21906 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
21907 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
21908 dm_nv.mod.
21909 (raid5rec_mod_SOURCES): New macro.
21910 (raid5rec_mod_CFLAGS): Likewise.
21911 (raid5rec_mod_LDFLAGS): Likewise.
21912 (raid6rec_mod_SOURCES): Likewise.
21913 (raid6rec_mod_CFLAGS): Likewise.
21914 (raid6rec_mod_LDFLAGS): Likewise.
21915 (mdraid_mod_SOURCES): Likewise.
21916 (mdraid_mod_CFLAGS): Likewise.
21917 (mdraid_mod_LDFLAGS): Likewise.
21918 (dm_nv_mod_SOURCES): Likewise.
21919 (dm_nv_mod_CFLAGS): Likewise.
21920 (dm_nv_mod_LDFLAGS): Likewise.
21921
21922 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
21923 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
21924 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
21925
21926 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
21927 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
21928
21929 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21930
21931 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21932
21933 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21934
21935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21936
21937 * disk/raid5_recover.c: New file.
21938
21939 * disk/raid6_recover.c: Likewise.
21940
21941 * disk/mdraid_linux.c: Likewise.
21942
21943 * disk/dmraid_nvidia.c: Likewise.
21944
21945 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
21946 ULONG_MAX.
21947
21948 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
21949 calculate the size of raid device.
21950 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
21951 different layout of raid5.
21952 (grub_raid_scan_device): Remove code specific to mdraid.
21953 (grub_raid_list): New variable.
21954 (free_array): New function.
21955 (grub_raid_register): Likewise.
21956 (grub_raid_unregister): Likewise.
21957 (grub_raid_rescan): Likewise.
21958 (GRUB_MOD_INIT): Don't iterate device here.
21959 (GRUB_MOD_FINI): Use free_array to release resource.
21960
21961 * include/grub/raid.h: Remove macro and structure specific to mdraid.
21962 (grub_raid5_recover_func_t): New function variable type.
21963 (grub_raid6_recover_func_t): Likewise.
21964 (grub_raid5_recover_func): New variable.
21965 (grub_raid6_recover_func): Likewise.
21966 (grub_raid_register): New function.
21967 (grub_raid_unregister): Likewise.
21968 (grub_raid_rescan): Likewise.
21969 (grub_raid_block_xor): Likewise.
21970
21971 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
21972 (CMD_CRC): New macro.
21973 (part): Removed.
21974 (read_file): Handle device as well as file.
21975 (cmd_crc): New function.
21976 (fstest): Handle multiple disks.
21977 (options): Remove part, raw and long, add root and diskcount.
21978 (usage): Add crc, remove -p, -r, -l, add -r and -c.
21979 (main): Find the first non option entry and ignore subsequent options,
21980 add handling for the new options, support multiple disks.
21981
21982 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
21983
21984 2008-08-23 Bean <bean123ch@gmail.com>
21985
21986 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
21987
21988 * genfslist.sh: Ignore kernel.mod.
21989
21990 * genpartmaplist.sh: Likewise.
21991
21992 2008-08-23 Robert Millan <rmh@aybabtu.com>
21993
21994 * util/getroot.c (find_root_device): Skip anything that starts with
21995 a dot, not just directories. This avoids things like /dev/.tmp.md0.
21996
21997 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
21998
21999 * util/update-grub.in (GRUB_GFXMODE): Export variable.
22000 * util/grub.d/00_header.in: Allow the administrator to change default
22001 gfxmode via ${GRUB_GFXMODE}.
22002
22003 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
22004
22005 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
22006
22007 2008-08-21 Robert Millan <rmh@aybabtu.com>
22008
22009 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
22010 loader.
22011 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
22012 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
22013
22014 2008-08-20 Carles Pina i Estany <carles@pina.cat>
22015
22016 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
22017 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
22018
22019 2008-08-19 Robert Millan <rmh@aybabtu.com>
22020
22021 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
22022 (struct grub_virtual_screen): Remove `cursor_color'.
22023 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
22024 initialization.
22025 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
22026
22027 2008-08-18 Robert Millan <rmh@aybabtu.com>
22028
22029 Unify (identical) linux_normal.c files.
22030 * loader/i386/efi/linux_normal.c: Move from here ...
22031 * loader/linux_normal.c: ... to here. Update all users.
22032 * loader/i386/pc/linux_normal.c: Delete. Update all users.
22033 * loader/i386/ieee1275/linux_normal.c: Likewise.
22034
22035 2008-08-18 Robert Millan <rmh@aybabtu.com>
22036
22037 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
22038 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
22039 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
22040 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
22041 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
22042 New macros.
22043 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
22044 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
22045 (GRUB_LINUX_CL_END_OFFSET): ... to here.
22046 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
22047 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
22048 (GRUB_EFI_CL_END_OFFSET): Rename to ...
22049 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
22050 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
22051 Initialize `params->video_cursor_x' and `params->video_cursor_y'
22052 portably using grub_getxy().
22053 Replace `-EFI' with `-bzImage' in boot message.
22054
22055 2008-08-17 Robert Millan <rmh@aybabtu.com>
22056
22057 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
22058
22059 2008-08-17 Robert Millan <rmh@aybabtu.com>
22060
22061 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
22062
22063 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
22064 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
22065 (grub_machine_mmap_iterate): New function declaration.
22066 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
22067 structure.
22068 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
22069 macros.
22070
22071 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
22072 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
22073 Move e820 parsing from here ...
22074 * kern/i386/pc/mmap.c: New file.
22075 (grub_machine_mmap_iterate): ... to here.
22076
22077 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
22078 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
22079 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
22080 (grub_available_iterate): Redeclare to return `void', and redeclare
22081 its hook to use grub_uint64_t as addr and size parameters, and rename
22082 to ...
22083 (grub_machine_mmap_iterate): ... this. Update all users.
22084
22085 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
22086 to make it more readable. Rename to ...
22087 (grub_machine_mmap_iterate): ... this.
22088
22089 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
22090 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
22091 (grub_multiboot): Allocate an extra region after the payload, and fill
22092 it with a Multiboot memory map. Adjust a.out loader to calculate size
22093 with the extra space.
22094 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
22095 with the extra space.
22096
22097 2008-08-17 Carles Pina i Estany <carles@pina.cat>
22098
22099 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
22100
22101 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
22102
22103 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
22104 mdate-sh to the list `find' searches for.
22105 * DISTLIST: Regenerated.
22106
22107 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
22108
22109 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
22110 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
22111 genmoddep.awk, gensymlist.sh.in.
22112 (DISTDIRS): Add bus, docs, hook, lib.
22113 * DISTLIST: Regenerated.
22114 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
22115
22116 2008-08-16 Robert Millan <rmh@aybabtu.com>
22117
22118 * disk/raid.c (grub_raid_init): Handle/report errors set by
22119 grub_device_iterate().
22120 * disk/lvm.c (grub_lvm_init): Likewise.
22121
22122 2008-08-15 Bean <bean123ch@gmail.com>
22123
22124 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22125 and datehook.mod.
22126 (datetime_mod_SOURCES): New macro.
22127 (datetime_mod_CFLAGS): Likewise.
22128 (datetime_mod_LDFLAGS): Likewise.
22129 (date_mod_SOURCES): Likewise.
22130 (date_mod_CFLAGS): Likewise.
22131 (date_mod_LDFLAGS): Likewise.
22132 (datehook_mod_SOURCES): Likewise.
22133 (datehook_mod_CFLAGS): Likewise.
22134 (datehook_mod_LDFLAGS): Likewise.
22135
22136 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22137 and datehook.mod.
22138 (datetime_mod_SOURCES): New macro.
22139 (datetime_mod_CFLAGS): Likewise.
22140 (datetime_mod_LDFLAGS): Likewise.
22141 (date_mod_SOURCES): Likewise.
22142 (date_mod_CFLAGS): Likewise.
22143 (date_mod_LDFLAGS): Likewise.
22144 (datehook_mod_SOURCES): Likewise.
22145 (datehook_mod_CFLAGS): Likewise.
22146 (datehook_mod_LDFLAGS): Likewise.
22147
22148 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22149 and datehook.mod.
22150 (datetime_mod_SOURCES): New macro.
22151 (datetime_mod_CFLAGS): Likewise.
22152 (datetime_mod_LDFLAGS): Likewise.
22153 (date_mod_SOURCES): Likewise.
22154 (date_mod_CFLAGS): Likewise.
22155 (date_mod_LDFLAGS): Likewise.
22156 (datehook_mod_SOURCES): Likewise.
22157 (datehook_mod_CFLAGS): Likewise.
22158 (datehook_mod_LDFLAGS): Likewise.
22159
22160 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22161 and datehook.mod.
22162 (datetime_mod_SOURCES): New macro.
22163 (datetime_mod_CFLAGS): Likewise.
22164 (datetime_mod_LDFLAGS): Likewise.
22165 (date_mod_SOURCES): Likewise.
22166 (date_mod_CFLAGS): Likewise.
22167 (date_mod_LDFLAGS): Likewise.
22168 (datehook_mod_SOURCES): Likewise.
22169 (datehook_mod_CFLAGS): Likewise.
22170 (datehook_mod_LDFLAGS): Likewise.
22171
22172 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22173 and datehook.mod.
22174 (datetime_mod_SOURCES): New macro.
22175 (datetime_mod_CFLAGS): Likewise.
22176 (datetime_mod_LDFLAGS): Likewise.
22177 (date_mod_SOURCES): Likewise.
22178 (date_mod_CFLAGS): Likewise.
22179 (date_mod_LDFLAGS): Likewise.
22180 (datehook_mod_SOURCES): Likewise.
22181 (datehook_mod_CFLAGS): Likewise.
22182 (datehook_mod_LDFLAGS): Likewise.
22183
22184 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
22185
22186 * commands/date.c: New file.
22187
22188 * hook/datehook.c: Likewise.
22189
22190 * include/grub/lib/datetime.h: Likewise.
22191
22192 * include/grub/i386/cmos.h: Likewise.
22193
22194 * lib/datetime.c: Likewise.
22195
22196 * lib/i386/datetime.c: Likewise.
22197
22198 * lib/efi/datetime.c: Likewise.
22199
22200 2008-08-14 Robert Millan <rmh@aybabtu.com>
22201
22202 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
22203 (grub_mkelfimage_SOURCES): New variable.
22204 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
22205
22206 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
22207 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
22208 * conf/powerpc-ieee1275.rmk: Likewise.
22209 * conf/i386-ieee1275.rmk: Likewise.
22210
22211 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
22212 * kern/i386/coreboot/init.c: Likewise.
22213
22214 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
22215 with `<grub/cpu/kernel.h>'.
22216 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
22217 to ...
22218 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
22219 * kern/i386/coreboot/startup.S: Likewise.
22220
22221 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
22222 (GRUB_MOD_GAP): Remove.
22223 * include/grub/powerpc/kernel.h: New file.
22224 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
22225 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22226 * include/grub/i386/kernel.h: New file.
22227 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
22228 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
22229 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22230
22231 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
22232 `grub-mkelfimage'.
22233 Use --directory when invoking grub_mkimage.
22234
22235 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
22236 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
22237 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
22238 and GRUB_KERNEL_CPU_PREFIX.
22239
22240 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
22241
22242 * include/grub/err.h (grub_err_printf): New function prototype.
22243 * util/misc.c (grub_err_printf): New function.
22244 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
22245 grub_printf.
22246 * kern/err.c (grub_print_error): Use grub_err_printf.
22247
22248 2008-08-13 Robert Millan <rmh@aybabtu.com>
22249
22250 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
22251
22252 2008-08-13 Robert Millan <rmh@aybabtu.com>
22253
22254 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
22255 boot entry.
22256
22257 2008-08-12 Robert Millan <rmh@aybabtu.com>
22258
22259 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
22260 of the relocation code from here ...
22261 (grub_multiboot): ... to here.
22262 (forward_relocator, backward_relocator): Move from here ...
22263 * kern/i386/loader.S (grub_multiboot_forward_relocator)
22264 (grub_multiboot_backward_relocator): ... to here.
22265 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
22266 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
22267 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
22268 (grub_multiboot_forward_relocator_end)
22269 (grub_multiboot_backward_relocator)
22270 (grub_multiboot_backward_relocator_end): New variables.
22271
22272 2008-08-12 Bean <bean123ch@gmail.com>
22273
22274 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
22275
22276 2008-08-11 Robert Millan <rmh@aybabtu.com>
22277
22278 * kern/i386/linuxbios/startup.S: Move from here ...
22279 * kern/i386/coreboot/startup.S: ... to here.
22280
22281 * kern/i386/linuxbios/init.c: Move from here ...
22282 * kern/i386/coreboot/init.c: ... to here.
22283
22284 * kern/i386/linuxbios/table.c: Move from here ...
22285 * kern/i386/coreboot/mmap.c: ... to here.
22286
22287 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
22288
22289 2008-08-11 Robert Millan <rmh@aybabtu.com>
22290
22291 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
22292 errors. Leave it to the upper layer to handle them.
22293
22294 2008-08-09 Christian Franke <franke@computer.org>
22295
22296 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
22297 * conf/common.rmk: Install `grub-pe2elf' only if requested.
22298 Install `grub.d/10_windows' only on Cygwin.
22299 * configure.ac: Add subst of `target_os'.
22300 Check `target_os' also before setting TARGET_OBJ2ELF.
22301 Add `--enable-grub-pe2elf'.
22302
22303 2008-08-08 Robert Millan <rmh@aybabtu.com>
22304
22305 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22306 (grub_last_time): Change type to grub_uint64_t.
22307 (grub_disk_open): Migrate code from to using grub_get_time_ms().
22308 (grub_disk_close): Likewise.
22309
22310 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22311 (run_menu): Migrate code from to using grub_get_time_ms().
22312
22313 * util/misc.c (grub_get_time_ms): New function.
22314
22315 2008-08-08 Marco Gerards <marco@gnu.org>
22316
22317 * disk/ata.c (grub_ata_regget): Change return type to
22318 `grub_uint8_t'.
22319 (grub_ata_regget2): Likewise.
22320 (grub_ata_wait_status): New function.
22321 (grub_ata_wait_busy): Removed function, updated all users to use
22322 `grub_ata_wait_status'.
22323 (grub_ata_wait_drq): Likewise.
22324 (grub_ata_cmd): New function.
22325 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
22326 error handling.
22327 (grub_ata_pio_write): Add error handling.
22328 (grub_atapi_identify): Likewise.
22329 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
22330 handling.
22331 (grub_ata_identify): Use `grub_ata_cmd' and improve error
22332 handling. Actually use the detected registers. Reorder the
22333 detection logic such that it is easier to read.
22334 (grub_ata_pciinit): Do not assign the same ID to each controller.
22335 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
22336 handling.
22337 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
22338
22339 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
22340
22341 2008-08-08 Marco Gerards <marco@gnu.org>
22342
22343 * NEWS: Update.
22344
22345 2008-08-07 Bean <bean123ch@gmail.com>
22346
22347 * include/grub/x86_64/pci.h: New file.
22348
22349 2008-08-07 Christian Franke <franke@computer.org>
22350
22351 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
22352 (TIMER2_GATE): Likewise.
22353 (grub_pit_wait): Add enable/disable of the timer2 gate
22354 bit of port 0x61. This fixes a possible infinite loop.
22355
22356 2008-08-07 Bean <bean123ch@gmail.com>
22357
22358 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
22359 kern/i386/tsc.c and kern/i386/pit.c.
22360
22361 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
22362 x86_64 platform.
22363
22364 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
22365 <grub/i386/tsc.h>.
22366
22367 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
22368
22369 2008-08-07 Bean <bean123ch@gmail.com>
22370
22371 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
22372
22373 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
22374
22375 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
22376 multiple inclusion. Add #include <grub/types.h>.
22377
22378 2008-08-06 Christian Franke <franke@computer.org>
22379
22380 * conf/common.rmk: Build and install `10_windows'.
22381 * util/grub.d/10_windows.in: New script.
22382
22383 2008-08-06 Pavel Roskin <proski@gnu.org>
22384
22385 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
22386
22387 2008-08-06 Robert Millan <rmh@aybabtu.com>
22388
22389 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
22390 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
22391
22392 2008-08-06 Bean <bean123ch@gmail.com>
22393
22394 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
22395 (grub_pxefs_fs_int): Remove dummy definition.
22396 (grub_pxefs_open): Use data->block_size to store the current block
22397 size setting.
22398 (grub_pxefs_read): Use block size stored in data->block_size. As the
22399 value of grub_pxe_blksize can be changed after the file is opened.
22400
22401 2008-08-06 Bean <bean123ch@gmail.com>
22402
22403 * fs/i386/pc/pxe.c (curr_file): new variable.
22404 (grub_pxefs_open): Simply the handling of pxe file system. Don't
22405 require the dummy internal file system anymore.
22406 (grub_pxefs_read): Removed.
22407 (grub_pxefs_close): Likewise.
22408 (grub_pxefs_fs_int): Likewise.
22409 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
22410 connection when we switch file.
22411 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
22412
22413 2008-08-06 Robert Millan <rmh@aybabtu.com>
22414
22415 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
22416 `halt.mod'.
22417 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
22418 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
22419
22420 * kern/i386/halt.c: New file.
22421 * kern/i386/reboot.c: Likewise.
22422 * include/grub/i386/reboot.h: Likewise.
22423 * include/grub/i386/halt.h: Likewise.
22424
22425 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
22426 Include `<grub/cpu/halt.h>'.
22427 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
22428 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
22429
22430 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
22431 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
22432 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
22433 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
22434 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
22435 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
22436 from here ...
22437 * include/grub/i386/at_keyboard.h: ... to here.
22438
22439 2008-08-05 Robert Millan <rmh@aybabtu.com>
22440
22441 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
22442 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
22443 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
22444 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22445 `kern/generic/millisleep.c'.
22446
22447 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
22448 instead of grub_get_rtc().
22449 (grub_tsc_init): Initialize `tsc_boot_time'.
22450
22451 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
22452 (grub_machine_init): Use grub_tsc_init() rather than
22453 installing an RTC-based handler via grub_install_get_time_ms().
22454
22455 * kern/i386/pit.c: New file.
22456 * include/grub/i386/pit.h: Likewise.
22457
22458 2008-08-05 Bean <bean123ch@gmail.com>
22459
22460 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
22461
22462 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
22463 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
22464 (pxe_mod_SOURCES): New macro.
22465 (pxe_mod_CFLAGS): Likewise.
22466 (pxe_mod_LDFLAGS): Likewise.
22467 (pxecmd_mod_SOURCES): Likewise.
22468 (pxecmd_mod_CFLAGS): Likewise.
22469 (pxecmd_mod_LDFLAGS): Likewise.
22470
22471 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
22472 (grub_pxe_call): Likewise.
22473
22474 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
22475
22476 * commands/i386/pc/pxecmd.c: New file.
22477
22478 * fs/i386/pc/pxe.c: Likewise.
22479
22480 * include/grub/i386/pc/pxe.h: Likewise.
22481
22482 2008-08-05 Bean <bean123ch@gmail.com>
22483
22484 * util/console.c (grub_console_cur_color): New variable.
22485 (grub_console_standard_color): Likewise.
22486 (grub_console_normal_color): Likewise.
22487 (grub_console_highlight_color): Likewise.
22488 (color_map): Likewise.
22489 (use_color): Likewise.
22490 (NUM_COLORS): New macro.
22491 (grub_ncurses_setcolorstate): Handle color properly.
22492 (grub_ncurses_setcolor): Don't change color here, just remember the
22493 settings, color will be set in grub_ncurses_setcolorstate.
22494 (grub_ncurses_getcolor): New function.
22495 (grub_ncurses_init): Initialize color pairs.
22496 (grub_ncurses_term): New member grub_ncurses_getcolor.
22497
22498 2008-08-05 Colin D Bennett <colin@gibibit.com>
22499
22500 High resolution timer support. Implemented for x86 CPUs using TSC.
22501 Extracted generic grub_millisleep() so it's linked in only as needed.
22502 This requires a Pentium compatible CPU; if the RDTSC instruction is
22503 not supported, then it falls back on the generic grub_get_time_ms()
22504 implementation that uses the machine's RTC.
22505
22506 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
22507 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22508 `kern/generic/millisleep.c'.
22509
22510 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
22511 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
22512
22513 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
22514 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
22515
22516 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22517
22518 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22519 `kern/generic/millisleep.c'.
22520
22521 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22522
22523 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
22524
22525 * kern/generic/rtc_get_time_ms.c: New file.
22526
22527 * kern/generic/millisleep.c: New file.
22528
22529 * kern/misc.c: Don't include
22530 <kern/time.h> anymore.
22531 (grub_millisleep_generic): Removed.
22532
22533 * commands/sleep.c (grub_interruptible_millisleep): Uses
22534 grub_get_time_ms() instead of grub_get_rtc().
22535
22536 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
22537 function.
22538 (grub_cpu_is_cpuid_supported): New inline function.
22539 (grub_cpu_is_tsc_supported): New inline function.
22540 (grub_tsc_init): New function prototype.
22541 (grub_tsc_get_time_ms): New function prototype.
22542
22543 * kern/i386/tsc.c (grub_get_time_ms): New file.
22544
22545 * include/grub/time.h: Include <grub/types.h.
22546 (grub_millisleep_generic): Removed.
22547 (grub_get_time_ms): New prototype.
22548 (grub_install_get_time_ms): New prototype.
22549 (grub_rtc_get_time_ms): New prototype.
22550
22551 * kern/time.c (grub_get_time_ms): New function.
22552 (grub_install_get_time_ms): New function.
22553
22554 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
22555 <grub/time.h> anymore.
22556 (grub_millisleep): Removed.
22557 (grub_machine_init): Call grub_tsc_init.
22558
22559 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
22560 get_time_ms() implementation.
22561
22562 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
22563 (ieee1275_get_time_ms): New function.
22564 (grub_machine_init): Install get_time_ms() implementation.
22565
22566 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
22567 (grub_machine_init): Call grub_tsc_init().
22568 (grub_millisleep): Removed.
22569
22570 * kern/ieee1275/init.c (grub_millisleep): Removed.
22571 (grub_machine_init): Install ieee1275_get_time_ms()
22572 implementation.
22573 (ieee1275_get_time_ms): New function.
22574 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
22575 real work.
22576
22577 2008-08-05 Marco Gerards <marco@gnu.org>
22578
22579 * disk/ata.c: Include <grub/pci.h>.
22580 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
22581 (grub_ata_initialize): Rewritten.
22582 (grub_ata_device_initialize): New function.
22583
22584 2008-08-04 Pavel Roskin <proski@gnu.org>
22585
22586 * kern/main.c: Include grub/mm.h.
22587
22588 2008-08-04 Robert Millan <rmh@aybabtu.com>
22589
22590 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
22591 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
22592 corruption problem).
22593
22594 2008-08-04 Robert Millan <rmh@aybabtu.com>
22595
22596 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
22597 warnings introduced in my last commit.
22598
22599 2008-08-03 Robert Millan <rmh@aybabtu.com>
22600
22601 Make PCI available on all i386 architectures.
22602
22603 * include/grub/i386/pc/pci.h: Move from here ...
22604 * include/grub/i386/pci.h: ... to here.
22605
22606 * include/grub/i386/pc/pci.h: Remove.
22607 * include/grub/i386/efi/pci.h: Remove.
22608 * include/grub/x86_64/efi/pci.h: Remove.
22609
22610 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
22611 `<grub/cpu/pci.h>'.
22612
22613 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
22614 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
22615 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
22616
22617 * conf/i386-ieee1275.rmk: Likewise.
22618
22619 2008-08-03 Robert Millan <rmh@aybabtu.com>
22620
22621 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
22622 (grub_console_setcursor): Make it possible to set cursor off.
22623
22624 2008-08-03 Robert Millan <rmh@aybabtu.com>
22625
22626 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
22627 of modules instead of assuming which platform provides what.
22628 * util/update-grub.in: Likewise.
22629
22630 2008-08-03 Robert Millan <rmh@aybabtu.com>
22631
22632 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
22633 instead of `grub_install_dos_part' to determine whether a drive needs
22634 to be prepended to prefix (`grub_install_dos_part' is not reliable,
22635 because it can be overridden when loading GRUB via Multiboot).
22636
22637 2008-08-02 Robert Millan <rmh@aybabtu.com>
22638
22639 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
22640
22641 2008-08-02 Robert Millan <rmh@aybabtu.com>
22642
22643 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
22644 of informational grub_dprintf() calls.
22645
22646 2008-08-02 Robert Millan <rmh@aybabtu.com>
22647
22648 * disk/memdisk.c (memdisk_size): Don't initialize.
22649 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
22650
22651 * include/grub/i386/pc/kernel.h
22652 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
22653 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
22654 (grub_memdisk_image_size, grub_arch_memdisk_addr)
22655 (grub_arch_memdisk_size): Remove.
22656
22657 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
22658 field (was only used to transfer a constant). Add `type' field to
22659 support multiple module types.
22660 (grub_module_iterate): New function.
22661
22662 * kern/device.c (grub_device_open): Do not hide error messages
22663 when grub_disk_open() fails. Use grub_print_error() instead.
22664
22665 * kern/i386/pc/init.c (grub_arch_modules_addr)
22666 (grub_arch_memdisk_size): Remove functions.
22667 (grub_arch_modules_addr): Return the module address in high memory
22668 (now that it isn't copied anymore).
22669
22670 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
22671 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
22672 decompression routine (grub_total_module_size already includes that
22673 now). Don't copy modules back to low memory.
22674
22675 * kern/main.c: Include `<grub/mm.h>'.
22676 (grub_load_modules): Split out (and use) ...
22677 (grub_module_iterate): ... this function, which iterates through
22678 module objects and runs a hook.
22679 Comment out grub_mm_init_region() call, as it would cause non-ELF
22680 modules to be overwritten.
22681
22682 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
22683 the memdisk image in its own region, make it part of the module list.
22684 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
22685 (main): Parse --memdisk|-m option, and pass user-provided path as
22686 parameter to generate_image().
22687 (add_segments): Pass `memdisk_path' down to load_modules().
22688 (load_modules): Embed memdisk image in module section when requested.
22689 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
22690 `header.type' instead of `header.offset'.
22691
22692 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
22693 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
22694 (memdisk_mod_LDFLAGS): New variables.
22695 * conf/i386-coreboot.rmk: Likewise.
22696 * conf/i386-ieee1275.rmk: Likewise.
22697
22698 2008-08-02 Robert Millan <rmh@aybabtu.com>
22699
22700 * loader/i386/pc/multiboot.c (playground, forward_relocator)
22701 (backward_relocator): New variables. Used to allocate and relocate
22702 the payload, respectively.
22703 (grub_multiboot_load_elf32): Load into heap instead of requested
22704 address, install the appropriate relocator code in each bound of
22705 the payload, and set the entry point such that
22706 grub_multiboot_real_boot() will jump to one of them.
22707
22708 * kern/i386/loader.S (grub_multiboot_payload_size)
22709 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
22710 (grub_multiboot_payload_entry_offset): New variables.
22711 (grub_multiboot_real_boot): Set cpu context to what the relocator
22712 expects, and jump to the relocator instead of the payload.
22713
22714 * include/grub/i386/loader.h (grub_multiboot_payload_size)
22715 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
22716 (grub_multiboot_payload_entry_offset): Export.
22717
22718 2008-08-01 Bean <bean123ch@gmail.com>
22719
22720 * normal/menu_entry.c (editor_getline): Don't return the original
22721 string as result, as it will be released by lexer once it has done
22722 using it.
22723
22724 2008-08-01 Robert Millan <rmh@aybabtu.com>
22725
22726 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
22727 within menuentries, not before them.
22728 util/grub.d/10_hurd.in: Likewise.
22729
22730 2008-08-01 Bean <bean123ch@gmail.com>
22731
22732 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
22733 (bufio_mod_SOURCES): New macro.
22734 (bufio_mod_CFLAGS): Likewise.
22735 (bufio_mod_LDFLAGS): Likewise.
22736
22737 * include/grub/bufio.h: New file.
22738
22739 * io/bufio.c: Likewise.
22740
22741 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
22742 (grub_video_reader_png): Use grub_buffile_open to open file.
22743
22744 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
22745 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
22746
22747 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
22748 (grub_video_reader_tga): Use grub_buffile_open to open file.
22749
22750 * font/manager.c: Include <grub/bufio.h>.
22751 (add_font): Use grub_buffile_open to open file.
22752
22753 2008-07-31 Robert Millan <rmh@aybabtu.com>
22754
22755 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
22756 ELF segments, use a macro for arbitrarily accessing any of them instead
22757 of preparing a pointer that allows access to one at a time.
22758 (grub_multiboot_load_elf64): Likewise.
22759
22760 2008-07-31 Bean <bean123ch@gmail.com>
22761
22762 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
22763 GRUB_KERNEL_MACHINE_DATA_END.
22764
22765 2008-07-30 Robert Millan <rmh@aybabtu.com>
22766
22767 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
22768 Increase from 0x50 to 0x60.
22769 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
22770 use UUIDs to identify the root drive for them. If that's not
22771 possible, abort.
22772 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
22773 check, for cross-disk installs.
22774
22775 2008-07-30 Robert Millan <rmh@aybabtu.com>
22776
22777 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
22778 is non-empty, use it to set the `prefix' environment variable instead
22779 of the usual approach.
22780 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
22781 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
22782 environment variable instead of dummy make_install_device().
22783
22784 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
22785 (start): Insert a data section, with `grub_prefix' variable.
22786 * kern/i386/linuxbios/startup.S: Likewise.
22787
22788 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
22789 New variable reference.
22790 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
22791 New macro. Defines offset of `grub_prefix' within startup.S (relative
22792 to `start').
22793 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
22794 section within startup.S (relative to `start').
22795 * include/grub/i386/coreboot/kernel.h: Likewise.
22796
22797 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
22798 Overwrite grub_prefix with its contents, at the beginning of the
22799 first segment.
22800 (main): Understand -p|--prefix.
22801
22802 2008-07-30 Robert Millan <rmh@aybabtu.com>
22803
22804 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
22805
22806 2008-07-30 Robert Millan <rmh@aybabtu.com>
22807
22808 * term/i386/pc/vga_text.c (grub_console_cls): Use
22809 grub_console_gotoxy() to go back to beginning of the screen.
22810 Found by Patrick Georgi <patrick.georgi@coresystems.de>
22811
22812 2008-07-29 Christian Franke <franke@computer.org>
22813
22814 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22815 Add conversion of emulated mount points on Cygwin.
22816
22817 2008-07-29 Christian Franke <franke@computer.org>
22818
22819 * util/update-grub.in: Add a check for admin
22820 group on Cygwin.
22821 Remove old `grub.cfg.new' before creation.
22822 Add `-f' to `mv' to handle the different filesystem
22823 semantics of Windows.
22824
22825 2008-07-29 Bean <bean123ch@gmail.com>
22826
22827 * normal/main.c (get_line): Fix buffer overflow bug.
22828
22829 2008-07-28 Robert Millan <rmh@aybabtu.com>
22830
22831 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
22832 (struct grub_apple_header): New struct. Describes the layout of
22833 the partmap header.
22834 (apple_partition_map_iterate): Check the header magic as well as the
22835 partition magic (which was already being checked).
22836
22837 2008-07-28 Pavel Roskin <proski@gnu.org>
22838
22839 * genmk.rb: Add a warning to the beginning of the output that
22840 it's a generated file and should not be edited.
22841
22842 2008-07-28 Robert Millan <rmh@aybabtu.com>
22843
22844 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22845 with the same number are found, just use issue a warning with
22846 grub_dprintf(), as this error has been reported to be non-fatal.
22847
22848 2008-07-27 Robert Millan <rmh@aybabtu.com>
22849
22850 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
22851 information.
22852
22853 2008-07-27 Bean <bean123ch@gmail.com>
22854
22855 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
22856 (grub_fat_find_dir): Ignore case when comparing filename.
22857
22858 2008-07-27 Bean <bean123ch@gmail.com>
22859
22860 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
22861 smallino, as it's more descriptive, and i8count can be confused with
22862 the other field count.
22863 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
22864 inode type.
22865
22866 2008-07-27 Bean <bean123ch@gmail.com>
22867
22868 * commands/crc.c: New file.
22869
22870 * lib/crc.c: Likewise.
22871
22872 * include/grub/lib/crc.h: Likewise.
22873
22874 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
22875
22876 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
22877 (hexdump): Move this function to ...
22878
22879 * lib/hexdump.c: ... here.
22880
22881 * include/grub/hexdump.h: Renamed to ...
22882
22883 * include/grub/lib/hexdump.h: ... this.
22884
22885 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
22886
22887 * util/grub-editenv.c: Likewise.
22888
22889 * include/envblk.h: Renamed to ...
22890
22891 * include/lib/envblk.h: ... this.
22892
22893 * util/envblk.c: Renamed to ...
22894
22895 * lib/envblk.c: ... this.
22896
22897 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
22898 lib/hexdump.c.
22899 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
22900 (pkglib_MODULES): Add crc.mod.
22901 (hexdump_mod_SOURCES): Add lib/hexdump.c.
22902 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
22903 (crc_mod_SOURCES): New macro.
22904 (crc_mod_CFLAGS): Likewise.
22905 (crc_mod_LDFLAGS): Likewise.
22906
22907 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
22908
22909 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22910
22911 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22912
22913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22914
22915 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22916
22917 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
22918
22919 * commands/help.c: Include <grub/term.h>.
22920 (TERM_WIDTH): Removed. Updated all users.
22921
22922 2008-07-27 Pavel Roskin <proski@gnu.org>
22923
22924 * util/getroot.c (find_root_device): Rephrase a comment to avoid
22925 spurious warnings about a comment within a comment.
22926
22927 2008-07-25 Robert Millan <rmh@aybabtu.com>
22928
22929 * util/getroot.c (find_root_device): Skip devices that match
22930 /dev/dm-[0-9]. This lets the real device be found for any type of
22931 abstraction (LVM, EVMS, RAID..).
22932 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
22933 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
22934 device is found first, find_root_device() will now skip it.
22935
22936 2008-07-24 Pavel Roskin <proski@gnu.org>
22937
22938 * include/grub/types.h: Use __builtin_bswap32() and
22939 __builtin_bswap64() with gcc 4.3 and newer.
22940
22941 2008-07-24 Christian Franke <franke@computer.org>
22942
22943 * util/i386/pc/grub-install.in: If `--debug' is specified,
22944 pass `--verbose' to grub-setup.
22945 Abort script if make_system_path_relative_to_its_root() fails.
22946
22947 2008-07-24 Bean <bean123ch@gmail.com>
22948
22949 * configure.ac: Fixed a bug caused by the previous cygwin patch,
22950 variable `target_platform' should be `platform'.
22951
22952 2008-07-24 Bean <bean123ch@gmail.com>
22953
22954 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
22955 (grub_png_init_fixed_block): New function.
22956 (grub_png_decode_image_data): Handle fixed huffman code compression.
22957
22958 2008-07-24 Bean <bean123ch@gmail.com>
22959
22960 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
22961 (grub_pe2elf_SOURCES): New macro.
22962 (CLEANFILES): Add grub-pe2elf.
22963
22964 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
22965 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
22966 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
22967 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
22968 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
22969 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
22970 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
22971 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
22972 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
22973 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
22974 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
22975 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
22976 (GRUB_PE32_DT_FUNCTION): Likewise.
22977 (GRUB_PE32_REL_I386_DIR32): Likewise.
22978 (GRUB_PE32_REL_I386_REL32): Likewise.
22979 (grub_pe32_symbol): New structure.
22980 (grub_pe32_reloc): Likewise.
22981
22982 * util/grub-pe2elf.c: New file.
22983
22984 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
22985 start symbol in non pc platform.
22986
22987 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
22988
22989 The following patches are from Christian Franke.
22990
22991 * include/grub/dl.h: Remove .previous, gas supports this only
22992 for ELF format.
22993
22994 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
22995 Remove .type, gas supports this only for ELF format.
22996
22997 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
22998 nullbytes in symbol table. This fixes an infinite loop if table is
22999 zero filled.
23000
23001 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
23002 TARGET_IMG_LDFLAGS and EXEEXT.
23003
23004 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
23005 TARGET_IMG_LDFLAGS_AC.
23006 (grub_CHECK_STACK_ARG_PROBE): New function.
23007
23008 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
23009
23010 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
23011
23012 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
23013 to set TARGET_IMG_LD* accordingly.
23014 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
23015 Add call to grub_CHECK_STACK_ARG_PROBE.
23016 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
23017
23018 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
23019
23020 * genmk.rb: Add EXEEXT to CLEANFILES.
23021
23022 2008-07-23 Robert Millan <rmh@aybabtu.com>
23023
23024 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
23025 define the codes for arrows and lines used for the menu).
23026 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
23027 as well.
23028
23029 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
23030 fonts, because the latter are too slow.
23031
23032 2008-07-21 Bean <bean123ch@gmail.com>
23033
23034 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
23035 a20. Run keyboard test last, as it will cause macbook to halt.
23036
23037 2008-07-18 Pavel Roskin <proski@gnu.org>
23038
23039 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
23040 load foreign architecture modules correctly anyway. Keep
23041 support for loading host architecture modules, whether we
23042 compile them or not.
23043
23044 2008-07-17 Pavel Roskin <proski@gnu.org>
23045
23046 * configure.ac: Use -m32 or -m64 regardless of whether we had to
23047 change target_cpu. The compiler default can mismatch target_cpu
23048 in any case.
23049
23050 * disk/efi/efidisk.c: Fix format warnings on x86_64.
23051 * kern/efi/efi.c: Likewise.
23052
23053 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
23054 target compiler is functional.
23055 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
23056 are set up.
23057
23058 * configure.ac: Default to efi platform for x86_64-apple. Allow
23059 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
23060 adjustments from the rest, only do them if target is not
23061 explicitly given. Merge other adjustments with the final sanity
23062 check. Remove an extraneous check for supported CPU. Be
23063 specific which CPU and which platform is not supported.
23064
23065 * configure.ac: Default to pc platform for x86_64.
23066
23067 2008-07-17 Robert Millan <rmh@aybabtu.com>
23068
23069 Partial LinuxBIOS -> Coreboot rename.
23070
23071 * conf/i386-linuxbios.rmk: Renamed to ...
23072 * conf/i386-coreboot.rmk: ... this.
23073 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
23074 * configure.ac: Accept "coreboot" as input platform (but maintain
23075 compatibility with "linuxbios").
23076 * include/grub/i386/linuxbios: Renamed to ...
23077 * include/grub/i386/coreboot: ... this.
23078
23079 2008-07-17 Bean <bean123ch@gmail.com>
23080
23081 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
23082 (appleldr_mod_SOURCE): New variable.
23083 (appleldr_mod_CFLAGS): Likewise.
23084 (appleldr_mod_LDFLAGS): Likewise.
23085 (pci_mod_SOURCES): Likewise.
23086 (pci_mod_CFLAGS): Likewise.
23087 (pci_mod_LDFLAGS): Likewise.
23088 (lspci_mod_SOURCES): Likewise.
23089 (lspci_mod_CFLAGS): Likewise.
23090 (lspci_mod_LDFLAGS): Likewise.
23091
23092 * conf/x86_64-efi.rmk: New file.
23093
23094 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
23095 macro.
23096 (grub_efidisk_write): Likewise.
23097
23098 * include/efi/api.h (efi_call_0): New macro.
23099 (efi_call_1): Likewise.
23100 (efi_call_2): Likewise.
23101 (efi_call_3): Likewise.
23102 (efi_call_4): Likewise.
23103 (efi_call_5): Likewise.
23104 (efi_call_6): Likewise.
23105
23106 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
23107 grub_rescue_cmd_chainloader.
23108
23109 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
23110 (grub_pe32_optional_header): Change some fields based on i386 or
23111 x86_64 platform.
23112 (GRUB_PE32_PE32_MAGIC): Likewise.
23113
23114 * include/grub/efi/uga_draw.h: New file.
23115
23116 * include/grub/elf.h (STN_ABS): New constant.
23117 (R_X86_64_NONE): Relocation constant for x86_64.
23118 (R_X86_64_64): Likewise.
23119 (R_X86_64_PC32): Likewise.
23120 (R_X86_64_GOT32): Likewise.
23121 (R_X86_64_PLT32): Likewise.
23122 (R_X86_64_COPY): Likewise.
23123 (R_X86_64_GLOB_DAT): Likewise.
23124 (R_X86_64_JUMP_SLOT): Likewise.
23125 (R_X86_64_RELATIVE): Likewise.
23126 (R_X86_64_GOTPCREL): Likewise.
23127 (R_X86_64_32): Likewise.
23128 (R_X86_64_32S): Likewise.
23129 (R_X86_64_16): Likewise.
23130 (R_X86_64_PC16): Likewise.
23131 (R_X86_64_8): Likewise.
23132 (R_X86_64_PC8): Likewise.
23133
23134 * include/grub/i386/efi/pci.h: New file.
23135
23136 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
23137 Change it value based on platform.
23138 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
23139 (GRUB_E820_RAM): Likewise.
23140 (GRUB_E820_RESERVED): Likewise.
23141 (GRUB_E820_ACPI): Likewise.
23142 (GRUB_E820_NVS): Likewise.
23143 (GRUB_E820_EXEC_CODE): Likewise.
23144 (GRUB_E820_MAX_ENTRY): Likewise.
23145 (grub_e820_mmap): New structure.
23146 (linux_kernel_header): Change the efi field according to different
23147 kernel version, also field from linux_kernel_header.
23148
23149 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
23150
23151 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
23152 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
23153 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
23154 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
23155 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
23156 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
23157 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
23158 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
23159 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
23160 (GRUB_PCI_ADDR_IO_MASK): Likewise.
23161
23162 * include/grub/x86_64/efi/kernel.h: New file.
23163
23164 * include/grub/x86_64/efi/loader.h: Likewise.
23165
23166 * include/grub/x86_64/efi/machine.h: Likewise.
23167
23168 * include/grub/x86_64/efi/pci.h: Likewise.
23169
23170 * include/grub/x86_64/efi/time.h: Likewise.
23171
23172 * include/grub/x86_64/linux.h: Likewise.
23173
23174 * include/grub/x86_64/setjmp.h: Likewise.
23175
23176 * include/grub/x86_64/time.h: Likewise.
23177
23178 * include/grub/x86_64/types.h: Likewise.
23179
23180 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
23181 GRUB_TARGET_SIZEOF_VOID_P.
23182
23183 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
23184 (grub_efi_locate_handle): Likewise.
23185 (grub_efi_open_protocol): Likewise.
23186 (grub_efi_set_text_mode): Likewise.
23187 (grub_efi_stall): Likewise.
23188 (grub_exit): Likewise.
23189 (grub_reboot): Likewise.
23190 (grub_halt): Likewise.
23191 (grub_efi_exit_boot_services): Likewise.
23192 (grub_get_rtc): Likewise.
23193
23194 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
23195 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
23196 (grub_efi_allocate_pages): Wrap efi calls.
23197 (grub_efi_free_pages): Wrap efi calls.
23198 (grub_efi_get_memory_map): Wrap efi calls.
23199
23200 * kern/x86_64/dl.c: New file.
23201
23202 * kern/x86_64/efi/callwrap.S: Likewise.
23203
23204 * kern/x86_64/efi/startup.S: Likewise.
23205
23206 * loader/efi/appleloader.c: Likewise.
23207
23208 * loader/efi/chainloader.c (cmdline): New variable.
23209 (grub_chainloader_unload): Wrap efi calls.
23210 (grub_chainloader_boot): Likewise.
23211 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
23212 command line.
23213
23214 * loader/efi/chainloader_normal.c (chainloader_command):
23215 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
23216 command line.
23217
23218 * loader/i386/efi/linux.c (allocate_pages): Change allocation
23219 method.
23220 (grub_e820_add_region): New function.
23221 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
23222 booting.
23223 (grub_find_video_card): New function.
23224 (grub_linux_setup_video): New function.
23225 (grub_rescue_cmd_linux): Probe for video information.
23226
23227 * normal/x86_64/setjmp.S: New file.
23228
23229 * term/efi/console.c (map_char): New function.
23230 (grub_console_putchar): Map unicode char.
23231 (grub_console_checkkey): Wrap efi calls.
23232 (grub_console_getkey): Likewise.
23233 (grub_console_getwh): Likewise.
23234 (grub_console_gotoxy): Likewise.
23235 (grub_console_cls): Likewise.
23236 (grub_console_setcolorstate): Likewise.
23237 (grub_console_setcursor): Likewise.
23238
23239 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
23240
23241 2008-07-16 Pavel Roskin <proski@gnu.org>
23242
23243 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
23244 format strings.
23245
23246 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
23247 pointer, not an integer. This fixes a warning and prevents
23248 precision loss on 64-bit systems.
23249 (relocate_addresses): Remove unneeded cast.
23250
23251 2008-07-15 Pavel Roskin <proski@gnu.org>
23252
23253 * kern/i386/ieee1275/init.c: Include grub/cache.h.
23254
23255 * term/ieee1275/ofconsole.c: Disable code unused on i386.
23256
23257 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
23258 Fix comparison between signed and unsigned.
23259
23260 * include/grub/i386/ieee1275/console.h: Declare
23261 grub_console_init() and grub_console_fini().
23262
23263 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
23264 It's empty and unused.
23265
23266 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
23267 beginning to avoid warnings with some compilers.
23268
23269 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
23270 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
23271
23272 2008-07-14 Pavel Roskin <proski@gnu.org>
23273
23274 * kern/env.c (grub_register_variable_hook): Don't copy empty
23275 string, it leaks memory. Pass "" to grub_env_set(), it should
23276 handle constant strings.
23277
23278 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
23279 * commands/cmp.c (grub_cmd_cmp): Likewise.
23280 * kern/dl.c (grub_dl_flush_cache): Likewise.
23281 (grub_dl_load_core): Likewise.
23282 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
23283 (grub_elf64_load_phdrs): Likewise.
23284
23285 2008-07-13 Pavel Roskin <proski@gnu.org>
23286
23287 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
23288 between signed and unsigned.
23289 (LzmaEnc_Finish): Fix warning about an unused parameter.
23290
23291 2008-07-13 Bean <bean123ch@gmail.com>
23292
23293 * Makefile.in (enable_lzo): New rule.
23294
23295 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
23296
23297 * configure.ac (ENABLE_LZO): New option --enable-lzo.
23298
23299 * boot/i386/pc/lnxboot.S: #include <config.h>.
23300
23301 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
23302 its value according to the compression algorithm used, lzo or lzma.
23303
23304 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
23305 compression algorithm according to configure macro.
23306
23307 * kern/i386/pc/startup.S (codestart): Likewise.
23308
23309 * kern/i386/pc/lzma_decode.S: New file.
23310
23311 * include/grub/lib/LzFind.h: Likewise.
23312
23313 * include/grub/lib/LzHash.h: Likewise.
23314
23315 * include/grub/lib/LzmaDec.h: Likewise.
23316
23317 * include/grub/lib/LzmaEnc.h: Likewise.
23318
23319 * include/grub/lib/LzmaTypes.h: Likewise.
23320
23321 * lib/LzFind.c: Likewise.
23322
23323 * lib/LzmaDec.c: Likewise.
23324
23325 * lib/LzmaEnc.c: Likewise.
23326
23327 2008-07-13 Bean <bean123ch@gmail.com>
23328
23329 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
23330 (grub_ext4_extent_header): New structure.
23331 (grub_ext4_extent): Likewise.
23332 (grub_ext4_extent_idx): Likewise.
23333 (grub_ext4_find_leaf): New function.
23334 (grub_ext2_read_block): Handle extents.
23335
23336 2008-07-12 Robert Millan <rmh@aybabtu.com>
23337
23338 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
23339
23340 2008-07-11 Robert Millan <rmh@aybabtu.com>
23341
23342 * util/grub.d/40_custom.in: New file. Example on how to add custom
23343 entries to /etc/grub.d.
23344 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
23345 40_custom (implicitly, by merging all the grub.d rules).
23346
23347 2008-07-11 Pavel Roskin <proski@gnu.org>
23348
23349 * commands/read.c (grub_getline): Fix invalid memory access.
23350 Don't add newline to the variable value.
23351
23352 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
23353 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
23354 (serial_hw_get_port): Check validity of the port number.
23355 (grub_cmd_serial): Check return value of serial_hw_get_port().
23356
23357 2008-07-07 Pavel Roskin <proski@gnu.org>
23358
23359 * boot/i386/pc/diskboot.S (notification_string): Replace
23360 "Loading kernel" with just "loading". This is shorter, less
23361 confusing and saves a few bytes for possible future changes.
23362
23363 2008-07-05 Pavel Roskin <proski@gnu.org>
23364
23365 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
23366 size for ATAPI devices, they are undefined. Output sector
23367 number in decimal form.
23368
23369 * disk/ata.c: Use named constants for status bits.
23370
23371 2008-07-04 Pavel Roskin <proski@gnu.org>
23372
23373 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
23374 grub_addr_t before casting it to the void pointer to fix a
23375 warning. Non-addressable regions are discarded earlier.
23376 (grub_arch_modules_addr): Cast _end to grub_addr_t.
23377 * kern/i386/linuxbios/table.c: Include grub/misc.h.
23378 (check_signature): Don't shadow table_header.
23379 (grub_linuxbios_table_iterate): Cast numeric constants to
23380 grub_linuxbios_table_header_t.
23381 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
23382 grub_stop().
23383
23384 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
23385 prevent warnings.
23386
23387 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
23388 pointer, which can cause warnings. Support 64-bit addresses.
23389
23390 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
23391 of sizeof(long). This fixes PowerPC image generation on x86_64.
23392
23393 2008-07-04 Robert Millan <rmh@aybabtu.com>
23394
23395 This fixes a performance issue when pc & gpt partmap iterators
23396 didn't abort iteration even after our hook found what it was
23397 looking for (often causing expensive probes of non-existent drives).
23398
23399 Some callers relied on previous buggy behaviour, since they would
23400 raise an error when their own hooks caused early abortion of its
23401 iteration.
23402
23403 * kern/device.c (grub_device_open): Improve error message.
23404 * disk/lvm.c (grub_lvm_open): Likewise.
23405 * disk/raid.c (grub_raid_open): Likewise.
23406
23407 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
23408 when hook requests it, independently of grub_errno.
23409 (pc_partition_map_probe): Do not fail when find_func() caused
23410 early abortion of pc_partition_map_iterate().
23411
23412 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
23413 when hook requests it, independently of grub_errno.
23414 (gpt_partition_map_probe): Do not fail when find_func() caused
23415 early abortion of gpt_partition_map_iterate().
23416
23417 * kern/partition.c (grub_partition_iterate): Abort parent iteration
23418 when hook requests it, independently of grub_errno. Do not fail when
23419 part_map_iterate_hook() caused early abortion of p->iterate().
23420
23421 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
23422 when grub_partition_iterate() returned with non-zero.
23423
23424 2008-07-03 Pavel Roskin <proski@gnu.org>
23425
23426 * disk/ata.c (grub_ata_pio_write): Check status before writing,
23427 like we do in grub_ata_pio_read().
23428 (grub_ata_readwrite): Always write individual sectors. Fix the
23429 sector count for the remainder.
23430 (grub_ata_write): Enable writing to ATA devices. Correctly
23431 report error for ATAPI devices.
23432
23433 2008-07-02 Pavel Roskin <proski@gnu.org>
23434
23435 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
23436 warning.
23437
23438 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
23439 for every read sector, we already increment it for the whole
23440 batch. This fixes reading more than 256 sectors at once.
23441
23442 * util/grub-editenv.c (cmd_info): Cast argument to long
23443 explicitly. ptrdiff_t reduces to int on i386.
23444
23445 * util/grub-editenv.c (main): Be specific which parameter is
23446 missing.
23447
23448 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
23449 (memdisk): Make memdisk_orig_addr a pointer.
23450
23451 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
23452 for file offsets, use grub_off_t instead. Fix printf format
23453 warnings.
23454
23455 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
23456 there. Real unexpected warnings should not drown in the noise
23457 about known problems.
23458
23459 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
23460 grub_disk_addr_t for memory addresses.
23461
23462 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
23463 explicitly to fix a warning.
23464
23465 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
23466
23467 * Makefile.in (MODULE_LDFLAGS): New variable.
23468 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
23469 the linker accepts --build-id=none.
23470 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
23471 MODULE_LDFLAGS.
23472 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
23473
23474 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
23475 those in Linux XFS code. Provide a way to access 64-bit parent
23476 inode.
23477 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
23478 the end of struct grub_xfs_dir_header.
23479
23480 2008-07-02 Bean <bean123ch@gmail.com>
23481
23482 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
23483 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23484 and GRUB_IEEE1275_FLAG_NO_ANSI.
23485
23486 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
23487 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23488 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
23489
23490 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
23491 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
23492
23493 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
23494 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
23495
23496 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
23497 esc sequence on non ANSI terminal.
23498 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
23499
23500 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
23501 beginning of file.
23502
23503 2008-07-02 Bean <bean123ch@gmail.com>
23504
23505 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
23506 (grub_editenv_SOURCES): New variable.
23507 (pkglib_MODULES): Add loadenv.mod.
23508 (loadenv_mod_SOURCES): New variable.
23509 (loadenv_mod_CFLAGS): Likewise.
23510 (loadenv_mod_LDFLAGS): Likewise.
23511
23512 * include/grub/envblk.h: New file.
23513
23514 * util/envblk.c: New file.
23515
23516 * util/grub-editenv.c: New file.
23517
23518 * commands/loadenv.c: New file.
23519
23520 2008-07-01 Pavel Roskin <proski@gnu.org>
23521
23522 * include/multiboot2.h (struct multiboot_tag_module): Use char,
23523 not unsigned char. This fixes warnings and is consistent with
23524 other tags.
23525
23526 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
23527
23528 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
23529
23530 * term/tparm.c (analyze): Always set *popcount.
23531
23532 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
23533 cast to fix a warning.
23534
23535 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
23536 cast to suppress a warning.
23537
23538 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
23539 grub_fshelp_read_file() expects.
23540
23541 * fs/fat.c: Fix UUID calculation on big-endian systems. We
23542 write uuid as a 32-bit value in CPU byte order, so declare and
23543 use it as such.
23544
23545 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
23546 long if the format specifier expects it.
23547 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
23548 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23549 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
23550 long to fix a warning.
23551 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
23552 grub_dprintf() arguments to fix warnings.
23553
23554 2008-06-30 Pavel Roskin <proski@gnu.org>
23555
23556 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
23557 install_bsd_part immediately before core.img is embedded or
23558 modified on disk. This fixes core.img verification if core.img
23559 cannot be embedded.
23560
23561 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
23562 core_path to calculate the blocklist.
23563 Patch from Javier Martín <lordhabbit@gmail.com>
23564
23565 2008-06-29 Robert Millan <rmh@aybabtu.com>
23566
23567 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
23568 block to disk block.
23569 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
23570 Patch from Niels Böhm <bitbucket@arcor.de>
23571
23572 2008-06-29 Robert Millan <rmh@aybabtu.com>
23573
23574 * util/update-grub_lib.in (font_path): Search for fonts in
23575 /boot/grub first, which is more likely to be readable (we aren't
23576 deciding where fonts live, just looking for them).
23577
23578 2008-06-26 Pavel Roskin <proski@gnu.org>
23579
23580 * util/biosdisk.c (read_device_map): Don't leave dead map
23581 entries for devices failing stat() check.
23582
23583 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
23584 core_path_dev for the core.img path on the target device.
23585
23586 2008-06-26 Robert Millan <rmh@aybabtu.com>
23587
23588 * disk/fs_uuid.c: New file.
23589 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
23590 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
23591 (fs_uuid_mod_LDFLAGS): New variables.
23592 * include/grub/disk.h (grub_disk_dev_id): Add
23593 `GRUB_DISK_DEVICE_UUID_ID'.
23594 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
23595 implement iterate().
23596
23597 2008-06-26 Robert Millan <rmh@aybabtu.com>
23598
23599 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
23600 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
23601 Linux image includes no initrd.
23602
23603 2008-06-21 Javier Martín <lordhabbit@gmail.com>
23604
23605 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
23606 call to resolve the core image location that effectively appended the
23607 name twice.
23608
23609 2008-06-21 Robert Millan <rmh@aybabtu.com>
23610
23611 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
23612 call from here ...
23613
23614 * util/grub.d/10_hurd.in: ... to here ...
23615 * util/grub.d/10_linux.in: ... and here.
23616
23617 2008-06-19 Robert Millan <rmh@aybabtu.com>
23618
23619 * kern/main.c (grub_main): Export `prefix' variable immediately
23620 after it has been set by grub_machine_set_prefix().
23621
23622 2008-06-19 Robert Millan <rmh@aybabtu.com>
23623
23624 * commands/search.c (search_label, search_fs_uuid, search_file): Print
23625 search result when not saving to variable, not the other way around.
23626 When saving to variable, abort iteration as soon as a match is found.
23627
23628 2008-06-19 Robert Millan <rmh@aybabtu.com>
23629
23630 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
23631 check for partition that provides /boot/grub. Its logic is flawed,
23632 as it prevents prepare_grub_to_access_device() from being called
23633 multiple times.
23634
23635 2008-06-19 Robert Millan <rmh@aybabtu.com>
23636
23637 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
23638 "insmod" command directly when abstraction modules are needed,
23639 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
23640 since it had already been processed).
23641
23642 2008-06-19 Pavel Roskin <proski@gnu.org>
23643
23644 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
23645 changed. This is needed in case GRUB_LIBDIR changes.
23646 * conf/i386-ieee1275.rmk: Likewise.
23647 * conf/i386-linuxbios.rmk: Likewise.
23648 * conf/i386-pc.rmk: Likewise.
23649 * conf/powerpc-ieee1275.rmk: Likewise.
23650
23651 2008-06-18 Pavel Roskin <proski@gnu.org>
23652
23653 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
23654 kernel_elf_symlist.c to symlist.c for consistency with other
23655 architectures. Update all users.
23656 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23657
23658 2008-06-18 Robert Millan <rmh@aybabtu.com>
23659
23660 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
23661 it in prefix.
23662
23663 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
23664 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
23665 a RAID device, run setup() for all members independently on whether
23666 LVM abstraction is being used.
23667 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
23668 If grub-mkimage has set `*install_dos_part == -2', don't override this
23669 value.
23670 Perform *install_dos_part adjustments independently on whether
23671 we're embedding or not.
23672 Clarify error message when image is too big for embedding.
23673 Remove duplicate *install_dos_part stanza.
23674
23675 2008-06-17 Robert Millan <rmh@aybabtu.com>
23676
23677 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
23678 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
23679 variables.
23680 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
23681 values in grub_ofconsole_normal_color and
23682 grub_ofconsole_highlight_color (they're not directly related to
23683 background and foreground).
23684 (grub_ofconsole_setcolorstate): Extract background and foreground
23685 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
23686
23687 2008-06-17 Robert Millan <rmh@aybabtu.com>
23688
23689 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
23690 /boot/grub for the check in last commit, not /boot (they could be
23691 different partitions).
23692
23693 2008-06-16 Robert Millan <rmh@aybabtu.com>
23694
23695 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
23696 asked to setup access for the same partition that provides /boot,
23697 don't bother using UUIDs since our root already has the value we
23698 want.
23699
23700 2008-06-16 Robert Millan <rmh@aybabtu.com>
23701
23702 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
23703 I2O devices.
23704 Patch from Sven Mueller <sven@debian.org>.
23705
23706 2008-06-16 Robert Millan <rmh@aybabtu.com>
23707
23708 * util/update-grub.in: Check for $EUID instead of $UID.
23709 Reported by Vincent Zweije.
23710
23711 2008-06-16 Bean <bean123ch@gmail.com>
23712
23713 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
23714 (grub_ext2_read_block): Likewise.
23715 (grub_ext2_read_inode): Likewise.
23716 (grub_ext2_mount): Likewise.
23717 (grub_ext2_close): Likewise.
23718 (grub_ext3_get_journal): Removed.
23719
23720 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
23721 (grub_reiserfs_read_symlink): Likewise.
23722 (grub_reiserfs_mount): Likewise.
23723 (grub_reiserfs_open): Likewise.
23724 (grub_reiserfs_read): Likewise.
23725 (grub_reiserfs_close): Likewise.
23726 (grub_reiserfs_get_journal): Removed.
23727
23728 * fs/fshelp.c (grub_fshelp_read): Removed.
23729 (grub_fshelp_map_block): Likewise.
23730
23731 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
23732 (grub_fshelp_journal): Likewise.
23733 (grub_fshelp_read): Likewise.
23734 (grub_fshelp_map_block): Likewise.
23735
23736 2008-06-16 Pavel Roskin <proski@gnu.org>
23737
23738 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
23739 floating point anymore.
23740 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
23741
23742 2008-06-15 Pavel Roskin <proski@gnu.org>
23743
23744 * commands/ls.c (grub_ls_list_files): Use integer calculations
23745 for human readable format, avoid floating point use.
23746 * kern/misc.c (grub_ftoa): Remove.
23747 (grub_vsprintf): Remove floating point support.
23748
23749 2008-06-15 Robert Millan <rmh@aybabtu.com>
23750
23751 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
23752 devices.
23753 Reported by Max Vozeler.
23754
23755 2008-06-15 Robert Millan <rmh@aybabtu.com>
23756
23757 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
23758 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
23759 skipped later.
23760 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
23761 the beginning of the prefix.
23762
23763 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
23764 It is assumed that if we have a memdisk, grub-mkimage has set
23765 grub_prefix to include the "(memdisk)" drive in it.
23766
23767 2008-06-15 Robert Millan <rmh@aybabtu.com>
23768
23769 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
23770 Initialize keyboard controller after registering the terminal, so that
23771 grub_printf() can be called from grub_keyboard_controller_init().
23772
23773 2008-06-15 Robert Millan <rmh@aybabtu.com>
23774
23775 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
23776 extent-btree which is written as big endian on disk.
23777 Reported by Alain Greppin <al@chilibi.org>.
23778
23779 2008-06-14 Robert Millan <rmh@aybabtu.com>
23780
23781 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
23782 * util/i386/pc/grub-install.in (modules): Likewise.
23783
23784 2008-06-13 Pavel Roskin <proski@gnu.org>
23785
23786 * commands/ls.c (grub_ls_list_files): Fix format warnings.
23787
23788 2008-06-13 Bean <bean123ch@gmail.com>
23789
23790 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
23791
23792 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
23793
23794 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
23795 to indicate sparse block.
23796
23797 2008-06-12 Pavel Roskin <proski@gnu.org>
23798
23799 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
23800 number, grub_fshelp_read() does it for us.
23801
23802 * fs/fshelp.c (grub_fshelp_read): New function. Implement
23803 linear disk read with journal translation.
23804 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
23805 * include/grub/fshelp.h: Declare grub_fshelp_read().
23806
23807 2008-06-09 Pavel Roskin <proski@gnu.org>
23808
23809 * fs/minix.c (grub_minix_mount): Handle error reading
23810 superblock.
23811
23812 2008-06-08 Robert Millan <rmh@aybabtu.com>
23813
23814 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
23815 don't append the RAID prefix afterwards.
23816 Reported by Clint Adams.
23817
23818 2008-06-08 Robert Millan <rmh@aybabtu.com>
23819
23820 Based on description from Pavel:
23821 * kern/disk.c (grub_disk_check_range): Rename to ...
23822 (grub_disk_adjust_range): ... this. Add a comment explaining the
23823 tasks performed by this function.
23824
23825 2008-06-08 Robert Millan <rmh@aybabtu.com>
23826
23827 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
23828 `num_serial' (for consistency with other variables).
23829 (struct grub_ntfs_data): Add `uuid' member.
23830 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
23831 (grub_ntfs_uuid): New function.
23832 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
23833
23834 2008-06-07 Pavel Roskin <proski@gnu.org>
23835
23836 * util/biosdisk.c (open_device): Revert last change to the
23837 function, it broke installation. The sector needs to be
23838 different dependent on which device is opened.
23839
23840 2008-06-06 Robert Millan <rmh@aybabtu.com>
23841
23842 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
23843 rest of GRUB, and breakage doesn't happen if its value were modified.
23844
23845 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23846 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
23847 a constant (same value).
23848 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
23849 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
23850
23851 2008-06-06 Robert Millan <rmh@aybabtu.com>
23852
23853 * util/biosdisk.c (open_device): Do not modify sector offset when
23854 accessing a partition. kern/disk.c already handles this for us.
23855
23856 2008-06-06 Robert Millan <rmh@aybabtu.com>
23857
23858 * util/grub-emu.c (grub_machine_init): Move code in this function from
23859 here ...
23860 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
23861 segfault in case grub_printf() is called).
23862
23863 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
23864 grub_probe. Update all users not to explicitly add it again.
23865 (grub_device): New variable; contains corresponding device for grubdir.
23866 (fs_module, partmap_module, devabstraction_module): Pass
23867 `--device ${grub_device}' to grub_probe to avoid traversing /dev
23868 every time.
23869
23870 2008-06-05 Robert Millan <rmh@aybabtu.com>
23871
23872 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
23873 is found, print it (same layout as with labels).
23874
23875 2008-06-04 Robert Millan <rmh@aybabtu.com>
23876
23877 * util/biosdisk.c (get_drive): Rename to ...
23878 (find_grub_drive): ... this. Update all users.
23879
23880 (get_os_disk): Rename to ...
23881 (convert_system_partition_to_system_disk): ... this. Update all users.
23882
23883 (find_drive): Rename to ...
23884 (find_system_device): ... this. Update all users.
23885
23886 2008-06-04 Robert Millan <rmh@aybabtu.com>
23887
23888 * util/biosdisk.c (get_os_disk): Handle IDA devices.
23889 * util/grub-mkdevicemap.c (get_mmc_disk_name)
23890 (make_device_map): Likewise.
23891
23892 2008-06-01 Robert Millan <rmh@aybabtu.com>
23893
23894 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
23895 before dereferencing it.
23896
23897 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
23898 union with fat12/fat16-specific ones. Add some new fields, including
23899 `num_serial' for both versions.
23900 (struct grub_fat_data): Add `uuid' member.
23901 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
23902 names. Initialize `data->uuid' using `num_serial'.
23903 (grub_fat_uuid): New function.
23904 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
23905
23906 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
23907 (grub_reiserfs_uuid): New function.
23908 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
23909 member.
23910
23911 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
23912 (grub_xfs_uuid): New function.
23913 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
23914
23915 2008-06-01 Robert Millan <rmh@aybabtu.com>
23916
23917 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
23918 code that is backward compatible with pre-uuid search command.
23919
23920 2008-05-31 Robert Millan <rmh@aybabtu.com>
23921
23922 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
23923 floppies after everything else, to ensure floppy drive isn't accessed
23924 unnecessarily (patch from Bean).
23925
23926 2008-05-31 Robert Millan <rmh@aybabtu.com>
23927
23928 * commands/search.c (search_label, search_fs_uuid, search_file): Do
23929 not print device names when we were asked to set a variable.
23930
23931 2008-05-31 Robert Millan <rmh@aybabtu.com>
23932
23933 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
23934 using "cursor-on" and "cursor-off" commands (understood at least by
23935 the Open Firmware flavour on OLPC).
23936
23937 2008-05-31 Michael Gorven <michael@gorven.za.net>
23938
23939 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
23940 on and off sequences.
23941
23942 2008-05-31 Robert Millan <rmh@aybabtu.com>
23943
23944 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
23945 * util/update-grub.in: Likewise.
23946
23947 2008-05-30 Pavel Roskin <proski@gnu.org>
23948
23949 * util/biosdisk.c (linux_find_partition): Simplify logic and
23950 make the code more universal. Keep special processing for
23951 devfs, but use a simple rule for all other devices. If the
23952 device ends with a number, append 'p' and the partition number.
23953 Otherwise, append only the partition number.
23954
23955 2008-05-30 Robert Millan <rmh@aybabtu.com>
23956
23957 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
23958 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
23959 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
23960 the `root' parameter to Linux.
23961
23962 2008-05-30 Robert Millan <rmh@aybabtu.com>
23963
23964 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
23965 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
23966 --fs_uuid with --fs-uuid.
23967 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
23968 all filesystems support them).
23969
23970 2008-05-30 Robert Millan <rmh@aybabtu.com>
23971
23972 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
23973 grub_printf() flags, since we're printing in units of 2 bytes.
23974
23975 2008-05-30 Robert Millan <rmh@aybabtu.com>
23976
23977 * util/grub.d/00_header.in: Remove obsolete comment referencing
23978 convert_system_path_to_grub_path().
23979 * util/update-grub.in: Likewise.
23980 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
23981 (convert_system_path_to_grub_path): Add a warning message explaining
23982 that this function is deprecated. Rely on is_path_readable_by_grub()
23983 for the readability checks.
23984 (font_path): Use is_path_readable_by_grub() for the readability
23985 check rather than convert_system_path_to_grub_path().
23986
23987 2008-05-30 Robert Millan <rmh@aybabtu.com>
23988
23989 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
23990 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
23991 converting it first.
23992 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
23993 grub.cfg for access to font file, and afterwards call it again to set
23994 the root device.
23995
23996 2008-05-30 Robert Millan <rmh@aybabtu.com>
23997
23998 * commands/search.c (options): Add --fs_uuid option.
23999 (search_fs_uuid): New function.
24000 (grub_cmd_search): Fix --set argument passing.
24001 Use search_fs_uuid() when requested via --fs_uuid.
24002 (grub_search_init): Update help message.
24003 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
24004 and redeclare it as an array of 16-bit words.
24005 (grub_ext2_uuid): New function.
24006 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
24007 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
24008 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
24009 (GRUB_DEVICE_BOOT_UUID): New variables.
24010 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
24011 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
24012 whenever possible.
24013 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
24014 just assume `root' variable has the right value.
24015 * util/grub.d/10_linux.in: Likewise.
24016 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
24017 via PRINT_FS_UUID.
24018 (main): Recognise `-t fs_uuid' argument.
24019
24020 2008-05-30 Robert Millan <rmh@aybabtu.com>
24021
24022 * util/biosdisk.c (map): Redefine structure to hold information
24023 about GRUB drive name.
24024 (get_drive): Reimplement without assuming (and verifying) BIOS-like
24025 drive names.
24026 (call_hook): Remove.
24027 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
24028 member. Assume drive has partitions.
24029 (grub_util_biosdisk_open): Access device names via `.device' struct
24030 member.
24031 (open_device): Likewise.
24032 (find_drive): Likewise.
24033 (read_device_map): Adjust map[] usage to match the new struct
24034 definition. Don't check for duplicates (still possible, but not cheap
24035 anymore).
24036 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
24037 (make_device_name): Remove assumption of BIOS-like drive names.
24038
24039 2008-05-30 Pavel Roskin <proski@gnu.org>
24040
24041 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
24042 compiling execute.c doesn't need grub_script.tab.h anymore.
24043 (normal/command.c_DEPENDENCIES): Likewise.
24044 (normal/function.c_DEPENDENCIES): Likewise.
24045 * conf/i386-ieee1275.rmk: Likewise.
24046 * conf/i386-linuxbios.rmk: Likewise.
24047 * conf/i386-pc.rmk: Likewise.
24048 * conf/powerpc-ieee1275.rmk: Likewise.
24049 * conf/sparc64-ieee1275.rmk: Likewise.
24050
24051 2008-05-29 Pavel Roskin <proski@gnu.org>
24052
24053 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
24054 when scanning metadata for volume group name.
24055
24056 * include/grub/script.h: Don't include grub_script.tab.h. It's
24057 a generated file, which may only be included from the files with
24058 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
24059 use union YYSTYPE, as the later allows forward declaration.
24060 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
24061
24062 2008-05-29 Robert Millan <rmh@aybabtu.com>
24063
24064 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
24065 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
24066 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
24067 (grub_console_checkkey): Add grub_dprintf() call to report unknown
24068 scan codes.
24069
24070 2008-05-29 Robert Millan <rmh@aybabtu.com>
24071
24072 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
24073 control key combinations.
24074
24075 2008-05-29 Robert Millan <rmh@aybabtu.com>
24076
24077 * util/powerpc/ieee1275/grub-install.in: Move from here ...
24078 * util/ieee1275/grub-install.in: ... to here.
24079 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
24080 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
24081 (grub_install_SOURCES): Likewise.
24082
24083 2008-05-29 Robert Millan <rmh@aybabtu.com>
24084
24085 * fs/affs.c: Update copyright year.
24086 * fs/ext2.c: Likewise.
24087 * fs/fshelp.c: Likewise.
24088 * fs/hfsplus.c: Likewise.
24089 * fs/ntfs.c: Likewise.
24090 * fs/xfs.c: Likewise.
24091 * include/grub/fshelp.h: Likewise.
24092 * util/grub-mkdevicemap.c: Likewise.
24093
24094 2008-05-28 Robert Millan <rmh@aybabtu.com>
24095
24096 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
24097 might need to be fatfs to support some firmware implementations
24098 (e.g. OFW or EFI).
24099
24100 2008-05-28 Robert Millan <rmh@aybabtu.com>
24101
24102 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
24103 devices.
24104 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24105 (make_device_map): Likewise.
24106
24107 2008-05-20 Bean <bean123ch@gmail.com>
24108
24109 * fs/fshelp.c (grub_fshelp_map_block): New function.
24110 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
24111 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
24112
24113 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
24114 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
24115 (grub_fshelp_journal): New structure.
24116 (grub_fshelp_map_block): New function prototype.
24117 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
24118 (grub_fshelp_map_block): Likewise.
24119
24120 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
24121 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
24122 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
24123 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
24124 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
24125 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
24126 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
24127 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
24128 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
24129 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
24130 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
24131 (grub_ext2_sblock): New members for journal support.
24132 (grub_ext3_journal_header): New structure.
24133 (grub_ext3_journal_revoke_header): Likewise.
24134 (grub_ext3_journal_block_tag): Likewise.
24135 (grub_ext3_journal_sblock): Likewise.
24136 (grub_fshelp_node): New members logfile and journal.
24137 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
24138 grub_fshelp_map_block to get real block number.
24139 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
24140 number.
24141 (grub_ext2_read_inode): Likewise.
24142 (grub_ext3_get_journal): New function.
24143 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
24144 (grub_ext2_close): Release memory used by journal.
24145
24146 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
24147 (REISERFS_MAGIC_DESC_BLOCK): New macro.
24148 (grub_reiserfs_transaction_header): Renamed to
24149 grub_reiserfs_description_block, replace field data with real_blocks.
24150 (grub_reiserfs_commit_block): New structure.
24151 (grub_reiserfs_data): New member journal.
24152 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
24153 number.
24154 (grub_reiserfs_read_symlink): Likewise.
24155 (grub_reiserfs_iterate_dir): Likewise.
24156 (grub_reiserfs_open): Likewise.
24157 (grub_reiserfs_read): Likewise.
24158 (grub_reiserfs_get_journal): New function.
24159 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
24160 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
24161 using grub_reiserfs_get_journal.
24162 (grub_reiserfs_close): Release memory used by journal.
24163
24164 * fs/affs.c (grub_affs_read_block): Change block type to
24165 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
24166
24167 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
24168
24169 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
24170
24171 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
24172
24173 * fs/udf.c (grub_udf_read_block): Change block type to
24174 grub_disk_addr_t. Use type cast to avoid warning.
24175
24176 * fs/xfs.c (grub_xfs_read_block): Likewise.
24177
24178 2008-05-16 Christian Franke <franke@computer.org>
24179
24180 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
24181 to ensure that break with ESC will always work.
24182 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
24183 Remove ESC from keyboard queue.
24184
24185 2008-05-16 Christian Franke <franke@computer.org>
24186
24187 * util/biosdisk.c: [__CYGWIN__] Add includes.
24188 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
24189 (get_os_disk): Move variable declarations to OS specific
24190 parts to avoid warning.
24191 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
24192 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
24193 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
24194 Cygwin.
24195 * util/getroot.c: [__CYGWIN__] Add includes.
24196 (strip_extra_slashes): Fix "/" case.
24197 [__CYGWIN__] (get_win32_path): New function.
24198 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
24199 [__CYGWIN__] (find_root_device): Disable.
24200 [__CYGWIN__] (get_bootsec_serial): New function.
24201 [__CYGWIN__] (find_cygwin_root_device): Likewise.
24202 [__linux__] (grub_guess_root_device): Add early returns to simplify
24203 structure.
24204 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
24205 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
24206 check for Linux only.
24207
24208 2008-05-15 Bean <bean123ch@gmail.com>
24209
24210 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
24211 keyboard hang problem in apple's intel mac.
24212
24213 2008-05-09 Robert Millan <rmh@aybabtu.com>
24214
24215 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
24216 devices.
24217 * util/grub-mkdevicemap.c (get_virtio_disk_name)
24218 (make_device_map): Likewise.
24219 Reported by Aurelien Jarno <aurel32@debian.org>
24220
24221 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
24222
24223 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
24224 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
24225 (make_device_map): Output entries for xvd type disks.
24226
24227 2008-05-07 Robert Millan <rmh@aybabtu.com>
24228
24229 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
24230 devices.
24231 * util/grub-mkdevicemap.c (get_cciss_disk_name)
24232 (make_device_map): Likewise.
24233 Reported by Roland Dreier <rdreier@cisco.com>
24234
24235 2008-05-07 Robert Millan <rmh@aybabtu.com>
24236
24237 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
24238 grub_strstr() call. Correct a few mistakes in failure path handling.
24239
24240 2008-05-06 Robert Millan <rmh@aybabtu.com>
24241
24242 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24243 Do not print a trailing slash (therefore, the root directory is an
24244 empty string).
24245 (convert_system_path_to_grub_path): Do not remove trailing slash
24246 from make_system_path_relative_to_its_root() output.
24247
24248 * util/i386/pc/grub-install.in: Add trailing slash to output from
24249 make_system_path_relative_to_its_root().
24250
24251 2008-05-06 Robert Millan <rmh@aybabtu.com>
24252
24253 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
24254 ensures that output lines aren't intermangled with those sent to
24255 stderr (via grub_util_info()).
24256 * util/grub-probe.c (grub_refresh): Likewise.
24257 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
24258
24259 2008-05-05 Christian Franke <franke@computer.org>
24260
24261 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
24262 Add Cygwin device names.
24263 (get_ide_disk_name) [__CYGWIN__]: Likewise.
24264 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
24265 (check_device): Return error instead of success on empty name.
24266 (make_device_map): Move label inside linux specific code to
24267 prevent compiler warning.
24268
24269 2008-04-30 Robert Millan <rmh@aybabtu.com>
24270
24271 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
24272 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
24273 first boot option.
24274 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
24275
24276 2008-04-29 Robert Millan <rmh@aybabtu.com>
24277
24278 * docs/grub.cfg: New file (example GRUB configuration).
24279
24280 2008-04-26 Robert Millan <rmh@aybabtu.com>
24281
24282 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
24283 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
24284 and `disk/ieee1275/nand.c'.
24285
24286 2008-04-25 Bean <bean123ch@gmail.com>
24287
24288 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
24289 i386-linuxbios.
24290
24291 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
24292 change the buffer size to 4096 for cdrom device.
24293
24294 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
24295 and nand.mod.
24296 (_linux_mod_SOURCES): New variable.
24297 (_linux_mod_CFLAGS): Likewise.
24298 (_linux_mod_LDFLAGS): Likewise.
24299 (linux_mod_SOURCES): Likewise.
24300 (linux_mod_CFLAGS): Likewise.
24301 (linux_mod_LDFLAGS): Likewise.
24302 (nand_mod_SOURCES): Likewise.
24303 (nand_mod_CFLAGS): Likewise.
24304 (nand_mod_LDFLAGS): Likewise.
24305
24306 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
24307 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
24308 type property. (nand device in olpc don't have this property)
24309
24310 * include/grub/disk.h (grub_disk_dev_id): New macro
24311 GRUB_DISK_DEVICE_NAND_ID.
24312
24313 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
24314 function prototype.
24315 (grub_rescue_cmd_initrd): Likewise.
24316
24317 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
24318 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
24319 ofw_cif_handler and ofw_idt, adjust padding number.
24320
24321 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
24322 GRUB_MACHINE_IEEE1275 is defined.
24323
24324 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
24325 Use NESTED_FUNC_ATTR attribute on the hook parameter.
24326
24327 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
24328 on nested function heap_init.
24329 (grub_upper_mem): New variable for i386-ieee1275.
24330 (grub_get_extended_memory): New function for i386-ieee1275.
24331 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
24332
24333 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
24334 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
24335 property.
24336
24337 * loader/i386/ieee1275/linux.c: New file.
24338
24339 * loader/i386/ieee1275/linux_normal.c: New file.
24340
24341 * disk/ieee1275/nand.c: New file.
24342
24343 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
24344
24345 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
24346 value.
24347 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
24348
24349 2008-04-18 Robert Millan <rmh@aybabtu.com>
24350
24351 Restructures early code path on ieee1275 to unify grub_main() as
24352 the first C function that is executed in every platform.
24353
24354 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
24355 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
24356 cmain().
24357 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
24358 * kern/ieee1275/cmain.c (cmain): Rename to ...
24359 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
24360 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
24361 at the beginning.
24362
24363 2008-04-18 Robert Millan <rmh@aybabtu.com>
24364
24365 * util/update-grub.in: Fix syntax error when setting
24366 `GRUB_PRELOAD_MODULES'.
24367 Reported by Stephane Chazelas <stephane@artesyncp.com>
24368
24369 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
24370
24371 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
24372 section into account, newer toolchains generate unique build ids
24373 * configure.ac: remove the test for --build-id=none acceptance,
24374 we want build ids to be preserved
24375 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
24376 far from other sections don't cause the raw binary images grow
24377 size
24378
24379 2008-04-15 Robert Millan <rmh@aybabtu.com>
24380
24381 * disk/lvm.c: Update copyright year.
24382 * kern/misc.c: Likewise.
24383
24384 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24385
24386 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
24387 there is no memory left for physical volume name.
24388
24389 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24390
24391 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
24392 volume name mapping to support bigger than 9 character names properly.
24393
24394 2008-04-13 Robert Millan <rmh@aybabtu.com>
24395
24396 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
24397 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
24398
24399 2008-04-13 Christian Franke <franke@computer.org>
24400
24401 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
24402 to create a floppy emulation boot CD when non emulation mode
24403 does not work.
24404 Enable Joliet CD filesystem extension.
24405
24406 2008-04-13 Robert Millan <rmh@aybabtu.com>
24407
24408 * kern/misc.c (grub_strncat): Fix off-by-one error.
24409 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
24410
24411 * kern/env.c (grub_env_context_close): Clear current context, not
24412 previous one.
24413 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
24414
24415 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
24416
24417 2008-04-13 Robert Millan <rmh@aybabtu.com>
24418
24419 Improve robustness when handling LVM.
24420
24421 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
24422 (and leave `*p' unmodified).
24423 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
24424 through it.
24425 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
24426 iterating through it.
24427 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
24428 through it.
24429 (grub_lvm_scan_device): Check the return value (and fail gracefully
24430 when due) on each grub_lvm_getvalue() or grub_strstr() call.
24431 Don't assume `vg->pvs != NULL' when iterating through it.
24432
24433 2008-04-13 Robert Millan <rmh@aybabtu.com>
24434
24435 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
24436 * genmk.rb (partmap): New variable.
24437 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
24438 (#{partmap}): New target rule.
24439 * genpartmaplist.sh: New file.
24440 * Makefile.in (pkglib_DATA): Add partmap.lst.
24441 (partmap.lst): New target rule.
24442 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
24443 modules (including all partition maps), instead of preloading them.
24444
24445 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
24446
24447 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
24448 `linux-boot-prober' (if installed) to detect other operating
24449 systems which are installed on the computer and add them to
24450 the boot menu.
24451 * conf/common.rmk: Build and install 30_os-prober.
24452
24453 2008-04-12 Robert Millan <rmh@aybabtu.com>
24454
24455 * kern/powerpc/ieee1275/init.c: Move from here ...
24456 * kern/ieee1275/init.c: ... to here. Update all users.
24457
24458 * kern/powerpc/ieee1275/cmain.c: Move from here ...
24459 * kern/ieee1275/cmain.c: ... to here. Update all users.
24460
24461 * kern/powerpc/ieee1275/openfw.c: Move from here ...
24462 * kern/ieee1275/openfw.c: ... to here. Update all users.
24463
24464 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
24465 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
24466
24467 2008-04-10 Pavel Roskin <proski@gnu.org>
24468
24469 * configure.ac: Always use "_cv_" in cache variables for
24470 compatibility with Autoconf 2.62.
24471
24472 2008-04-07 Robert Millan <rmh@aybabtu.com>
24473
24474 Revert grub/machine/init.h addition by Pavel (since it breaks on
24475 i386-ieee1275 and others):
24476 * util/i386/pc/misc.c: Remove grub/machine/init.h.
24477 * util/powerpc/ieee1275/misc.c: Likewise.
24478
24479 2008-04-07 Robert Millan <rmh@aybabtu.com>
24480
24481 * util/grub-probe.c (probe): Improve error message.
24482
24483 2008-04-07 Robert Millan <rmh@aybabtu.com>
24484
24485 * util/biosdisk.c (read_device_map): Skip devices that don't exist
24486 (this prevents the presence of a bogus entry from ruining the whole
24487 thing).
24488
24489 2008-04-06 Pavel Roskin <proski@gnu.org>
24490
24491 * util/biosdisk.c: Include grub/util/biosdisk.h.
24492 * util/grub-fstest.c (execute_command): Make static.
24493 * util/grub-mkdevicemap.c (check_device): Likewise.
24494 * util/i386/pc/misc.c: Include grub/machine/init.h.
24495 * util/powerpc/ieee1275/misc.c: Likewise.
24496 * util/lvm.c: Include grub/util/lvm.h.
24497 * util/misc.c: Include grub/kernel.h, grub/misc.h and
24498 grub/cache.h.
24499 * util/raid.c: Include grub/util/raid.h.
24500 (grub_util_getdiskname): Make static.
24501
24502 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
24503 grub_hostfs_fini(), as they are called from grub_init_all() and
24504 grub_fini_all() respectively. This fixes an infinite loop in
24505 grub-fstest due to double registration of hostfs.
24506 Reported by Christian Franke <Christian.Franke@t-online.de>
24507
24508 2008-04-05 Pavel Roskin <proski@gnu.org>
24509
24510 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
24511 all 8 functions. Otherwise, probe function 0 only.
24512
24513 2008-04-04 Pavel Roskin <proski@gnu.org>
24514
24515 * commands/lspci.c (grub_lspci_iter): Print the bus number
24516 correctly.
24517
24518 * commands/lspci.c (grub_pci_classes): Fix typos.
24519 (grub_lspci_iter): Don't print func twice. Print vendor ID
24520 before device ID, as it's normally done.
24521
24522 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
24523 Fix signedness warnings.
24524 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
24525 Likewise.
24526 * util/ieee1275/get_disk_name.c: Include config.h so that
24527 _GNU_SOURCE is defined and getline() is declared. Mark an
24528 unused argument as such. Fix a signedness warning.
24529
24530 2008-04-02 Pavel Roskin <proski@gnu.org>
24531
24532 * genkernsyms.sh.in: Use more robust assignments for CC and
24533 srcdir. Quote srcdir.
24534 * gensymlist.sh.in: Likewise. Assert at the compile time that
24535 the symbol table is not empty.
24536
24537 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
24538 * fs/cpio.c (grub_cpio_read): Likewise.
24539
24540 2008-04-01 Pavel Roskin <proski@gnu.org>
24541
24542 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
24543 * disk/host.c (grub_host_open): Likewise.
24544 * disk/loopback.c (grub_loopback_open): Likewise.
24545 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
24546 disk->id as in disk/host.c, not a multi-character constant.
24547
24548 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
24549 later is obsolete, potentially dangerous and sets a bad example.
24550 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
24551 * util/misc.c (grub_util_get_image_size): Likewise.
24552
24553 * disk/loopback.c (options): Improve help for "--partitions".
24554
24555 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
24556 options to align them with the short options, e.g. "echo -e".
24557
24558 2008-03-31 Bean <bean123ch@gmail.com>
24559
24560 * video/reader/png.c (grub_png_data): New member is_16bit and
24561 image_data.
24562 (grub_png_decode_image_header): Detect 16 bit png image.
24563 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
24564 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
24565 (grub_video_reader_png): Release memory occupied by image_data.
24566
24567 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
24568 4096 bytes.
24569 (grub_nfs_mount): Skip the test for sector per cluster.
24570
24571 * include/grub/ntfs.h (MAX_SPC): Removed.
24572
24573 2008-03-31 Bean <bean123ch@gmail.com>
24574
24575 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
24576 (grub_probe_SOURCES): Add fs/afs.c.
24577 (grub_fstest_SOURCES): Likewise.
24578 (afs_mod_SOURCES): New variable.
24579 (afs_mod_CFLAGS): Likewise.
24580 (afs_mod_LDFLAGS): Likewise.
24581
24582 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
24583 (grub_emu_SOURCES): Likewise.
24584
24585 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24586
24587 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24588
24589 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24590
24591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24592
24593 * fs/afs.c: New file.
24594
24595 2008-03-30 Pavel Roskin <proski@gnu.org>
24596
24597 * disk/host.c: Include grub/misc.h to fix a warning.
24598 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
24599 warnings about implicit declarations.
24600
24601 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
24602 variable.
24603 * include/grub/i386/loader.h: Change declaration of
24604 grub_linux_boot() to match what grub_loader_set() expects.
24605 * util/getroot.c (grub_guess_root_device): Return const char* to
24606 fix a warning.
24607 * util/grub-probe.c (probe): Fix a warning about uninitialized
24608 abstraction_name variable.
24609 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
24610 second argument as unused to fix a warning.
24611
24612 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
24613 missing grub_error() call.
24614
24615 * util/update-grub_lib.in: Define datarootdir, since Autoconf
24616 2.60 and newer uses it to define datadir.
24617
24618 * commands/sleep.c: Fix warning about implicit declaration.
24619 * disk/memdisk.c: Likewise.
24620 * loader/aout.c: Likewise.
24621 * loader/i386/bsd_normal.c: Likewise.
24622 * util/grub-probe.c: Likewise.
24623
24624 * commands/i386/cpuid.c (has_longmode): Make static.
24625 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
24626 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
24627
24628 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
24629 GDT. This is more robust, as %ds can change.
24630 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
24631 calling real_to_prot().
24632 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
24633
24634 2008-03-28 Pavel Roskin <proski@gnu.org>
24635
24636 * kern/i386/pc/startup.S: Assert that uncompressed functions
24637 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
24638 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
24639 code, as they push parts of the code (error handlers) beyond
24640 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
24641 code as correctness and size.
24642
24643 2008-03-28 Pavel Roskin <proski@gnu.org>
24644
24645 * kern/i386/pc/startup.S
24646 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
24647 data block address to the real mode, keep offset minimal. This
24648 works around a bug in AWARD BIOS on old Athlon systems, which
24649 makes CD detection hang.
24650
24651 2008-03-26 Pavel Roskin <proski@gnu.org>
24652
24653 * normal/color.c (grub_parse_color_name_pair): Make `name' a
24654 const.
24655 * include/grub/normal.h: Add grub_parse_color_name_pair()
24656 declaration.
24657
24658 2008-03-24 Bean <bean123ch@gmail.com>
24659
24660 * disk/i386/pc/biosdisk.c (cd_start): Removed.
24661 (cd_count): Removed.
24662 (cd_drive): New variable.
24663 (grub_biosdisk_get_drive): Don't check for (cdN) device.
24664 (grub_biosdisk_call_hook): Likewise.
24665 (grub_biosdisk_iterate): Change cdrom detection method.
24666 (grub_biosdisk_open): Replace cd_start with cd_drive.
24667 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
24668 detect cdrom device.
24669
24670 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
24671 Removed.
24672 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
24673 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
24674 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
24675 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
24676 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
24677 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
24678 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
24679 (grub_biosdisk_cdrp): New structure.
24680 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
24681
24682 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
24683
24684 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
24685 device.
24686
24687 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
24688 New function.
24689
24690 2008-03-20 Robert Millan <rmh@aybabtu.com>
24691
24692 Remove 2 TiB limit in ata.mod.
24693 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
24694 (grub_ata_dumpinfo): Print sector count with 0x%llx.
24695 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
24696 grub_uint64_t instead of grub_uint32_t.
24697
24698 2008-03-05 Bean <bean123ch@gmail.com>
24699
24700 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
24701 (grub_multiboot): Set boot device.
24702
24703 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
24704
24705 2008-03-02 Bean <bean123ch@gmail.com>
24706
24707 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
24708 symlink_buffer.
24709
24710 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
24711
24712 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
24713 texinfo.tex.
24714
24715 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
24716 modified.
24717
24718 * docs/fdl.texi: New file.
24719
24720 * docs/mdate-sh: New file. Copied from gnulib.
24721 * docs/texinfo.tex: Likewise.
24722
24723 * config.guess: Updated from gnulib.
24724 * install-sh: Likewise.
24725
24726 2008-02-28 Robert Millan <rmh@aybabtu.com>
24727
24728 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
24729 (aout_mod_SOURCES): New variable.
24730 (aout_mod_CFLAGS): Likewise.
24731 (aout_mod_LDFLAGS): Likewise.
24732
24733 * conf/i386-ieee1275.rmk: Likewise.
24734
24735 2008-02-28 Robert Millan <rmh@aybabtu.com>
24736
24737 * util/update-grub.in: Reorganise terminal validity check. Accept
24738 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
24739 Based on suggestion by Franklin PIAT.
24740
24741 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
24742
24743 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
24744 function.
24745 * util/getroot.c (grub_util_check_block_device): New function that
24746 returns the given argument if it is a block device and returns NULL else.
24747 * util/grub-probe.c (argument_is_device): New variable.
24748 (probe): Promote device_name from a variable to an argument. Receive
24749 device_name from grub_util_check_block_device() if path is NULL and from
24750 grub_guess_root_device() else. Do not free() device_name anymore.
24751 (options): Introduce new parameter '-d, --device'.
24752 (main): Add description of the new parameter to the help screen.
24753 Rename path variable to argument. Set argument_is_device if the '-d'
24754 option is given. Pass argument to probe() depending on
24755 argument_is_device.
24756
24757 2008-02-24 Bean <bean123ch@gmail.com>
24758
24759 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
24760 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
24761 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
24762 (GRUB_ISO9660_VOLDESC_PART): Likewise.
24763 (GRUB_ISO9660_VOLDESC_END): Likewise.
24764 (grub_iso9660_primary_voldesc): New member escape.
24765 (grub_iso9660_data): New member joliet.
24766 (grub_iso9660_convert_string): New function.
24767 (grub_iso9660_mount): Detect joliet extension.
24768 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
24769 (grub_iso9660_iso9660_label): Likewise.
24770
24771 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
24772 (grub_setup_SOURCES): Add fs/udf.c.
24773 (grub_fstest_SOURCES): Likewise.
24774 (udf_mod_SOURCES): New variable.
24775 (udf_mod_CFLAGS): Likewise.
24776 (udf_mod_LDFLAGS): Likewise.
24777
24778 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
24779 (grub_emu_SOURCES): Likewise.
24780
24781 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24782
24783 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24784
24785 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24786
24787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24788
24789 * fs/udf.c: New file.
24790
24791 2008-02-24 Robert Millan <rmh@aybabtu.com>
24792
24793 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
24794 (normal/lexer.c_DEPENDENCIES): New variables.
24795 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24796 (normal/lexer.c_DEPENDENCIES): Likewise.
24797 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
24798 (normal/lexer.c_DEPENDENCIES): Likewise.
24799 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
24800 (normal/lexer.c_DEPENDENCIES): Likewise.
24801 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24802 (normal/lexer.c_DEPENDENCIES): Likewise.
24803 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24804 (normal/lexer.c_DEPENDENCIES): Likewise.
24805
24806 2008-02-23 Robert Millan <rmh@aybabtu.com>
24807
24808 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
24809 since they were intended to be in hex. This didn't break previously
24810 because of a bug in gpt_partition_map_iterate() (see below).
24811
24812 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
24813 when checking the validity of GPT header.
24814 Remove `partno', since it always provides the same information as `i'.
24815
24816 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
24817
24818 * include/grub/efi/time.h: Fix a wrong comment.
24819
24820 2008-02-19 Pavel Roskin <proski@gnu.org>
24821
24822 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
24823 message.
24824
24825 2008-02-19 Bean <bean123ch@gmail.com>
24826
24827 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
24828 (aout_mod_SOURCES): New variable.
24829 (aout_mod_CFLAGS): Likewise.
24830 (aout_mod_LDFLAGS): Likewise.
24831 (_bsd_mod_SOURCES): New variable.
24832 (_bsd_mod_CFLAGS): Likewise.
24833 (_bsd_mod_LDFLAGS): Likewise.
24834 (bsd_mod_SOURCES): New variable.
24835 (bsd_mod_CFLAGS): Likewise.
24836 (bsd_mod_LDFLAGS): Likewise.
24837
24838 * include/grub/aout.h: New file.
24839
24840 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
24841
24842 * include/grub/i386/bsd.h: New file.
24843
24844 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
24845 to make it public.
24846
24847 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
24848 function is called, so that it's possible to change it inside the hook.
24849 (grub_elf64_load): Likewise.
24850 (grub_elf_file): Don't close the file if elf header is not found.
24851 (grub_elf_close): Close the file if grub_elf_file fails (The new
24852 grub_elf_file won't close it).
24853 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
24854 (grub_elf64_size): Likewise.
24855
24856 * kern/i386/loader.S (grub_unix_real_boot): New function.
24857
24858 * loader/aout.c: New file.
24859
24860 * loader/i386/bsd.c: New file.
24861
24862 * loader/i386/bsd_normal.c: New file.
24863
24864 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
24865
24866 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
24867 can test other formats.
24868
24869 2008-02-19 Robert Millan <rmh@aybabtu.com>
24870
24871 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
24872 (grub_gpt_partition_type_empty): Redefine with macro from
24873 `<grub/gpt_partition.h>'.
24874 (gpt_partition_map_iterate): Adjust partition type comparison.
24875
24876 Export `entry' as partmap-specific `part.data' struct.
24877 (grub_gpt_header, grub_gpt_partentry): Move from here ...
24878
24879 * include/grub/gpt_partition.h (grub_gpt_header)
24880 (grub_gpt_partentry): ... to here (new file).
24881
24882 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
24883
24884 (grub_gpt_partition_type_bios_boot): New const variable, defined
24885 with macro from `<grub/gpt_partition.h>'.
24886
24887 (setup): Replace `first_start' with `embed_region', which keeps
24888 track of the embed region (and is partmap-agnostic).
24889
24890 Replace find_first_partition_start() with find_usable_region(),
24891 which finds a usable region for embedding using partmap-specific
24892 knowledge (supports PC/MSDOS and GPT).
24893
24894 Fix all assumptions that the embed region start at sector 1, using
24895 `embed_region.start' from now on. Similarly, use `embed_region.end'
24896 rather than `first_start' to calculate available size.
24897
24898 In grub_util_info() message, replace "into after the MBR" with an
24899 indication of the specific sector our embed region starts at.
24900
24901 2008-02-19 Robert Millan <rmh@aybabtu.com>
24902
24903 * DISTLIST: Replace `commands/ieee1275/halt.c' and
24904 `commands/ieee1275/reboot.c' with `commands/halt.c' and
24905 `commands/reboot.c'.
24906 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
24907 (halt_mod_SOURCES): Likewise.
24908 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
24909 (halt_mod_SOURCES): Likewise.
24910
24911 2008-02-17 Christian Franke <franke@computer.org>
24912
24913 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
24914
24915 2008-02-17 Robert Millan <rmh@aybabtu.com>
24916
24917 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
24918 set `first_start' to 0 for non-PC/MSDOS partition maps.
24919
24920 2008-02-16 Robert Millan <rmh@aybabtu.com>
24921
24922 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
24923 do not assume partition map is PC/MSDOS before performing checks that
24924 are specific to that layout.
24925
24926 2008-02-13 Robert Millan <rmh@aybabtu.com>
24927
24928 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
24929 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
24930 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
24931
24932 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
24933
24934 * configure.ac: Only a cosmetic change on the handling of
24935 -fno-stack-protector.
24936
24937 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
24938
24939 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
24940 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
24941 reboot.c.
24942 (grub_install_SOURCES): Add halt.mod and reboot.mod.
24943 (halt_mod_SOURCES): New variable.
24944 (halt_mod_CFLAGS): Likewise.
24945 (halt_mod_LDFLAGS): Likewise.
24946 (reboot_mod_SOURCES): Likewise.
24947 (reboot_mod_CFLAGS): Likewise.
24948 (reboot_mod_LDFLAGS): Likewise.
24949
24950 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
24951 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
24952 reboot.c.
24953 (halt_mod_SOURCES): Likewise.
24954 (reboot_mod_SOURCES): Likewise.
24955
24956 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
24957 commands/i386/pc/reboot.c by commands/reboot.c.
24958 (reboot_mod_SOURCES): Likewise.
24959
24960 * commands/i386/pc/reboot.c: merge this file ...
24961
24962 * commands/ieee1275/reboot.c: ... and this file ...
24963
24964 * commands/reboot.c: ... to this file.
24965 Add some precompiler directive to include the correct header for
24966 each machine.
24967
24968 * commands/ieee1275/halt.c: move this file ...
24969
24970 * commands/halt.c: ... to here.
24971 Add some precompiler directive to include the correct header for
24972 each machine.
24973
24974 * include/grub/efi/efi.h (grub_reboot): New function declaration.
24975 (grub_halt): Likewise.
24976
24977 * kern/efi/efi.c (grub_reboot): New function.
24978 (grub_halt): Likewise.
24979
24980 2008-02-12 Robert Millan <rmh@aybabtu.com>
24981
24982 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
24983 /dev (like it is done for /dev/mapper). This doesn't provide support
24984 for EVMS, but at least it is now easy to identify the problem when it
24985 arises.
24986
24987 2008-02-11 Robert Millan <rmh@aybabtu.com>
24988
24989 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
24990 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
24991 comparing it with -1, not 0.
24992
24993 2008-02-10 Robert Millan <rmh@aybabtu.com>
24994
24995 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
24996 `disk/lvm.c'.
24997 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24998 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24999
25000 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
25001 `disk/lvm.c' to the end of the list.
25002 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25003 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25004
25005 2008-02-10 Robert Millan <rmh@aybabtu.com>
25006
25007 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
25008 grub_print_error() instead. This will let user know why we're entering
25009 rescue mode.
25010 Based on suggestions from Sam Morris.
25011
25012 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
25013
25014 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
25015 on remaining N args, instead of "--" arg N times.
25016
25017 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
25018
25019 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
25020 (fill_with_default_glyph): Changed to use unknown_glyph for fill
25021 pattern for unknown glyphs.
25022
25023 2008-02-09 Robert Millan <rmh@aybabtu.com>
25024
25025 * configure.ac: Probe for `help2man'.
25026 * Makefile.in (builddir): New variable.
25027 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
25028 or otherwise add a few flags/options to it.
25029 (install-local): For every executable utility or script that is
25030 installed, invoke $(HELP2MAN) to install a manpage based on --help
25031 output.
25032
25033 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
25034 that it doesn't prevent --help from working in build tree.
25035
25036 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
25037 with `bug-grub@gnu.org'.
25038 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
25039 * util/update-grub.in (usage): New function.
25040 Implement proper argument check, with support for --help and --version
25041 (as well as existing -y).
25042
25043 2008-02-09 Christian Franke <franke@computer.org>
25044
25045 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
25046 avoid overwriting previous output.
25047 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
25048
25049 2008-02-09 Robert Millan <rmh@aybabtu.com>
25050
25051 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
25052 drawing the menu.
25053
25054 2008-02-09 Robert Millan <rmh@aybabtu.com>
25055
25056 * commands/sleep.c: New file.
25057 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
25058 (sleep_mod_SOURCES): New variable.
25059 (sleep_mod_CFLAGS): Likewise.
25060 (sleep_mod_LDFLAGS): Likewise.
25061
25062 2008-02-09 Robert Millan <rmh@aybabtu.com>
25063
25064 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
25065 situations in which we can deduce the RAID size and the superblock
25066 doesn't match it.
25067
25068 2008-02-09 Robert Millan <rmh@aybabtu.com>
25069
25070 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
25071 and return a grub_diskmemberlist_t composed of LVM physical volumes.
25072 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
25073
25074 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
25075 and return a grub_diskmemberlist_t composed of physical array members.
25076 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
25077
25078 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
25079 prototype.
25080 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
25081 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
25082 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
25083
25084 * util/grub-probe.c (probe): Move partmap probing code from here ...
25085 (probe_partmap): ... to here.
25086 (probe): Use probe_partmap() once for the disk we're probing, and
25087 additionally, when such disk contains a memberlist() struct member,
25088 once for each disk that is contained in the structure returned by
25089 memberlist().
25090
25091 2008-02-09 Robert Millan <rmh@aybabtu.com>
25092
25093 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
25094 environment variable to 'all' in order to obtain debug output from
25095 non-util/ code.
25096 * util/i386/pc/grub-setup.c (main): Likewise.
25097
25098 2008-02-08 Robert Millan <rmh@aybabtu.com>
25099
25100 * disk/raid.c (grub_raid_scan_device): Check for
25101 `array->device[sb.this_disk.number]' rather than for
25102 `array->device[sb.this_disk.number]->name', since the latter is not
25103 guaranteed to be accessible.
25104
25105 2008-02-08 Robert Millan <rmh@aybabtu.com>
25106
25107 * disk/raid.c: Update copyright.
25108 * fs/cpio.c: Likewise.
25109 * include/grub/raid.h: Likewise.
25110 * loader/i386/pc/multiboot.c: Likewise.
25111 * util/hostfs.c: Likewise.
25112
25113 2008-02-08 Robert Millan <rmh@aybabtu.com>
25114
25115 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
25116 to a grub_disk_t array.
25117 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
25118 `device[x]'.
25119 (grub_raid_scan_device): Replace `device[x].name' accesses with
25120 `device[x]->name'. Simplify initialization of `array->device[x]'.
25121
25122 2008-02-08 Robert Millan <rmh@aybabtu.com>
25123
25124 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
25125 grub_dprintf() calls.
25126 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
25127 error message.
25128
25129 2008-02-07 Christian Franke <franke@computer.org>
25130
25131 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
25132 instead of fseek and ftell to support large files.
25133 (grub_hostfs_read): Likewise.
25134
25135 2008-02-07 Robert Millan <rmh@aybabtu.com>
25136
25137 Patch from Jeroen Dekkers.
25138 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
25139 failure, since successfully reading all array members might not be
25140 required.
25141
25142 2008-02-06 Robert Millan <rmh@aybabtu.com>
25143
25144 * util/grub-probe.c (probe): Simplify partmap probing (with the
25145 assumption that the first word up to the underscore equals to
25146 the module name).
25147
25148 2008-02-06 Christian Franke <franke@computer.org>
25149
25150 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
25151 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
25152 last block of a cpio or tar stream.
25153 Check for "TRAILER!!!" instead of any empty data
25154 block to detect last block of a cpio stream.
25155 (grub_cpio_dir): Fix constness of variable np.
25156 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
25157 cpio or tar trailer is detected. This fixes a crash
25158 on open of a non existing file.
25159
25160 2008-02-05 Bean <bean123ch@gmail.com>
25161
25162 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
25163 address of entry.
25164 (grub_multiboot_load_elf64): Likewise.
25165 (grub_multiboot): Initialize mbi structure.
25166
25167 * util/grub-fstest.c: Don't include unused header file script.h.
25168
25169 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
25170 of file.
25171 (grub_fstest_SOURCES): Likewise.
25172
25173 2008-02-05 Robert Millan <rmh@aybabtu.com>
25174
25175 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
25176 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
25177 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
25178 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
25179
25180 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
25181 (translation_table): Replace hardcoded values with macros
25182 provided by `<grub/term.h>'.
25183
25184 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
25185 (keyboard_map): Correct/add a few values, with macros provided
25186 by `<grub/term.h>'.
25187 (keyboard_map_shift): Zero values that don't differ from their
25188 `keyboard_map' equivalents.
25189 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
25190 Discard the second scan code that is always sent by Caps lock.
25191 Only use `keyboard_map_shift' when it provides a non-zero value,
25192 otherwise fallback to `keyboard_map'.
25193
25194 2008-02-04 Bean <bean123ch@gmail.com>
25195
25196 * Makefile.in (enable_grub_fstest): New variable.
25197
25198 * conf/common.rmk (grub_fstest_init.lst): New rule.
25199 (grub_fstest_init.h): Likewise.
25200 (grub_fstest_init.c): Likewise.
25201 (util/grub-fstest.c_DEPENDENCIES): New variable.
25202 (grub_fstest_SOURCES): Likewise.
25203
25204 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
25205
25206 * util/grub-fstest.c: New file.
25207
25208 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25209
25210 Make grub-setup handle a separate root device.
25211
25212 * util/i386/pc/grub-setup.c (setup): Always open the root device,
25213 so that the root device can be compared with the destination
25214 device.
25215 When embedding the core image, if the root and destination devices
25216 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
25217 0xFF.
25218 When not embedding, set ROOT_DRIVE to 0xFF.
25219
25220 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25221
25222 Add support for having a grub directory in a different drive. This
25223 is still only the data handling part.
25224
25225 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
25226 (codestart): Save %dh in GRUB_ROOT_DRIVE.
25227 (grub_root_drive): New variable.
25228
25229 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
25230 instead of GRUB_BOOT_DRIVE to construct a device name. Set
25231 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
25232 as it was.
25233
25234 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
25235
25236 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
25237 macro.
25238 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
25239
25240 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
25241 is bogus, because PXE booting does not specify any drive
25242 correctly.
25243
25244 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
25245 am not sure if this is really correct.
25246
25247 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
25248 is always identical to the boot drive when booting from a CD.
25249
25250 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
25251 longer.
25252 (root_drive): New variable.
25253 (real_start): Unconditionally set %dh to ROOT_DRIVE.
25254 (setup_sectors): Push %dx right after popping it, because %dh will
25255 be modified later.
25256 (copy_buffer): Restore %dx.
25257
25258 2008-02-03 Robert Millan <rmh@aybabtu.com>
25259
25260 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
25261 use `cdboot.img' for cdrom images.
25262
25263 2008-02-03 Robert Millan <rmh@aybabtu.com>
25264
25265 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
25266 only setup gfxterm when `font' command has succeeded.
25267
25268 2008-02-03 Robert Millan <rmh@aybabtu.com>
25269
25270 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
25271 (grub_rescue_cmd_multiboot_loader)
25272 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
25273
25274 2008-02-03 Pavel Roskin <proski@gnu.org>
25275
25276 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
25277 %edx and %esi from stack only after grub_gate_a20() is called.
25278 grub_gate_a20() clobbers %edx.
25279
25280 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25281
25282 * configure.ac (AC_INIT): Bumped to 1.96.
25283
25284 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
25285 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
25286 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
25287 video/readers/png.c.
25288
25289 2008-02-03 Bean <bean123ch@gmail.com>
25290
25291 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
25292 (cdboot_img_SOURCES): New variable.
25293 (cdboot_img_ASFLAGS): New variable.
25294 (cdboot_img_LDFLAGS): New variable.
25295
25296 * boot/i386/pc/cdboot.S: New file.
25297
25298 * disk/i386/pc/biosdisk.c (cd_start): New variable.
25299 (cd_count): Likewise.
25300 (grub_biosdisk_get_drive): Add support for cd device.
25301 (grub_biosdisk_call_hook): Likewise.
25302 (grub_biosdisk_iterate): Likewise.
25303 (grub_biosdisk_open): Likewise.
25304 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
25305 (grub_biosdisk_rw): Support reading from cd device.
25306 (GRUB_MOD_INIT): Iterate cd devices.
25307
25308 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
25309 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
25310 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
25311
25312 * kern/i386/pc/init.c (make_install_device): Check for cd device.
25313
25314 2008-02-02 Robert Millan <rmh@aybabtu.com>
25315
25316 * commands/read.c: New file.
25317 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
25318 (read_mod_SOURCES): New variable.
25319 (read_mod_CFLAGS): Likewise.
25320 (read_mod_LDFLAGS): Likewise.
25321
25322 2008-02-02 Robert Millan <rmh@aybabtu.com>
25323
25324 * normal/main.c (grub_normal_execute): Check for `menu->size' when
25325 determining whether menu has to be displayed.
25326
25327 2008-02-02 Marco Gerards <marco@gnu.org>
25328
25329 * bus/pci.c: New file.
25330
25331 * include/grub/pci.h: Likewise.
25332
25333 * include/grub/i386/pc/pci.h: Likewise.
25334
25335 * commands/lspci.c: Likewise.
25336
25337 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
25338 `lspci.mod'.
25339 (pci_mod_SOURCES): New variable.
25340 (pci_mod_CFLAGS): Likewise.
25341 (pci_mod_LDFLAGS): Likewise.
25342 (lspci_mod_SOURCES): Likewise.
25343 (lspci_mod_CFLAGS): Likewise.
25344 (lspci_mod_LDFLAGS): Likewise.
25345
25346 2008-02-02 Bean <bean123ch@gmail.com>
25347
25348 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
25349 (grub_ufs_get_file_block): Fix indirect block calculation problem.
25350
25351 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
25352 (grub_xfs_btree_node): New structure.
25353 (grub_xfs_btree_root): New structure.
25354 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
25355 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
25356 (GRUB_XFS_EXTENT_BLOCK): Likewise.
25357 (GRUB_XFS_EXTENT_SIZE): Likewise.
25358 (grub_xfs_read_block): Support btree format type.
25359 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
25360 Use directory block as basic unit.
25361
25362 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
25363
25364 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
25365 __attribute__ ((__regparm__ (1))).
25366
25367 2008-02-01 Robert Millan <rmh@aybabtu.com>
25368
25369 Correct a mistake in previous commit.
25370
25371 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
25372 top.
25373 (normal/command.c_DEPENDENCIES): New variable.
25374
25375 2008-02-01 Robert Millan <rmh@aybabtu.com>
25376
25377 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
25378 top.
25379 (normal/command.c_DEPENDENCIES): New variable.
25380 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
25381 * conf/i386-ieee1275.rmk: Likewise.
25382 * conf/i386-linuxbios.rmk: Likewise.
25383 * conf/i386-pc.rmk: Likewise.
25384 * conf/sparc64-ieee1275.rmk: Likewise.
25385 * conf/powerpc-ieee1275.rmk: Likewise.
25386 (grub_emu_SOURCES): Add `fs/fshelp.c'.
25387
25388 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
25389
25390 2008-02-01 Robert Millan <rmh@aybabtu.com>
25391
25392 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
25393 call at beginning of function.
25394
25395 2008-01-31 Pavel Roskin <proski@gnu.org>
25396
25397 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
25398 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
25399 (grub_mkrescue_SOURCES): Likewise.
25400 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
25401
25402 2008-01-30 Robert Millan <rmh@aybabtu.com>
25403
25404 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
25405 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
25406 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
25407 (grub_probe_SOURCES): ... to here.
25408
25409 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
25410 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
25411 * conf/i386-ieee1275.rmk: Likewise.
25412 * conf/i386-linuxbios.rmk: Likewise.
25413 * conf/powerpc-ieee1275.rmk: Likewise.
25414
25415 2008-01-30 Tristan Gingold <gingold@free.fr>
25416
25417 * kern/rescue.c: Silently accept empty lines.
25418
25419 2008-01-29 Bean <bean123ch@gmail.com>
25420
25421 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
25422 (real_code_2): Code cleanup and change comment style.
25423 (move_memory): Avoid using 32-bit address mode.
25424
25425 2008-01-29 Bean <bean123ch@gmail.com>
25426
25427 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
25428 (png_mod_SOURCES): New variable.
25429 (png_mod_CFLAGS): Likewise.
25430 (png_mod_LDFLAGS): Likewise.
25431
25432 * video/readers/png.c: New file.
25433
25434 2008-01-28 Robert Millan <rmh@aybabtu.com>
25435
25436 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
25437 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
25438 `ifndef GRUB_MOD_GAP' hack.
25439 * util/elf/grub-mkimage.c (add_segments): Likewise.
25440
25441 2008-01-27 Robert Millan <rmh@aybabtu.com>
25442
25443 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
25444 `GRUB_MOD_GAP' for platforms in which it's not defined.
25445 * util/elf/grub-mkimage.c (add_segments): Likewise.
25446
25447 2008-01-27 Robert Millan <rmh@aybabtu.com>
25448
25449 Get grub-emu to build again (including parallel builds).
25450
25451 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
25452 Split into ...
25453 (util/grub-emu.c_DEPENDENCIES): ... this, ...
25454 (normal/execute.c_DEPENDENCIES): ... this, ...
25455 (grub-emu_DEPENDENCIES): ... and this.
25456
25457 * conf/i386-efi.rmk: Likewise.
25458 * conf/i386-linuxbios.rmk: Likewise.
25459 * conf/i386-ieee1275.rmk: Likewise.
25460 * conf/powerpc-ieee1275.rmk: Likewise.
25461 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
25462
25463 2008-01-27 Robert Millan <rmh@aybabtu.com>
25464
25465 * NEWS: Add a few items.
25466
25467 2008-01-27 Robert Millan <rmh@aybabtu.com>
25468
25469 Fix parallel builds with grub-emu. Based on earlier commit for
25470 grub-probe and grub-setup.
25471
25472 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25473 (util/grub-emu.c_DEPENDENCIES): ... this.
25474 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25475 (util/grub-emu.c_DEPENDENCIES): ... this.
25476 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25477 (util/grub-emu.c_DEPENDENCIES): ... this.
25478 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25479 (util/grub-emu.c_DEPENDENCIES): ... this.
25480 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25481 (util/grub-emu.c_DEPENDENCIES): ... this.
25482
25483 2008-01-27 Pavel Roskin <proski@gnu.org>
25484
25485 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
25486 to create a gap between _end and the modules added to the image
25487 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
25488 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
25489 * util/elf/grub-mkimage.c (add_segments): Likewise.
25490
25491 2008-01-26 Pavel Roskin <proski@gnu.org>
25492
25493 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
25494 just return an error.
25495
25496 2008-01-26 Bean <bean123ch@gmail.com>
25497
25498 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
25499 (grub_reiserfs_get_item): Save offset of the next item.
25500 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
25501
25502 2008-01-25 Robert Millan <rmh@aybabtu.com>
25503
25504 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
25505 make all filesystem sources appear together (possibly fixing omissions
25506 while at it).
25507 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25508 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25509 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25511
25512 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
25513 add `kern/file.c'.
25514 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
25515 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25516 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
25517 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25518
25519 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
25520 (probe): Add a sanity check to make sure of our ability to read
25521 requested files when probing for filesystem type.
25522
25523 * genmk.rb: Update copyright year (2007).
25524
25525 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
25526 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
25527 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
25528 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
25529 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
25530 : Remove function prototypes.
25531
25532 2008-01-25 Robert Millan <rmh@aybabtu.com>
25533
25534 Revert my previous commits (based on wrong assumption of how grub_errno
25535 works).
25536
25537 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
25538 * kern/file.c (grub_file_open): Likewise.
25539
25540 2008-01-24 Pavel Roskin <proski@gnu.org>
25541
25542 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
25543 that hang if GRUB tries to setup colors.
25544 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
25545 colors for firmwares that don't support it.
25546 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
25547 Recognize Open Hack'Ware, set flags to work around its
25548 limitations.
25549
25550 2008-01-24 Robert Millan <rmh@aybabtu.com>
25551
25552 * kern/file.c (grub_file_open): Do not account previous failures of
25553 unrelated functions when grub_errno is checked for.
25554 Reported by Oleg Strikov.
25555
25556 2008-01-24 Bean <bean123ch@gmail.com>
25557
25558 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
25559 (grub_ufs_sblock): New member volume name.
25560 (grub_ufs_find_file): Fix string copy bug.
25561 (grub_ufs_label): Implement this function properly.
25562
25563 * fs/hfs.c (grub_hfs_cnid_type): New enum.
25564 (grub_hfs_iterate_records): Use the correct file number for extents
25565 and catalog file. Fix problem in next index calculation.
25566 (grub_hfs_find_node): Replace recursive function call with loop.
25567 (grub_hfs_iterate_dir): Replace recursive function call with loop.
25568
25569 2008-01-23 Robert Millan <rmh@aybabtu.com>
25570
25571 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
25572 `<grub/symbol.h>' and `<grub/multiboot.h>'.
25573 (grub_multiboot2_real_boot): New function prototype.
25574
25575 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
25576 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
25577
25578 * kern/i386/ieee1275/init.c (grub_os_area_addr)
25579 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
25580
25581 2008-01-23 Robert Millan <rmh@aybabtu.com>
25582
25583 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
25584 #ifdef'ed out grub_printf().
25585
25586 2008-01-23 Robert Millan <rmh@aybabtu.com>
25587
25588 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
25589 grub_dprintf calls, since they make "debug=all" mode unusable.
25590 (grub_console_checkkey): Likewise.
25591
25592 2008-01-23 Robert Millan <rmh@aybabtu.com>
25593
25594 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25595 `term/i386/pc/at_keyboard.c'.
25596 (pkglib_MODULES): Add `serial.mod'.
25597 (serial_mod_SOURCES): New variable.
25598 (serial_mod_CFLAGS): Likewise.
25599 (serial_mod_LDFLAGS): Likewise.
25600
25601 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
25602 `<grub/powerpc/ieee1275/console.h>'.
25603 (grub_keyboard_controller_init): New function prototype.
25604 (grub_console_checkkey): Likewise.
25605 (grub_console_getkey): Likewise.
25606
25607 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
25608 keyboard on i386.
25609
25610 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
25611 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
25612
25613 2008-01-23 Robert Millan <rmh@aybabtu.com>
25614
25615 * kern/i386/pc/init.c (make_install_device): When memdisk image is
25616 present, "(memdisk)/boot/grub" becomes the default prefix.
25617
25618 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
25619 a memdisk tarball with all the modules. Add --overlay=DIR option that
25620 allows users to overlay additional files into the image.
25621
25622 2008-01-23 Robert Millan <rmh@aybabtu.com>
25623
25624 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
25625 and `machine/memory.h'.
25626 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
25627 (_multiboot_mod_SOURCES): New variable.
25628 (_multiboot_mod_CFLAGS): Likewise.
25629 (_multiboot_mod_LDFLAGS): Likewise.
25630 (multiboot_mod_SOURCES): Likewise.
25631 (multiboot_mod_CFLAGS): Likewise.
25632 (multiboot_mod_LDFLAGS): Likewise.
25633
25634 * include/grub/i386/ieee1275/loader.h: New file.
25635
25636 * include/grub/i386/ieee1275/machine.h: Likewise.
25637
25638 * include/grub/i386/ieee1275/memory.h: Likewise.
25639
25640 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
25641 variable declaration.
25642 (grub_os_area_size): Likewise.
25643
25644 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
25645 (grub_lower_mem, grub_upper_mem): New variables.
25646 (grub_stop_floppy): New function (just to make
25647 grub_multiboot2_real_boot() happy).
25648
25649 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
25650 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
25651 (grub_stop): New function.
25652 Include `"../realmode.S"' and `"../loader.S"'.
25653
25654 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
25655 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
25656
25657 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
25658 rely on grub_multiboot2_real_boot() for final boot.
25659
25660 2008-01-22 Robert Millan <rmh@aybabtu.com>
25661
25662 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
25663 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
25664 device that doesn't look like an SD card.
25665 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25666 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
25667 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
25668 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
25669 found.
25670
25671 2008-01-22 Robert Millan <rmh@aybabtu.com>
25672
25673 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
25674 avoid claiming over our own code.
25675
25676 2008-01-22 Bean <bean123ch@gmail.com>
25677
25678 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
25679 (jpeg_mod_SOURCES): New variable.
25680 (jpeg_mod_CFLAGS): Likewise.
25681 (jpeg_mod_LDFLAGS): Likewise.
25682
25683 * video/readers/jpeg.c : New file.
25684
25685 2008-01-22 Bean <bean123ch@gmail.com>
25686
25687 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
25688 there are no more items.
25689
25690 2008-01-21 Robert Millan <rmh@aybabtu.com>
25691
25692 * kern/mm.c (grub_mm_init_region): Improve debug message.
25693
25694 2008-01-21 Robert Millan <rmh@aybabtu.com>
25695
25696 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
25697 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
25698 address.
25699 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
25700 a C macro.
25701 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
25702 Indicates start of upper memory.
25703 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
25704 (generate_image): Abort when image size is big enough to corrupt
25705 upper memory.
25706
25707 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
25708 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
25709 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
25710 instead of hardcoding 0xA0000.
25711 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
25712 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
25713 instead of hardcoding 0xA0000.
25714
25715 2008-01-21 Robert Millan <rmh@aybabtu.com>
25716
25717 * disk/memdisk.c (memdisk_size): New variable.
25718 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
25719 `memdisk_size'.
25720 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
25721 image to dynamic memory.
25722 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
25723 `memdisk_size'. Free memdisk block.
25724
25725 2008-01-21 Robert Millan <rmh@aybabtu.com>
25726
25727 Fix detection of very small filesystems (like tar).
25728
25729 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
25730 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
25731 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
25732 a problem with this disk).
25733
25734 2008-01-21 Robert Millan <rmh@aybabtu.com>
25735
25736 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
25737 on grub_biosdisk_rw_standard() error.
25738
25739 2008-01-21 Robert Millan <rmh@aybabtu.com>
25740
25741 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
25742 recent changes.
25743 * kern/elf.c: Likewise.
25744 * kern/ieee1275/ieee1275.c: Likewise.
25745 * kern/powerpc/ieee1275/openfw.c: Likewise.
25746 * term/ieee1275/ofconsole.c: Likewise.
25747
25748 2008-01-21 Robert Millan <rmh@aybabtu.com>
25749
25750 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
25751
25752 * include/grub/kernel.h (grub_arch_memdisk_addr)
25753 (grub_arch_memdisk_size): Moved from here ...
25754
25755 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
25756 (grub_arch_memdisk_size): ... to here.
25757
25758 2008-01-21 Robert Millan <rmh@aybabtu.com>
25759
25760 Mostly based on bugfix from Bean.
25761
25762 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
25763 attribute with hook() parameter.
25764 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
25765 declaration.
25766 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
25767 attribute with hook() parameter.
25768 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
25769 declaration.
25770
25771 2008-01-21 Robert Millan <rmh@aybabtu.com>
25772
25773 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
25774 (pkglib_MODULES): Add `memdisk.mod'.
25775 (memdisk_mod_SOURCES): New variable.
25776 (memdisk_mod_CFLAGS): Likewise.
25777 (memdisk_mod_LDFLAGS): Likewise.
25778
25779 * disk/memdisk.c: New file.
25780
25781 * include/grub/disk.h (grub_disk_dev_id): Add
25782 `GRUB_DISK_DEVICE_MEMDISK_ID'.
25783
25784 * include/grub/i386/pc/kernel.h
25785 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
25786 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
25787 (grub_kernel_image_size): New variable declaration.
25788 (grub_total_module_size): Likewise.
25789 (grub_memdisk_image_size): Likewise.
25790
25791 * include/grub/i386/pc/memory.h
25792 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
25793
25794 * include/grub/kernel.h: Include `<grub/symbol.h>'.
25795 (grub_arch_memdisk_addr): New variable declaration.
25796 (grub_arch_memdisk_size): Likewise.
25797
25798 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
25799 (grub_arch_memdisk_size): Likewise.
25800
25801 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
25802 (codestart): Replace hardcoded `0x100000' with
25803 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
25804
25805 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
25806 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
25807 not NULL, append the contents of the file it refers to, at the end of
25808 the compressed kernel image. Initialize `grub_memdisk_image_size'
25809 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
25810 (options): Add "memdisk"|'m' option.
25811 (main): Parse --memdisk|-m option, and pass user-provided path as
25812 parameter to generate_image().
25813
25814 2008-01-20 Robert Millan <rmh@aybabtu.com>
25815
25816 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
25817 grub_dprintf() calls from here ...
25818 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
25819
25820 2008-01-20 Robert Millan <rmh@aybabtu.com>
25821
25822 Fix detection of "real mode" when /options/real-mode? doesn't exist.
25823
25824 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
25825 declaration.
25826 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
25827 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
25828 `GRUB_IEEE1275_FLAG_REAL_MODE'.
25829 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
25830 property).
25831 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
25832 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
25833
25834 2008-01-19 Robert Millan <rmh@aybabtu.com>
25835
25836 Get rid of confusing function (superseded by
25837 `grub_ieee1275_get_integer_property')
25838 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
25839 prototype.
25840 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
25841 function.
25842 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
25843 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
25844 in native endianness from grub_ieee1275_get_integer_property().
25845
25846 2008-01-19 Robert Millan <rmh@aybabtu.com>
25847
25848 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
25849 command after "shut-down", since implementations differ on which
25850 the command for halt is.
25851
25852 2008-01-19 Robert Millan <rmh@aybabtu.com>
25853
25854 * include/grub/i386/linuxbios/console.h: Add header protection.
25855 (grub_keyboard_controller_init): New function prototype.
25856 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
25857 (KEYBOARD_COMMAND_READ): Likewise.
25858 (KEYBOARD_COMMAND_WRITE): Likewise.
25859 (KEYBOARD_SCANCODE_SET1): Likewise.
25860 (grub_keyboard_controller_write): New function.
25861 (grub_keyboard_controller_read): Likewise.
25862 (grub_keyboard_controller_init): Likewise.
25863
25864 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
25865 (grub_console_init): On coreboot/LinuxBIOS, call
25866 grub_keyboard_controller_init().
25867
25868 2008-01-19 Robert Millan <rmh@aybabtu.com>
25869
25870 PowerPC changes provided by Pavel Roskin.
25871
25872 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
25873 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
25874 don't rely on cmain() doing it.
25875 * kern/i386/ieee1275/startup.S (_start): Store %eax in
25876 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
25877
25878 2008-01-16 Robert Millan <rmh@aybabtu.com>
25879
25880 * include/grub/i386/linuxbios/memory.h
25881 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
25882 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
25883 receive `table_header' as argument. Instead, probe for it in the
25884 known memory ranges where it can be present.
25885 (grub_available_iterate): Do not pass a fixed `table_header' address
25886 to grub_linuxbios_table_iterate().
25887
25888 2008-01-15 Robert Millan <rmh@aybabtu.com>
25889
25890 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
25891 * conf/i386-ieee1275.rmk: New file.
25892 * include/grub/i386/ieee1275/console.h: Likewise.
25893 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
25894 * include/grub/i386/ieee1275/kernel.h: Likewise.
25895 * include/grub/i386/ieee1275/time.h: Likewise.
25896 * kern/i386/ieee1275/init.c: Likewise.
25897 * kern/i386/ieee1275/startup.S: Likewise.
25898
25899 2008-01-15 Robert Millan <rmh@aybabtu.com>
25900
25901 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
25902 when pointers are 32-bit (but still do set it to one when they are
25903 64-bit).
25904
25905 2008-01-15 Robert Millan <rmh@aybabtu.com>
25906
25907 * include/grub/ieee1275/ieee1275.h
25908 (grub_ieee1275_get_integer_property): New function prototype.
25909
25910 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
25911 (grub_ieee1275_get_integer_property): New function. Wraps around
25912 grub_ieee1275_get_property() to handle endianness.
25913
25914 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
25915 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
25916 where appropriate.
25917 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
25918 (grub_map): Likewise.
25919 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
25920
25921 2008-01-15 Bean <bean123ch@gmail.com>
25922
25923 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
25924 (grub_script_execute_cmdline): Reset grub_errno.
25925
25926 * normal/main.c (read_config_file): Reset grub_errno.
25927
25928 * normal/parse.y (script_init): New.
25929 (script): Move function and menuentry here.
25930 (delimiter): New.
25931 (command): Add delimiter at the end of command.
25932 (commands): Adjust to match the new command.
25933 (commandblock): Remove grub_script_lexer_record_start.
25934 (menuentry): Add grub_script_lexer_record_start, use the new commands.
25935 (if): Use the new commands.
25936
25937 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
25938
25939 2008-01-15 Robert Millan <rmh@aybabtu.com>
25940
25941 * normal/menu.c (run_menu): Move timeout message from here ...
25942 (print_timeout): ... to here.
25943 (run_menu): Use print_timeout() once during initial draw to print
25944 the whole message, and again in every clock tick to update only
25945 the number of seconds.
25946
25947 2008-01-15 Robert Millan <rmh@aybabtu.com>
25948
25949 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
25950 actual size of `available' from grub_ieee1275_get_property(), and
25951 restrict parsing to that bound.
25952
25953 2008-01-15 Christian Franke <franke@computer.org>
25954
25955 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
25956 (argp_program_version): Remove variable.
25957 (argp_program_bug_address): Likewise.
25958 (options): Convert from struct argp_option to struct option.
25959 (struct arguments): Remove.
25960 (parse_opt): Remove.
25961 (usage): New function.
25962 (main): Replace struct args members by simple variables.
25963 Replace argp_parse() by getopt_long().
25964 Add switch to evaluate options.
25965 Add missing "(...)" around root_dev in prefix string.
25966
25967 2008-01-14 Robert Millan <rmh@aybabtu.com>
25968
25969 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
25970 for grub_ieee1275_exit(), in order to improve portability.
25971
25972 2008-01-14 Robert Millan <rmh@aybabtu.com>
25973
25974 * util/grub.d/10_linux.in (prefix): Define.
25975 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
25976
25977 2008-01-13 Pavel Roskin <proski@gnu.org>
25978
25979 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
25980 grub_errno if no errors have been detected.
25981
25982 2008-01-12 Robert Millan <rmh@aybabtu.com>
25983
25984 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
25985 (grub_util_get_dev_abstraction): New function prototype.
25986
25987 * util/getroot.c: Include `<grub/util/getroot.h>'
25988 (grub_util_get_grub_dev): Move detection of abstraction type to ...
25989 (grub_util_get_dev_abstraction): ... here (new function).
25990
25991 * util/grub-probe.c: Convert PRINT_* to an enum. Add
25992 `PRINT_ABSTRACTION'.
25993 (probe): Probe for abstraction type when requested.
25994 (main): Understand `--target=abstraction'.
25995
25996 * util/i386/efi/grub-install.in: Add abstraction module to core
25997 image when it is found to be necessary.
25998 * util/i386/pc/grub-install.in: Likewise.
25999 * util/powerpc/ieee1275/grub-install.in: Likewise.
26000
26001 * util/update-grub_lib.in (font_path): Return system path without
26002 converting to GRUB path.
26003 * util/update-grub.in: Convert system path returned by font_path()
26004 to a GRUB path. Use `grub-probe -t abstraction' to determine what
26005 abstraction module is needed for loading fonts (if any). Export
26006 that as `GRUB_PRELOAD_MODULES'.
26007 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
26008 insmod commands).
26009
26010 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
26011
26012 Remove some unused code from reiserfs.
26013
26014 * fs/reiserfs.c (struct grub_reiserfs_key)
26015 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
26016 (struct grub_reiserfs_node_body): Removed.
26017 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26018 Likewise.
26019 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26020 Likewise.
26021 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26022 Likewise.
26023 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26024 Likewise.
26025 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26026 Likewise.
26027 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
26028 Likewise.
26029 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26030 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26031 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26032
26033 2008-01-10 Robert Millan <rmh@aybabtu.com>
26034
26035 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
26036 Determines if a file is garbage left by packaging systems, etc.
26037 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
26038 for processing /etc/grub.d scripts.
26039 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
26040 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
26041 as a condition for processing Linux images.
26042
26043 2008-01-10 Pavel Roskin <proski@gnu.org>
26044
26045 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
26046 to compile reiserfs.c on PowerPC.
26047
26048 2008-01-10 Robert Millan <rmh@aybabtu.com>
26049
26050 * kern/device.c (grub_device_iterate): Do not abort device iteration
26051 when one of the devices cannot be opened.
26052 * kern/disk.c (grub_disk_open): Do not account previous failures of
26053 unrelated functions when grub_errno is checked for.
26054
26055 2008-01-08 Robert Millan <rmh@aybabtu.com>
26056
26057 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
26058 `! grub_linux_is_bzimage', change order of address comparison to make
26059 it more intuitive, and improve "too big zImage" error message.
26060
26061 2008-01-08 Robert Millan <rmh@aybabtu.com>
26062
26063 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
26064 `$(update-grub_DATA)'.
26065 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
26066 targets.
26067
26068 2008-01-07 Robert Millan <rmh@aybabtu.com>
26069
26070 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
26071 which instruction is modified by grub-setup during installation
26072 (since it wasn't obvious by only looking at this file).
26073
26074 2008-01-07 Robert Millan <rmh@aybabtu.com>
26075
26076 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
26077 listing actual TODO items.
26078
26079 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26080
26081 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
26082 correctly.
26083 (grub_reiserfs_get_key_offset): Likewise.
26084 (grub_reiserfs_set_key_offset): Likewise.
26085 (grub_reiserfs_set_key_type): Likewise.
26086 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
26087
26088 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
26089 better to remove the bitfield version completely.
26090
26091 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26092
26093 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
26094 allocated from the heap, due to the fshelp implementation.
26095 (grub_reiserfs_dir): Free NODE, due to the same reason.
26096
26097 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26098
26099 Mostly from Vincent Pelletier:
26100
26101 * fs/reiserfs.c: New file.
26102
26103 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
26104 (reiserfs_mod_SOURCES): New variable.
26105 (reiserfs_mod_CFLAGS): Likewise.
26106 (reiserfs_mod_LDFLAGS): Likewise.
26107
26108 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
26109 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
26110 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
26111 normal/color.c.
26112
26113 2008-01-06 Robert Millan <rmh@aybabtu.com>
26114
26115 * normal/color.c: Remove `<grub/env.h>'.
26116
26117 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
26118
26119 * include/grub/normal.h: Include <grub/env.h>.
26120
26121 2008-01-05 Robert Millan <rmh@aybabtu.com>
26122
26123 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
26124 usage example with `(hd0,1)'.
26125 Reported by Samuel Thibault.
26126
26127 2008-01-05 Robert Millan <rmh@aybabtu.com>
26128
26129 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
26130 (grub_linux_boot_zimage): Rename to ...
26131 (grub_linux_boot): ... this.
26132 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
26133 (grub_linux_boot_zimage): Conditionalize zImage copy.
26134
26135 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
26136 (grub_linux_boot_bzimage): Remove prototype.
26137 (grub_linux_boot_zimage): Rename to ...
26138 (grub_linux_boot): ... this.
26139
26140 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
26141 (grub_linux_boot): Remove function.
26142
26143 2008-01-05 Robert Millan <rmh@aybabtu.com>
26144
26145 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
26146 (grub_env_write_color_highlight): Likewise.
26147 (grub_wait_after_message): Likewise.
26148
26149 * normal/color.c: New file.
26150
26151 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26152 (normal_mod_DEPENDENCIES): Likewise.
26153
26154 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26155 (normal_mod_DEPENDENCIES): Likewise.
26156
26157 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26158 (normal_mod_DEPENDENCIES): Likewise.
26159
26160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26161 (normal_mod_DEPENDENCIES): Likewise.
26162
26163 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
26164 for waiting after a message is printed.
26165 * normal/main.c (read_config_file): Likewise.
26166 (grub_normal_init): Register grub_env_write_color_normal() and
26167 grub_env_write_color_highlight() hooks. Mark `color_normal' and
26168 `color_highlight' variables as global.
26169
26170 * normal/menu.c (grub_wait_after_message): New function.
26171 (grub_color_menu_normal): New variable. Replaces ...
26172 (GRUB_COLOR_MENU_NORMAL): ... this macro.
26173 (grub_color_menu_highlight): New variable. Replaces ...
26174 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
26175 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
26176 `GRUB_TERM_COLOR_STANDARD'.
26177 (print_message): Use `grub_setcolorstate' to reload colors. Rename
26178 `normal_code' and `highlight_code' to `old_color_normal' and
26179 `old_color_highlight', respectively.
26180 (grub_menu_init_page): Update colors when drawing the menu, based on
26181 `menu_color_normal' and `menu_color_highlight' variables.
26182 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
26183 a message is printed.
26184
26185 2008-01-05 Robert Millan <rmh@aybabtu.com>
26186
26187 * kern/env.c (grub_env_context_open): Propagate hooks for global
26188 variables to new context.
26189
26190 * kern/main.c (grub_set_root_dev): Export `root' variable.
26191
26192 2008-01-05 Robert Millan <rmh@aybabtu.com>
26193
26194 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
26195 discs unconditionally, since udev and others have options to provide
26196 them.
26197
26198 2008-01-05 Robert Millan <rmh@aybabtu.com>
26199
26200 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
26201
26202 2008-01-04 Christian Franke <franke@computer.org>
26203
26204 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
26205 of eisa_mmap.
26206
26207 2008-01-03 Pavel Roskin <proski@gnu.org>
26208
26209 * kern/i386/linuxbios/init.c: Put "void" to all function
26210 declarations with no arguments.
26211 * kern/powerpc/ieee1275/init.c: Likewise.
26212 * term/i386/pc/at_keyboard.c: Likewise.
26213 * term/i386/pc/vga_text.c: Likewise.
26214 * util/grub-mkdevicemap.c: Likewise.
26215
26216 2008-01-02 Robert Millan <rmh@aybabtu.com>
26217
26218 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
26219 message when loaded image is out of bounds.
26220 (grub_multiboot_load_elf64): Likewise.
26221
26222 2008-01-02 Pavel Roskin <proski@gnu.org>
26223
26224 * util/grub.d/10_linux.in: Try version without ".old" when
26225 looking for initrd. It's better to use initrd from the newer
26226 kernel of the same version than no initrd at all.
26227
26228 2008-01-01 Robert Millan <rmh@aybabtu.com>
26229
26230 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
26231
26232 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
26233
26234 * include/grub/video.h: Added grub_video_unmap_color and
26235 grub_video_get_active_render_target.
26236 (grub_video_adapter): Added unmap_color and get_active_render_target.
26237
26238 * video/video.c: Added grub_video_unmap_color and
26239 grub_video_get_active_render_target.
26240 (grub_video_get_info): Changed method to accept NULL pointer as an
26241 argument to allow detection of active video adapter.
26242
26243 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
26244 grub_video_vbe_unmap_color_int.
26245 Added grub_video_vbe_unmap_color and
26246 grub_video_vbe_get_active_render_target.
26247 (grub_video_vbe_adapter): Added unmap_color and
26248 get_active_render_target.
26249
26250 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
26251 with grub_video_vbe_unmap_color_int.
26252
26253 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
26254 (DEFAULT_NORMAL_COLOR): Likewise.
26255 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
26256 (DEFAULT_FG_COLOR): Removed.
26257 (DEFAULT_BG_COLOR): Likewise.
26258 (DEFAULT_CURSOR_COLOR): Changed value.
26259 (grub_virtual_screen): Added standard_color_setting,
26260 normal_color_setting, highlight_color_setting and term_color.
26261 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
26262 (bitmap_width): Added.
26263 (bitmap_height): Likewise.
26264 (bitmap): Likewise.
26265 (set_term_color): Likewise.
26266 (grub_virtual_screen_setup): Changed to use new terminal coloring
26267 settings.
26268 (grub_gfxterm_init): Added init for bitmap.
26269 (grub_gfxterm_fini): Added destroy for bitmap.
26270 (redraw_screen_rect): Updated to use background bitmap and new
26271 terminal coloring.
26272 (scroll_up): Added optimization for case when there is no bitmap.
26273 (grub_gfxterm_cls): Fixed to use correct background color.
26274 (grub_virtual_screen_setcolorstate): Changed to use new terminal
26275 coloring.
26276 (grub_virtual_screen_setcolor): Likewise.
26277 (grub_virtual_screen_getcolor): Added.
26278 (grub_gfxterm_background_image_cmd): Likewise.
26279 (grub_video_term): Added setcolor and getcolor.
26280 (MOD_INIT): Added registration of background_image command.
26281 (MOD_TERM): Added unregistration for background_image command.
26282
26283 2007-12-30 Pavel Roskin <proski@gnu.org>
26284
26285 * loader/multiboot_loader.c: Fix multiboot command
26286 unregistration. Fix all typos in the word "multiboot".
26287
26288 2007-12-29 Pavel Roskin <proski@gnu.org>
26289
26290 * util/grub.d/10_linux.in: Refactor search for initrd. Add
26291 support for initrd names used in Fedora.
26292
26293 2007-12-26 Bean <bean123ch@gmail.com>
26294
26295 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
26296 (cpio_mod_SOURCES): New variable.
26297 (cpio_mod_CFLAGS): Likewise.
26298 (cpio_mod_LDFLAGS): Likewise.
26299
26300 * fs/cpio.c: New file.
26301
26302 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
26303
26304 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26305
26306 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26307
26308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26309
26310 2007-12-25 Robert Millan <rmh@aybabtu.com>
26311
26312 * include/grub/term.h (struct grub_term): Add `getcolor' function.
26313 (grub_getcolor): New function.
26314
26315 * kern/term.c (grub_getcolor): New function.
26316 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
26317 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
26318 (print_entry): Set normal and highlight colors to
26319 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
26320 respectively, before printing and restore them to old
26321 values afterwards.
26322 (grub_menu_init_page): Likewise. Fill an additional colored space
26323 that would otherwise be left blank.
26324
26325 * term/efi/console.c (grub_console_getcolor): New function.
26326 (struct grub_console_term.getcolor): New variable.
26327 * term/i386/pc/console.c (grub_console_getcolor): New function.
26328 (struct grub_console_term.getcolor): New variable.
26329 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
26330 (struct grub_console_term.getcolor): New variable.
26331
26332 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
26333 (struct grub_console_term.setcolor): Remove variable.
26334 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
26335 (struct grub_console_term.setcolor): Remove variable.
26336 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
26337 (struct grub_console_term.setcolor): Remove variable.
26338 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
26339 (struct grub_console_term.setcolor): Remove variable.
26340
26341 2007-12-25 Robert Millan <rmh@aybabtu.com>
26342
26343 * configure.ac: Search for possible unifont.hex locations, and
26344 define UNIFONT_HEX if found.
26345
26346 * Makefile.in (UNIFONT_HEX): Define variable.
26347 (DATA): Rename to ...
26348 (PKGLIB): ... this. Update all users.
26349 (PKGDATA): New variable.
26350 (pkgdata_IMAGES): Rename to ...
26351 (pkglib_IMAGES): ... this. Update all users.
26352 (pkgdata_MODULES): Rename to ...
26353 (pkglib_MODULES): ... this. Update all users.
26354 (pkgdata_PROGRAMS): Rename to ...
26355 (pkglib_PROGRAMS): ... this. Update all users.
26356 (pkgdata_DATA): Rename to ...
26357 (pkglib_DATA): ... this. Update all users.
26358 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
26359 (unicode.pff, ascii.pff): New rules.
26360 (all-local): Add `$(PKGDATA)' dependency.
26361 (install-local): Process `$(PKGDATA)'.
26362
26363 * util/update-grub_lib.in (font_path): Search for *.pff files in
26364 a few more locations, including `${pkgdata}'.
26365
26366 2007-12-23 Robert Millan <rmh@aybabtu.com>
26367
26368 Patch from Bean <bean123ch@gmail.com>:
26369 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
26370 `size'.
26371
26372 2007-12-21 Bean <bean123ch@gmail.com>
26373
26374 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
26375 (ntfscomp_mod_SOURCES): New variable.
26376 (ntfscomp_mod_CFLAGS): Likewise.
26377 (ntfscomp_mod_LDFLAGS): Likewise.
26378
26379 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
26380 (grub_probe_SOURCES): Likewise.
26381 (grub_emu_SOURCES): Likewise.
26382
26383 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26384 (grub_emu_SOURCES): Likewise.
26385
26386 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26387 (grub_emu_SOURCES): Likewise.
26388
26389 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26390 (grub_emu_SOURCES): Likewise.
26391
26392 * fs/ntfs.c (grub_ntfscomp_func): New variable.
26393 (read_run_list): Renamed to grub_ntfs_read_run_list.
26394 (decomp_nextvcn): Moved to ntfscomp.c.
26395 (decomp_getch): Likewise.
26396 (decomp_get16): Likewise.
26397 (decomp_block): Likewise.
26398 (read_block): Likewise.
26399 (read_data): Partially moved to ntfscomp.c.
26400 (fixup): Change unsigned to grub_uint16_t.
26401 (read_mft): Change unsigned long to grub_uint32_t.
26402 (read_attr): Likewise.
26403 (read_data): Likewise.
26404 (read_run_data): Likewise.
26405 (read_run_list): Likewise.
26406 (read_mft): Likewise.
26407
26408 * fs/ntfscomp.c: New file.
26409
26410 * include/grub/ntfs.h: New file.
26411
26412 2007-12-16 Robert Millan <rmh@aybabtu.com>
26413
26414 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
26415 IDE disk check, since Linux is known to support 20 IDE disks.
26416 Reported by Colin Watson.
26417
26418 2007-12-15 Bean <bean123ch@gmail.com>
26419
26420 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
26421 (lnxboot_img_SOURCES): New variable.
26422 (lnxboot_img_ASFLAGS): Likewise.
26423 (lnxboot_img_LDFLAGS): Likewise.
26424
26425 * boot/i386/pc/lnxboot.S: New file.
26426
26427 2007-11-24 Pavel Roskin <proski@gnu.org>
26428
26429 * configure.ac: Test if '--build-id=none' is supported by the
26430 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
26431 objcopy to generate incorrect binary files (binutils
26432 2.17.50.0.18-1 as shipped by Fedora 8).
26433 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
26434 linking, so that build ID doesn't break the test.
26435
26436 2007-11-24 Pavel Roskin <proski@gnu.org>
26437
26438 * include/grub/i386/time.h: use "void" in the argument list
26439 of grub_cpu_idle().
26440 * include/grub/powerpc/time.h: Likewise.
26441 * include/grub/sparc64/time.h: Likewise.
26442
26443 2007-11-18 Christian Franke <franke@computer.org>
26444
26445 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
26446 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
26447 This fixes the problem that function keys did not work in grub-emu.
26448
26449 2007-11-18 Christian Franke <franke@computer.org>
26450
26451 * disk/host.c (grub_host_open): Remove attribute unused from
26452 name parameter. Add check for "host". This fixes the problem
26453 that grub-emu does not find partitions.
26454
26455 2007-11-18 Christian Franke <franke@computer.org>
26456
26457 * util/hostfs.c (is_dir): New function.
26458 (grub_hostfs_dir): Handle missing dirent.d_type case.
26459 (grub_hostfs_read): Add missing fseek().
26460 (grub_hostfs_label): Clear label pointer. This fixes a crash
26461 of grub-emu on "ls (host)".
26462
26463 2007-11-18 Christian Franke <franke@computer.org>
26464
26465 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
26466 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
26467 to 64 bit boundary by default.
26468
26469 2007-11-18 Bean <bean123ch@gmail.com>
26470
26471 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
26472 (hexdump_mod_SOURCES): New variable.
26473 (hexdump_mod_CFLAGS): Likewise.
26474 (hexdump_mod_LDFLAGS): Likewise.
26475
26476 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26477
26478 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26479
26480 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26481
26482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26483
26484 * include/grub/hexdump.h: New file.
26485
26486 * commands/hexdump.c: New file.
26487
26488 2007-11-10 Robert Millan <rmh@aybabtu.com>
26489
26490 * commands/i386/pc/play.c (beep_off): Switch order of arguments
26491 in grub_outb() calls.
26492 (beep_on): Likewise.
26493
26494 2007-11-10 Christian Franke <franke@computer.org>
26495
26496 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
26497 (grub_menu_run): Likewise.
26498
26499 2007-11-10 Robert Millan <rmh@aybabtu.com>
26500
26501 * include/grub/i386/efi/machine.h: New file.
26502 * include/grub/i386/linuxbios/machine.h: Likewise.
26503 * include/grub/i386/pc/machine.h: Likewise.
26504 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26505 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26506
26507 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
26508 (serial_hw_io_addr): New variable.
26509 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
26510 instead of `(unsigned short *) 0x400'.
26511
26512 2007-11-10 Bean <bean123ch@gmail.com>
26513
26514 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
26515
26516 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26517
26518 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
26519 (vga_mod_SOURCES): Added.
26520 (vga_mod_CFLAGS): Likewise.
26521 (vga_mod_LDFLAGS): Likewise.
26522
26523 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
26524 grub_outb() calls.
26525 (set_map_mask): Likewise.
26526 (set_read_map): Likewise.
26527 (set_read_address): Likewise.
26528 (vga_font): Removed variable.
26529 (get_vga_glyph): Removed function.
26530 (invalidate_char): Likewise.
26531 (write_char): Changed to use grub_font_get_glyph() for font
26532 information.
26533 (grub_vga_putchar): Likewise.
26534 (grub_vga_getcharwidth): Likewise.
26535
26536 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26537
26538 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
26539 flags.
26540 (pxeboot_img_LDFLAGS): Likewise.
26541 (diskboot_img_LDFLAGS): Likewise.
26542 (kernel_img_LDFLAGS): Likewise.
26543
26544 2007-11-06 Robert Millan <rmh@aybabtu.com>
26545
26546 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
26547 in grub_outb() calls.
26548 (serial_hw_init): Likewise.
26549
26550 2007-11-05 Robert Millan <rmh@aybabtu.com>
26551
26552 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
26553 spaces. Skip non-regular files.
26554
26555 2007-11-05 Robert Millan <rmh@aybabtu.com>
26556
26557 * kern/disk.c (grub_disk_firmware_fini)
26558 (grub_disk_firmware_is_tainted): New variables.
26559
26560 * include/grub/disk.h (grub_disk_firmware_fini)
26561 (grub_disk_firmware_is_tainted): Likewise.
26562
26563 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
26564 (grub_disk_biosdisk_fini): ... to here.
26565 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
26566 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
26567 is set. Register grub_disk_biosdisk_fini() in
26568 `grub_disk_firmware_fini'.
26569
26570 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
26571 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
26572 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
26573 to finish existing firmware disk interface.
26574
26575 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
26576 (ata_mod_SOURCES): New variable.
26577 (ata_mod_CFLAGS): Likewise.
26578 (ata_mod_LDFLAGS): Likewise.
26579
26580 2007-11-05 Robert Millan <rmh@aybabtu.com>
26581
26582 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
26583 (grub_ata_wait): Reimplement using grub_millisleep().
26584
26585 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
26586 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
26587
26588 2007-11-03 Marco Gerards <marco@gnu.org>
26589
26590 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
26591 (CRTC_ADDR_PORT): New macro.
26592 (CRTC_DATA_PORT): Likewise.
26593 (CRTC_CURSOR): Likewise.
26594 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26595 (CRTC_CURSOR_ADDR_LOW): Likewise.
26596 (update_cursor): New function.
26597 (grub_console_real_putchar): Call `update_cursor'.
26598 (grub_console_gotoxy): Likewise.
26599 (grub_console_cls): Set the default color when clearing the
26600 screen.
26601 (grub_console_setcursor): Implemented.
26602
26603 2007-11-03 Marco Gerards <marco@gnu.org>
26604
26605 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
26606 become activate.
26607 (grub_ata_pio_write): Likewise.
26608
26609 (grub_atapi_identify): Wait after issuing an ATA command.
26610 (grub_atapi_packet): Likewise.
26611 (grub_ata_identify): Likewise.
26612 (grub_ata_readwrite): Likewise.
26613
26614 2007-11-03 Marco Gerards <marco@gnu.org>
26615
26616 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
26617 (grub_ata_pio_write): Likewise.
26618 (grub_ata_readwrite): Use `grub_error', instead of
26619 returning `grub_errno'.
26620
26621 2007-11-03 Marco Gerards <marco@gnu.org>
26622
26623 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
26624 grub_ata_pio_write once for every single sector, instead of for
26625 multiple sectors.
26626
26627 2007-10-31 Robert Millan <rmh@aybabtu.com>
26628
26629 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
26630
26631 * conf/i386-linuxbios.rmk: New file.
26632
26633 * kern/i386/pc/hardware.c: Likewise.
26634 * term/i386/pc/at_keyboard.c: Likewise.
26635 * term/i386/pc/vga_text.c: Likewise.
26636
26637 * include/grub/i386/linuxbios/boot.h: Likewise.
26638 * include/grub/i386/linuxbios/console.h: Likewise.
26639 * include/grub/i386/linuxbios/init.h: Likewise.
26640 * include/grub/i386/linuxbios/kernel.h: Likewise.
26641 * include/grub/i386/linuxbios/loader.h: Likewise.
26642 * include/grub/i386/linuxbios/memory.h: Likewise.
26643 * include/grub/i386/linuxbios/serial.h: Likewise.
26644 * include/grub/i386/linuxbios/time.h: Likewise.
26645
26646 * kern/i386/linuxbios/init.c: Likewise.
26647 * kern/i386/linuxbios/startup.S: Likewise.
26648 * kern/i386/linuxbios/table.c: Likewise.
26649
26650 2007-10-31 Marco Gerards <marco@gnu.org>
26651
26652 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
26653 (ata_mod_SOURCES): New variable.
26654 (ata_mod_CFLAGS): Likewise.
26655 (ata_mod_LDFLAGS): Likewise.
26656
26657 * disk/ata.c: New file.
26658
26659 * include/grub/disk.h (grub_disk_dev_id): Add
26660 `GRUB_DISK_DEV_ATA_ID'.
26661
26662 2007-10-31 Robert Millan <rmh@aybabtu.com>
26663
26664 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
26665 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
26666
26667 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
26668 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
26669
26670 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
26671 `<grub/types.h>'.
26672
26673 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
26674
26675 2007-10-27 Robert Millan <rmh@aybabtu.com>
26676
26677 * include/grub/types.h (ULONG_MAX): Define macro.
26678
26679 2007-10-22 Robert Millan <rmh@aybabtu.com>
26680
26681 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
26682 `"../realmode.S"'.
26683 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
26684
26685 2007-10-22 Robert Millan <rmh@aybabtu.com>
26686
26687 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
26688 (pkgdata_MODULES): Add `biosdisk.mod'.
26689 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
26690 variables.
26691
26692 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
26693 (grub_biosdisk_init): Replace with ...
26694 (GRUB_MOD_INIT(biosdisk)): ... this.
26695 (grub_biosdisk_fini): Replace with ...
26696 (GRUB_MOD_FINI(biosdisk)): ... this.
26697
26698 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
26699 (grub_machine_init): Remove call to grub_biosdisk_init().
26700 (grub_machine_fini): Remove call to grub_machine_fini().
26701
26702 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
26703
26704 2007-10-22 Robert Millan <rmh@aybabtu.com>
26705
26706 * include/grub/time.h: New file.
26707 * include/grub/i386/time.h: Likewise.
26708 * include/grub/powerpc/time.h: Likewise.
26709 * include/grub/sparc64/time.h: Likewise.
26710
26711 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
26712 instances to ...
26713 (KERNEL_MACHINE_TIME_HEADER): ... this.
26714 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
26715 instances to ...
26716 (KERNEL_MACHINE_TIME_HEADER): ... this.
26717 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
26718 instances to ...
26719 (KERNEL_MACHINE_TIME_HEADER): ... this.
26720
26721 * kern/i386/efi/init.c: Include `<grub/time.h>'.
26722 (grub_millisleep): New function.
26723 * kern/i386/pc/init.c: Include `<grub/time.h>'.
26724 (grub_millisleep): New function.
26725 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
26726 Remove `grub/machine/time.h' include.
26727 (grub_millisleep): New function.
26728 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
26729 Remove `grub/machine/time.h' include.
26730 (grub_millisleep): New function.
26731
26732 * include/grub/misc.h (grub_div_roundup): New function.
26733
26734 * kern/misc.c: Include `<grub/time.h>'.
26735 (grub_millisleep_generic): New function.
26736
26737 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
26738 Add `time.h'.
26739 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
26740 Add `time.h'.
26741 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
26742 `machine/time.h'. Add `time.h'.
26743 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26744
26745 2007-10-21 Robert Millan <rmh@aybabtu.com>
26746
26747 * include/grub/misc.h (grub_max): New function.
26748
26749 2007-10-21 Robert Millan <rmh@aybabtu.com>
26750
26751 * util/misc.c (grub_util_info): Call fflush() before returning.
26752
26753 2007-10-20 Robert Millan <rmh@aybabtu.com>
26754
26755 * genmk.rb (Image): Copy `extra_flags' from here ...
26756 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
26757
26758 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
26759 to `argc' and `args' arguments.
26760
26761 2007-10-17 Robert Millan <rmh@aybabtu.com>
26762
26763 * kern/i386/loader.S: New file.
26764
26765 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
26766 * kern/i386/loader.S (grub_linux_prot_size)... to here.
26767 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
26768 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
26769 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
26770 * kern/i386/loader.S (grub_linux_real_addr)... to here.
26771 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
26772 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
26773 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
26774 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
26775 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
26776 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
26777 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
26778 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
26779
26780 * kern/i386/realmode.S: New file.
26781
26782 * kern/i386/pc/startup.S (protstack): Moved from here ...
26783 * kern/i386/realmode.S (protstack)... to here.
26784 * kern/i386/pc/startup.S (gdt): Moved from here ...
26785 * kern/i386/realmode.S (gdt)... to here.
26786 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
26787 * kern/i386/realmode.S (prot_to_real)... to here.
26788
26789 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
26790 `kern/i386/realmode.S'.
26791
26792 2007-10-17 Robert Millan <rmh@aybabtu.com>
26793
26794 * include/grub/i386/loader.h: New file.
26795
26796 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
26797 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
26798 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
26799 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
26800 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
26801 * include/grub/i386/loader.h (grub_linux_prot_size)
26802 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
26803 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
26804 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
26805 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
26806
26807 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
26808
26809 2007-10-15 Robert Millan <rmh@aybabtu.com>
26810
26811 * normal/misc.c (grub_normal_print_device_info): Do not probe for
26812 filesystem when dev->disk is unset.
26813 Do probe for filesystem even when dev->disk->has_partitions is set.
26814 In case a filesystem is found, always report it.
26815 In case it isn't, if dev->disk->has_partitions is set, report that
26816 a partition table was found instead of reporting that no filesystem
26817 could be identified.
26818
26819 2007-10-12 Robert Millan <rmh@aybabtu.com>
26820
26821 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
26822 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
26823
26824 * include/grub/types.h (grub_host_to_target16): New macro.
26825 (grub_host_to_target32): Likewise.
26826 (grub_host_to_target64): Likewise.
26827 (grub_target_to_host16): Likewise.
26828 (grub_target_to_host32): Likewise.
26829 (grub_target_to_host64): Likewise.
26830
26831 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26832 Renamed from to ...
26833 (GRUB_MOD_ALIGN): ...this. Update all users.
26834
26835 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
26836 grub_host_to_target32.
26837 Replace grub_be_to_cpu32 with grub_target_to_host32.
26838 (load_modules): Likewise.
26839 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
26840 Replace grub_be_to_cpu32 with grub_target_to_host32.
26841 Replace grub_cpu_to_be16 with grub_host_to_target16.
26842 Replace grub_cpu_to_be32 grub_host_to_target32.
26843
26844 2007-10-12 Robert Millan <rmh@aybabtu.com>
26845
26846 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
26847 * util/elf/grub-mkimage.c: ... here.
26848
26849 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
26850 `util/powerpc/ieee1275/grub-mkimage.c'.
26851
26852 2007-10-07 Robert Millan <rmh@aybabtu.com>
26853
26854 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
26855 and make it easier to figure out.
26856 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
26857 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
26858 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
26859 leave us with less than HEAP_MIN_SIZE total heap.
26860 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
26861
26862 2007-10-03 Robert Millan <rmh@aybabtu.com>
26863
26864 * include/grub/i386/io.h: New file.
26865 * commands/i386/pc/play.c (inb): Removed.
26866 (outb): Removed.
26867 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26868 with grub_outb().
26869 * term/i386/pc/serial.c (inb): Removed.
26870 (outb): Removed.
26871 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26872 with grub_outb().
26873 * term/i386/pc/vga.c (inb): Removed.
26874 (outb): Removed.
26875 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26876 with grub_outb().
26877
26878 2007-10-02 Robert Millan <rmh@aybabtu.com>
26879
26880 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
26881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26882 Reported by Marcin Kurek.
26883
26884 2007-09-07 Robert Millan <rmh@aybabtu.com>
26885
26886 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
26887 SmartFirmware version updates (as released by Sven Luther), and avoid
26888 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
26889 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
26890 known broken.
26891
26892 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26893
26894 From Hitoshi Ozeki:
26895 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
26896 when merging two regions.
26897
26898 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26899
26900 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
26901 * normal/completion.c (grub_normal_do_completion): Likewise.
26902 Reported by Hitoshi Ozeki.
26903
26904 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26905
26906 Do not use devices at boot in chainloading.
26907
26908 * loader/i386/pc/chainloader.c (boot_drive): New variable.
26909 (boot_part_addr): Likewise.
26910 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
26911 with BOOT_DRIVE and BOOT_PART_ADDR.
26912 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
26913 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
26914
26915 2007-08-29 Robert Millan <rmh@aybabtu.com>
26916
26917 Patch from Simon Peter <dn.tlp@gmx.net>:
26918 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
26919 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
26920 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
26921 util/i386/pc/grub-setup.c_DEPENDENCIES.
26922 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
26923 util/grub-probe.c_DEPENDENCIES.
26924 * conf/powerpc-ieee1275.rmk: Likewise.
26925
26926 2007-08-28 Robert Millan <rmh@aybabtu.com>
26927
26928 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
26929 to tell grub-mkdevicemap how to name devices.
26930 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
26931 feature).
26932
26933 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
26934 util/i386/get_disk_name.c.
26935 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
26936 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
26937 util/ieee1275/get_disk_name.c.
26938
26939 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
26940
26941 * DISTLIST: Add util/i386/get_disk_name.c and
26942 util/ieee1275/get_disk_name.c.
26943
26944 * util/grub-mkdevicemap.c: Replace device naming logic with
26945 grub_util_get_disk_name() calls.
26946
26947 2007-08-20 Robert Millan <rmh@aybabtu.com>
26948
26949 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
26950 (so that it works for both plural and singular quantities).
26951
26952 2007-08-05 Robert Millan <rmh@aybabtu.com>
26953
26954 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
26955 so that [xz] isn't taken into account when determining order.
26956
26957 2007-08-02 Marco Gerards <marco@gnu.org>
26958
26959 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
26960 `include/multiboot2.h', `include/grub/elfload.h',
26961 `include/multiboot.h', `include/grub/multiboot.h',
26962 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
26963 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
26964 `kern/elf.c', `loader/multiboot_loader.c',
26965 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
26966 `loader/i386/pc/multiboot2.c',
26967 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
26968 `util/i386/pc/grub-mkrescue.in'. Remove
26969 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
26970 `include/grub/i386/pc/util/biosdisk.h' and
26971 `include/grub/powerpc/ieee1275/multiboot.h'.
26972
26973 2007-08-02 Bean <bean123ch@gmail.com>
26974
26975 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
26976 (ntfs_mod_SOURCES): New variable.
26977 (ntfs_mod_CFLAGS): Likewise.
26978 (ntfs_mod_LDFLAGS): Likewise.
26979
26980 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
26981 (grub_probe_SOURCES): Likewise.
26982 (grub_emu_SOURCES): Likewise.
26983
26984 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
26985 (grub_emu_SOURCES): Likewise.
26986
26987 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
26988 (grub_emu_SOURCES): Likewise.
26989
26990 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
26991
26992 * fs/ntfs.c: New file.
26993
26994 2007-08-02 Bean <bean123ch@gmail.com>
26995
26996 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
26997
26998 * file.h (grub_file): Likewise.
26999
27000 * fshelp.h (grub_fshelp_read_file): Likewise.
27001
27002 * util/i386/pc/grub-setup.c (setup): Likewise.
27003 (save_first_sector): Likewise.
27004 (save_blocklists): Likewise.
27005
27006 * fs/affs.c (grub_affs_read_file): Likewise.
27007
27008 * fs/ext2.c (grub_ext2_read_file): Likewise.
27009
27010 * fs/fat.c (grub_fat_read_data): Likewise.
27011
27012 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
27013
27014 * fs/hfs.c (grub_hfs_read_file): Likewise.
27015
27016 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27017
27018 * fs/jfs.c (grub_jfs_read_file): Likewise.
27019
27020 * fs/minix.c (grub_minix_read_file): Likewise.
27021
27022 * fs/sfs.c (grub_sfs_read_file): Likewise.
27023
27024 * fs/ufs.c (grub_ufs_read_file): Likewise.
27025
27026 * fs/xfs.c (grub_xfs_read_file): Likewise.
27027
27028 * command/blocklist.c (read_blocklist): Likewise.
27029 (print_blocklist): Likewise.
27030
27031 2007-08-02 Marco Gerards <marco@gnu.org>
27032
27033 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
27034 `util/hostfs.c'.
27035
27036 * disk/host.c: New file.
27037
27038 * util/hostfs.c: Likewise.
27039
27040 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
27041 return `GRUB_ERR_BAD_FS'.
27042 * fs/sfs.c (grub_sfs_mount): Likewise.
27043 * fs/xfs.c (grub_xfs_mount): Likewise.
27044
27045 * include/grub/disk.h (enum grub_disk_dev_id): Add
27046 `GRUB_DISK_DEVICE_HOST_ID'.
27047
27048 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
27049
27050 2007-07-24 Jerone Young <jerone@gmail.com>
27051
27052 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
27053 modules for compilation.
27054 * conf/powerpc-ieee1275.rmk: Likewise.
27055
27056 * include/multiboot.h: Move multiboot definitions to one file. Rename
27057 many definitions to not get grub specific.
27058 * include/multiboot2.h: Create header with multiboot 2 definitions.
27059 * include/grub/multiboot.h: Header for grub specific function
27060 prototypes and definitions.
27061 * include/grub/multiboot2.h: Likewise.
27062 * include/grub/multiboot_loader.h: Likewise.
27063 * include/grub/i386/pc/multiboot.h: Removed.
27064 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
27065
27066 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
27067 and 2 to allow for one multiboot and module commands.
27068 * loader/multiboot2.c: Add multiboot2 functionality.
27069 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
27070 and definition names.
27071 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
27072 2 functions.
27073 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
27074 ieee1275 specific multiboot2 code.
27075
27076 * kern/i386/pc/startup.S: Change headers and definition names for
27077 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
27078
27079 2007-07-22 Robert Millan <rmh@aybabtu.com>
27080
27081 * geninitheader.sh: Process file specified in first parameter rather
27082 than hardcoding grub_modules_init.lst.
27083 * geninit.sh: Likewise. Also, construct header name dynamically rather
27084 than hardcoding grub_modules_init.h.
27085
27086 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
27087 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
27088 grub_probe_init.[ch] and grub_setup_init.[ch].
27089
27090 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
27091 grub_modules_init.h with grub_emu_init.h.
27092 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
27093 grub_probe_init.[ch] files.
27094 * conf/i386-efi.rmk: Likewise.
27095 * conf/i386-pc.rmk: Likewise.
27096 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
27097 grub_setup_init.[ch] files.
27098
27099 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
27100 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
27101 to initialize modules rather than a list of hardcoded functions.
27102 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
27103 grub_init_all() to initialize modules rather than a list of hardcoded
27104 functions.
27105
27106 2007-07-22 Robert Millan <rmh@aybabtu.com>
27107
27108 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27109 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
27110
27111 2007-07-22 Robert Millan <rmh@aybabtu.com>
27112
27113 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27114 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
27115 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
27116 flag when running on SmartFirmware.
27117 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
27118 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
27119 was set.
27120
27121 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27122 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
27123 rather than decreasing it.
27124
27125 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
27126 there's not enough space to do it, fail in the same way as when it
27127 can't be done because there are no partitions.
27128
27129 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
27130 when nvsetenv failed.
27131
27132 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27133
27134 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
27135 because this rule is automatically generated.
27136 (grub-mkrescue): Removed for the same reason as above.
27137
27138 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27139
27140 Migrate to GNU General Public License Version 3.
27141
27142 * COPYING: Replaced with the plain text version of GPLv3.
27143
27144 * config.guess: Updated from gnulib.
27145 * config.sub: Likewise.
27146
27147 * geninit.sh: Output a GPLv3 copyright notice.
27148 * geninitheader.sh: Likewise.
27149 * genmodsrc.sh: Likewise.
27150 * gensymlist.sh.in: Likewise.
27151
27152 * boot/i386/pc/boot.S: Upgraded to GPLv3.
27153 * boot/i386/pc/diskboot.S: Likewise.
27154 * boot/i386/pc/pxeboot.S: Likewise.
27155 * commands/blocklist.c: Likewise.
27156 * commands/boot.c: Likewise.
27157 * commands/cat.c: Likewise.
27158 * commands/cmp.c: Likewise.
27159 * commands/configfile.c: Likewise.
27160 * commands/echo.c: Likewise.
27161 * commands/help.c: Likewise.
27162 * commands/ls.c: Likewise.
27163 * commands/search.c: Likewise.
27164 * commands/terminal.c: Likewise.
27165 * commands/test.c: Likewise.
27166 * commands/videotest.c: Likewise.
27167 * commands/i386/cpuid.c: Likewise.
27168 * commands/i386/pc/halt.c: Likewise.
27169 * commands/i386/pc/play.c: Likewise.
27170 * commands/i386/pc/reboot.c: Likewise.
27171 * commands/i386/pc/vbeinfo.c: Likewise.
27172 * commands/i386/pc/vbetest.c: Likewise.
27173 * commands/ieee1275/halt.c: Likewise.
27174 * commands/ieee1275/reboot.c: Likewise.
27175 * commands/ieee1275/suspend.c: Likewise.
27176 * disk/loopback.c: Likewise.
27177 * disk/lvm.c: Likewise.
27178 * disk/raid.c: Likewise.
27179 * disk/efi/efidisk.c: Likewise.
27180 * disk/i386/pc/biosdisk.c: Likewise.
27181 * disk/ieee1275/ofdisk.c: Likewise.
27182 * font/manager.c: Likewise.
27183 * fs/affs.c: Likewise.
27184 * fs/ext2.c: Likewise.
27185 * fs/fat.c: Likewise.
27186 * fs/fshelp.c: Likewise.
27187 * fs/hfs.c: Likewise.
27188 * fs/hfsplus.c: Likewise.
27189 * fs/iso9660.c: Likewise.
27190 * fs/jfs.c: Likewise.
27191 * fs/minix.c: Likewise.
27192 * fs/sfs.c: Likewise.
27193 * fs/ufs.c: Likewise.
27194 * fs/xfs.c: Likewise.
27195 * hello/hello.c: Likewise.
27196 * include/grub/acorn_filecore.h: Likewise.
27197 * include/grub/arg.h: Likewise.
27198 * include/grub/bitmap.h: Likewise.
27199 * include/grub/boot.h: Likewise.
27200 * include/grub/cache.h: Likewise.
27201 * include/grub/device.h: Likewise.
27202 * include/grub/disk.h: Likewise.
27203 * include/grub/dl.h: Likewise.
27204 * include/grub/elfload.h: Likewise.
27205 * include/grub/env.h: Likewise.
27206 * include/grub/err.h: Likewise.
27207 * include/grub/file.h: Likewise.
27208 * include/grub/font.h: Likewise.
27209 * include/grub/fs.h: Likewise.
27210 * include/grub/fshelp.h: Likewise.
27211 * include/grub/gzio.h: Likewise.
27212 * include/grub/hfs.h: Likewise.
27213 * include/grub/kernel.h: Likewise.
27214 * include/grub/loader.h: Likewise.
27215 * include/grub/lvm.h: Likewise.
27216 * include/grub/misc.h: Likewise.
27217 * include/grub/mm.h: Likewise.
27218 * include/grub/net.h: Likewise.
27219 * include/grub/normal.h: Likewise.
27220 * include/grub/parser.h: Likewise.
27221 * include/grub/partition.h: Likewise.
27222 * include/grub/pc_partition.h: Likewise.
27223 * include/grub/raid.h: Likewise.
27224 * include/grub/rescue.h: Likewise.
27225 * include/grub/script.h: Likewise.
27226 * include/grub/setjmp.h: Likewise.
27227 * include/grub/symbol.h: Likewise.
27228 * include/grub/term.h: Likewise.
27229 * include/grub/terminfo.h: Likewise.
27230 * include/grub/tparm.h: Likewise.
27231 * include/grub/types.h: Likewise.
27232 * include/grub/video.h: Likewise.
27233 * include/grub/efi/api.h: Likewise.
27234 * include/grub/efi/chainloader.h: Likewise.
27235 * include/grub/efi/console.h: Likewise.
27236 * include/grub/efi/console_control.h: Likewise.
27237 * include/grub/efi/disk.h: Likewise.
27238 * include/grub/efi/efi.h: Likewise.
27239 * include/grub/efi/pe32.h: Likewise.
27240 * include/grub/efi/time.h: Likewise.
27241 * include/grub/i386/linux.h: Likewise.
27242 * include/grub/i386/setjmp.h: Likewise.
27243 * include/grub/i386/types.h: Likewise.
27244 * include/grub/i386/efi/kernel.h: Likewise.
27245 * include/grub/i386/efi/loader.h: Likewise.
27246 * include/grub/i386/efi/time.h: Likewise.
27247 * include/grub/i386/pc/biosdisk.h: Likewise.
27248 * include/grub/i386/pc/boot.h: Likewise.
27249 * include/grub/i386/pc/chainloader.h: Likewise.
27250 * include/grub/i386/pc/console.h: Likewise.
27251 * include/grub/i386/pc/init.h: Likewise.
27252 * include/grub/i386/pc/kernel.h: Likewise.
27253 * include/grub/i386/pc/loader.h: Likewise.
27254 * include/grub/i386/pc/memory.h: Likewise.
27255 * include/grub/i386/pc/multiboot.h: Likewise.
27256 * include/grub/i386/pc/serial.h: Likewise.
27257 * include/grub/i386/pc/time.h: Likewise.
27258 * include/grub/i386/pc/vbe.h: Likewise.
27259 * include/grub/i386/pc/vbeblit.h: Likewise.
27260 * include/grub/i386/pc/vbefill.h: Likewise.
27261 * include/grub/i386/pc/vbeutil.h: Likewise.
27262 * include/grub/i386/pc/vga.h: Likewise.
27263 * include/grub/ieee1275/ieee1275.h: Likewise.
27264 * include/grub/ieee1275/ofdisk.h: Likewise.
27265 * include/grub/powerpc/libgcc.h: Likewise.
27266 * include/grub/powerpc/setjmp.h: Likewise.
27267 * include/grub/powerpc/types.h: Likewise.
27268 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
27269 * include/grub/powerpc/ieee1275/console.h: Likewise.
27270 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
27271 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27272 * include/grub/powerpc/ieee1275/loader.h: Likewise.
27273 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
27274 * include/grub/powerpc/ieee1275/time.h: Likewise.
27275 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
27276 * include/grub/sparc64/libgcc.h: Likewise.
27277 * include/grub/sparc64/setjmp.h: Likewise.
27278 * include/grub/sparc64/types.h: Likewise.
27279 * include/grub/sparc64/ieee1275/console.h: Likewise.
27280 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27281 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27282 * include/grub/sparc64/ieee1275/time.h: Likewise.
27283 * include/grub/util/biosdisk.h: Likewise.
27284 * include/grub/util/getroot.h: Likewise.
27285 * include/grub/util/lvm.h: Likewise.
27286 * include/grub/util/misc.h: Likewise.
27287 * include/grub/util/raid.h: Likewise.
27288 * include/grub/util/resolve.h: Likewise.
27289 * io/gzio.c: Likewise.
27290 * kern/device.c: Likewise.
27291 * kern/disk.c: Likewise.
27292 * kern/dl.c: Likewise.
27293 * kern/elf.c: Likewise.
27294 * kern/env.c: Likewise.
27295 * kern/err.c: Likewise.
27296 * kern/file.c: Likewise.
27297 * kern/fs.c: Likewise.
27298 * kern/loader.c: Likewise.
27299 * kern/main.c: Likewise.
27300 * kern/misc.c: Likewise.
27301 * kern/mm.c: Likewise.
27302 * kern/parser.c: Likewise.
27303 * kern/partition.c: Likewise.
27304 * kern/rescue.c: Likewise.
27305 * kern/term.c: Likewise.
27306 * kern/efi/efi.c: Likewise.
27307 * kern/efi/init.c: Likewise.
27308 * kern/efi/mm.c: Likewise.
27309 * kern/i386/dl.c: Likewise.
27310 * kern/i386/efi/init.c: Likewise.
27311 * kern/i386/efi/startup.S: Likewise.
27312 * kern/i386/pc/init.c: Likewise.
27313 * kern/i386/pc/lzo1x.S: Likewise.
27314 * kern/i386/pc/startup.S: Likewise.
27315 * kern/ieee1275/ieee1275.c: Likewise.
27316 * kern/powerpc/cache.S: Likewise.
27317 * kern/powerpc/dl.c: Likewise.
27318 * kern/powerpc/ieee1275/cmain.c: Likewise.
27319 * kern/powerpc/ieee1275/crt0.S: Likewise.
27320 * kern/powerpc/ieee1275/init.c: Likewise.
27321 * kern/powerpc/ieee1275/openfw.c: Likewise.
27322 * kern/sparc64/cache.S: Likewise.
27323 * kern/sparc64/dl.c: Likewise.
27324 * kern/sparc64/ieee1275/init.c: Likewise.
27325 * kern/sparc64/ieee1275/openfw.c: Likewise.
27326 * loader/efi/chainloader.c: Likewise.
27327 * loader/efi/chainloader_normal.c: Likewise.
27328 * loader/i386/efi/linux.c: Likewise.
27329 * loader/i386/efi/linux_normal.c: Likewise.
27330 * loader/i386/pc/chainloader.c: Likewise.
27331 * loader/i386/pc/chainloader_normal.c: Likewise.
27332 * loader/i386/pc/linux.c: Likewise.
27333 * loader/i386/pc/linux_normal.c: Likewise.
27334 * loader/i386/pc/multiboot.c: Likewise.
27335 * loader/i386/pc/multiboot_normal.c: Likewise.
27336 * loader/powerpc/ieee1275/linux.c: Likewise.
27337 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27338 * normal/arg.c: Likewise.
27339 * normal/cmdline.c: Likewise.
27340 * normal/command.c: Likewise.
27341 * normal/completion.c: Likewise.
27342 * normal/execute.c: Likewise.
27343 * normal/function.c: Likewise.
27344 * normal/lexer.c: Likewise.
27345 * normal/main.c: Likewise.
27346 * normal/menu.c: Likewise.
27347 * normal/menu_entry.c: Likewise.
27348 * normal/misc.c: Likewise.
27349 * normal/parser.y: Likewise.
27350 * normal/script.c: Likewise.
27351 * normal/i386/setjmp.S: Likewise.
27352 * normal/powerpc/setjmp.S: Likewise.
27353 * normal/sparc64/setjmp.S: Likewise.
27354 * partmap/acorn.c: Likewise.
27355 * partmap/amiga.c: Likewise.
27356 * partmap/apple.c: Likewise.
27357 * partmap/gpt.c: Likewise.
27358 * partmap/pc.c: Likewise.
27359 * partmap/sun.c: Likewise.
27360 * term/gfxterm.c: Likewise.
27361 * term/terminfo.c: Likewise.
27362 * term/efi/console.c: Likewise.
27363 * term/i386/pc/console.c: Likewise.
27364 * term/i386/pc/serial.c: Likewise.
27365 * term/i386/pc/vesafb.c: Likewise.
27366 * term/i386/pc/vga.c: Likewise.
27367 * term/ieee1275/ofconsole.c: Likewise.
27368 * util/biosdisk.c: Likewise.
27369 * util/console.c: Likewise.
27370 * util/genmoddep.c: Likewise.
27371 * util/getroot.c: Likewise.
27372 * util/grub-emu.c: Likewise.
27373 * util/grub-mkdevicemap.c: Likewise.
27374 * util/grub-probe.c: Likewise.
27375 * util/lvm.c: Likewise.
27376 * util/misc.c: Likewise.
27377 * util/raid.c: Likewise.
27378 * util/resolve.c: Likewise.
27379 * util/update-grub.in: Likewise.
27380 * util/update-grub_lib.in: Likewise.
27381 * util/grub.d/00_header.in: Likewise.
27382 * util/grub.d/10_hurd.in: Likewise.
27383 * util/grub.d/10_linux.in: Likewise.
27384 * util/i386/efi/grub-install.in: Likewise.
27385 * util/i386/efi/grub-mkimage.c: Likewise.
27386 * util/i386/pc/grub-install.in: Likewise.
27387 * util/i386/pc/grub-mkimage.c: Likewise.
27388 * util/i386/pc/grub-mkrescue.in: Likewise.
27389 * util/i386/pc/grub-setup.c: Likewise.
27390 * util/i386/pc/misc.c: Likewise.
27391 * util/powerpc/ieee1275/grub-install.in: Likewise.
27392 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
27393 * util/powerpc/ieee1275/misc.c: Likewise.
27394 * video/bitmap.c: Likewise.
27395 * video/video.c: Likewise.
27396 * video/i386/pc/vbe.c: Likewise.
27397 * video/i386/pc/vbeblit.c: Likewise.
27398 * video/i386/pc/vbefill.c: Likewise.
27399 * video/i386/pc/vbeutil.c: Likewise.
27400 * video/readers/tga.c: Likewise.
27401
27402 2007-07-02 Robert Millan <rmh@aybabtu.com>
27403
27404 * conf/i386-efi.rmk: Replace obsolete reference to
27405 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
27406 with util/getroot.c.
27407 * conf/powerpc-ieee1275.rmk: Likewise.
27408 * conf/sparc64-ieee1275.rmk: Likewise.
27409
27410 * util/grub-emu.c (main): Fix unchecked pointer handling.
27411
27412 2007-07-02 Robert Millan <rmh@aybabtu.com>
27413
27414 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
27415 invocation to fail, in order to support partition-less media.
27416
27417 * util/i386/pc/grub-install.in: Likewise.
27418
27419 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
27420 which fs or partmap modules are needed (akin to its sister scripts).
27421
27422 Also use grub-probe to get rid of unportable /proc/mounts check.
27423
27424 Print the same informational message that the other scripts do, before
27425 exiting.
27426
27427 2007-06-23 Robert Millan <rmh@aybabtu.com>
27428
27429 * util/update-grub_lib.in (font_path): New function. Determine whether
27430 a font file can be found and, if so, echo the GRUB path to it.
27431
27432 * util/update-grub.in: Handle multiple terminals depending on user
27433 input, platform availability and font file presence. Propagate
27434 variables of our findings to /etc/grub.d/ children.
27435
27436 * util/grub.d/00_header.in: Handle multiple terminals, based on
27437 environment setup by update-grub.
27438
27439 2007-06-23 Robert Millan <rmh@aybabtu.com>
27440
27441 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
27442
27443 2007-06-21 Robert Millan <rmh@aybabtu.com>
27444
27445 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
27446 indicate end of data section in kernel image.
27447 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
27448 GRUB_KERNEL_MACHINE_DATA_END.
27449
27450 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
27451 space for it.
27452 * kern/i386/efi/startup.S: Likewise.
27453
27454 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
27455 during image generation. Implement --prefix option to override this
27456 patch.
27457 * util/i386/efi/grub-mkimage.c: Likewise.
27458
27459 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
27460 code to make path relative to its root into a separate function.
27461
27462 * util/i386/pc/grub-install.in: Use newly provided
27463 make_system_path_relative_to_its_root() to convert ${grubdir}, then
27464 pass the result to grub-install --prefix.
27465
27466 2007-06-13 Robert Millan <rmh@aybabtu.com>
27467
27468 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
27469 DEFAULT_DEVICE_MAP.
27470 * util/grub-emu.c: Use above definitions from misc.h instead of
27471 defining them.
27472 * util/grub-mkdevicemap.c: Likewise.
27473 * util/i386/pc/grub-setup.c: Likewise.
27474 * util/grub-probe.c: Likewise.
27475 (probe): Abort with grub_util_error() when either
27476 grub_guess_root_device or grub_util_get_grub_dev fails.
27477
27478 2007-06-12 Robert Millan <rmh@aybabtu.com>
27479
27480 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
27481 "pager" assignment.
27482 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
27483 "pcdata".
27484 * util/grub-probe.c (probe): Likewise for "drive_name".
27485
27486 2007-06-11 Robert Millan <rmh@aybabtu.com>
27487
27488 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
27489 not just the cdrom one.
27490
27491 2007-06-11 Robert Millan <rmh@aybabtu.com>
27492
27493 * util/i386/pc/grub-mkrescue.in: Add "set -e".
27494 Add --pkglibdir=DIR option to override pkglibdir.
27495 Mention --image-type=TYPE in help output.
27496 Fix --grub-mkimage (it was a no-op).
27497 Abort gracefully when no parameter is given.
27498
27499 2007-06-11 Robert Millan <rmh@aybabtu.com>
27500
27501 * util/i386/pc/grub-mkrescue.in: New file.
27502 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
27503 * Makefile.in: Handle bin_SCRIPTS.
27504
27505 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
27506
27507 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
27508 list of video modes.
27509
27510 2007-06-06 Robert Millan <rmh@aybabtu.com>
27511
27512 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
27513 file doesn't exist, or if it is in a filesystem grub can't read.
27514
27515 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
27516 not abort if GRUB_DRIVE could not be defined. Rearrange generated
27517 header comment to fit in 80 columns when the variables are resolved.
27518
27519 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
27520 could be identified by update-grub. Remove redundant check for
27521 unifont.pff existence (since convert_system_path_to_grub_path now
27522 handles that).
27523
27524 2007-06-04 Robert Millan <rmh@aybabtu.com>
27525
27526 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
27527
27528 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
27529
27530 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
27531
27532 2007-06-04 Robert Millan <rmh@aybabtu.com>
27533
27534 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
27535
27536 * include/grub/partition.h: Declare grub_apple_partition_map_init and
27537 grub_apple_partition_map_fini.
27538
27539 * util/biosdisk.c
27540 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
27541 to access >2 TiB disks).
27542
27543 Print disk->total_sectors with %llu instead of %lu, since this
27544 variable is always 64-bit (prevents wrong disk size from being displayed
27545 on either >2 TiB disk or big-endian CPU).
27546
27547 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
27548 into a generic case that supports all (sane) partition maps.
27549
27550 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
27551 breaks big-endian.
27552
27553 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
27554 and grub_apple_partition_map_fini() after that.
27555
27556 2007-06-01 Robert Millan <rmh@aybabtu.com>
27557
27558 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
27559
27560 * util/grub.d/00_header.in: Only enable gfxterm when
27561 convert_system_path_to_grub_path() succeeds.
27562
27563 2007-05-20 Robert Millan <rmh@aybabtu.com>
27564
27565 * util/update-grub_lib.in: New file.
27566 * DISTLIST: Add update-grub_lib.in.
27567 * conf/common.rmk: Generate update-grub_lib and install it in
27568 $(lib_DATA).
27569 * Makefile.in: Add install routine for $(lib_DATA).
27570
27571 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
27572 function provided by update-grub_lib to support arbitrary paths of
27573 unifont.pff.
27574 * util/update-grub.in: Use convert_system_path_to_grub_path() to
27575 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
27576
27577 2007-05-19 Robert Millan <rmh@aybabtu.com>
27578
27579 * commands/i386/cpuid.c: New module.
27580 * DISTLIST: Add it.
27581 * conf/i386-efi.rmk: Enable cpuid.mod.
27582 * conf/i386-pc.rmk: Likewise.
27583
27584 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
27585
27586 * kern/disk.c (grub_disk_read): Check return value of
27587 grub_realloc().
27588
27589 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
27590
27591 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
27592 arrays.
27593 * disk/raid.c (grub_raid_open): Likewise.
27594
27595 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
27596
27597 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
27598 stack instead of on the heap.
27599
27600 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
27601 before doing a read on it.
27602
27603 * configure.ac: Only use -fno-stack-protector for the target
27604 environment.
27605
27606 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
27607
27608 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
27609 __attribute_ ((unused)) to mode_type argument.
27610
27611 * util/getroot.c (grub_guess_root_device): Fix #endif.
27612
27613 * kern/misc.c (memcmp): Fix prototype.
27614
27615 * include/grub/partition.h [GRUB_UTIL]
27616 (grub_gpt_partition_map_init): Add prototype.
27617 (grub_gpt_partition_map_fini): Likewise.
27618
27619 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
27620 at the right place.
27621
27622 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
27623 (grub_fat_read_data): Likewise.
27624 (grub_fat_find_dir): Likewise.
27625
27626 * font/manager.c (find_glyph): Make table a const.
27627 (grub_font_get_glyph): Remove bitmap from if statement.
27628
27629 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
27630
27631 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
27632 code, first search for device in /dev/mapper, then in /dev.
27633 (grub_util_get_grub_dev): New function.
27634 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
27635 prototype.
27636 * util/grub-probe.c (probe): Remove check for RAID, call
27637 grub_util_get_grub_dev() instead of
27638 grub_util_biosdisk_get_grub_dev().
27639 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
27640 grub_util_biosdisk_get_grub_dev().
27641 * util/i386/pc/grub-setup.c (main): Likewise.
27642
27643 2007-05-16 Robert Millan <rmh@aybabtu.com>
27644
27645 * DISTLIST: Update for the latest changes.
27646 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
27647 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
27648 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
27649 grub/util/biosdisk.h.
27650 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
27651 grub/util/biosdisk.h.
27652
27653 2007-05-16 Robert Millan <rmh@aybabtu.com>
27654
27655 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
27656
27657 2007-05-16 Robert Millan <rmh@aybabtu.com>
27658
27659 * util/i386/efi/grub-install.in: New.
27660 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
27661 newly added grub-install.
27662 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
27663 include.
27664 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
27665 grub/util/biosdisk.h.
27666 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
27667 grub/util/biosdisk.h.
27668
27669 2007-05-16 Robert Millan <rmh@aybabtu.com>
27670
27671 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
27672 * include/grub/util/biosdisk.h: ... here.
27673 * util/i386/pc/biosdisk.c: Moved to ...
27674 * util/biosdisk.c: ... here.
27675 * util/i386/pc/getroot.c: Moved to ...
27676 * util/getroot.c: ... here.
27677 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
27678 * util/grub-mkdevicemap.c: ... here.
27679 * util/i386/pc/grub-probe.c: Moved to ...
27680 * util/grub-probe.c: ... here.
27681
27682 2007-05-15 Robert Millan <rmh@aybabtu.com>
27683
27684 * util/update-grub.in: Remove duplicated line in grub.cfg header
27685 message.
27686
27687 2007-05-13 Robert Millan <rmh@aybabtu.com>
27688
27689 * util/update-grub.in: Fix a few assumptions about the devices holding
27690 /, /boot and /boot/grub being the same.
27691 * util/grub.d/00_header.in: Likewise.
27692 * util/grub.d/10_hurd.in: Likewise.
27693 * util/grub.d/10_linux.in: Likewise.
27694
27695 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
27696 patterns. Use that to define the `.old' suffix as older than `'.
27697
27698 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
27699
27700 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
27701 the grub.cfg header message.
27702
27703 2007-05-11 Robert Millan <rmh@aybabtu.com>
27704
27705 * util/update-grub.in: Create device.map if it doesn't already exist,
27706 before attempting to run grub-probe.
27707 Check for grub-probe and grub-mkdevicemap with the same code
27708 grub-install is using.
27709 Remove test mode.
27710
27711 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
27712
27713 * Makefile.in: Add the datarootdir autoconf variable.
27714
27715 2007-05-09 Robert Millan <rmh@aybabtu.com>
27716
27717 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
27718 fail gracefully if dev->disk->partition == NULL.
27719
27720 2007-05-07 Robert Millan <rmh@aybabtu.com>
27721
27722 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
27723 determine partition map module.
27724 * util/i386/pc/grub-install.in: Use this feature to decide which
27725 partition module to load, instead of hardcoding pc and gpt.
27726
27727 2007-05-07 Robert Millan <rmh@aybabtu.com>
27728
27729 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
27730 source directory differs from build directory.
27731
27732 2007-05-05 Robert Millan <rmh@aybabtu.com>
27733
27734 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
27735 initialisation.
27736
27737 2007-05-05 Robert Millan <rmh@aybabtu.com>
27738
27739 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
27740
27741 2007-05-05 Robert Millan <rmh@aybabtu.com>
27742
27743 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
27744 command-line arguments via ${GRUB_CMDLINE_LINUX}.
27745
27746 2007-05-05 Robert Millan <rmh@aybabtu.com>
27747
27748 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
27749 (grub_probe_SOURCES): Likewise.
27750 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
27751 GPT and initialize dos_part and bsd_part accordingly.
27752 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
27753 install_bsd_part.
27754 (main): Activate gpt module for use during partition identification,
27755 and deactivate it afterwards.
27756 * util/i386/pc/grub-install.in: Add gpt module to core.img.
27757 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
27758 partition identification, and deactivate it afterwards.
27759
27760 2007-05-05 Robert Millan <rmh@aybabtu.com>
27761
27762 * term/i386/pc/console.c (grub_console_fini): Call
27763 grub_term_set_current() before grub_term_unregister().
27764
27765 2007-05-04 Robert Millan <rmh@aybabtu.com>
27766
27767 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
27768 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
27769 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
27770 and update-grub_DATA.
27771 * conf/common.rmk: Build and install update-grub components.
27772 * conf/common.mk: Regenerate.
27773 * util/update-grub.in: New. Core of update-grub.
27774 * util/grub.d/00_header.in: New. Generates grub.cfg header.
27775 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
27776 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
27777 * util/grub.d/README: New. Document grub.d directory layout.
27778
27779 2007-05-01 Robert Millan <rmh@aybabtu.com>
27780
27781 * util/grub-emu.c: Move initialization functions
27782 grub_util_biosdisk_init() and grub_init_all() before
27783 grub_util_biosdisk_get_grub_dev(), which relies on them.
27784
27785 2007-04-19 Robert Millan <rmh@aybabtu.com>
27786
27787 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
27788 it is used later.
27789
27790 2007-04-18 Jerone Young <jerone@gmail.com>
27791
27792 * kernel/elf.c: Add missing parenthesis for conditional statement
27793 stanza.
27794
27795 2007-04-10 Jerone Young <jerone@gmail.com>
27796
27797 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
27798 continue on and look for device node with real device name.
27799
27800 2007-04-10 Jerone Young <jerone@gmail.com>
27801
27802 * configure.ac: Add argument for autoconf to use transformation
27803 ability.
27804 * Makefile.in: Add autoconf package transformation code.
27805 * util/i386/pc/grub-install.in: Likewise.
27806 * util/powerpc/ieee1275/grub-install.in: Likewise.
27807
27808 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
27809
27810 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
27811 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
27812 (EXT2_REVISION): Likewise.
27813 (EXT2_INODE_SIZE): Likewise.
27814 (struct grub_ext2_block_group): Added a missing member
27815 "used_dirs".
27816 (grub_ext2_read_inode): Divide by the inode size in a superblock
27817 instead of 128 to obtain INODES_PER_BLOCK.
27818 Use the macro EXT2_INODE_SIZE instead of directly using
27819 SBLOCK->INODE_SIZE.
27820
27821 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
27822
27823 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
27824 superblock instead of the structure size to compute an
27825 offset. This fixes the problem that GRUB could not read a
27826 filesystem when inode size is different from 128-byte.
27827
27828 2007-03-05 Marco Gerards <marco@gnu.org>
27829
27830 * normal/main.c (read_config_file): When "menu" is not set, create
27831 an initial context.
27832
27833 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
27834
27835 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
27836 (HEAP_LIMIT): New macro.
27837 (grub_claim_heap): Claim memory up to `heaplimit'.
27838
27839 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
27840
27841 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
27842 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
27843 (_start): Likewise.
27844 (grub_arch_modules_addr): Return address after `_end'.
27845 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
27846 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
27847 (add_segments): Calculate `_end' from phdr size and location.
27848 (ALIGN_UP): Moved to ...
27849 * include/grub/misc.h: here.
27850 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27851 New macro.
27852 (GRUB_IEEE1275_MODULE_BASE): Removed.
27853
27854 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27855
27856 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
27857 loop boundary.
27858
27859 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27860
27861 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
27862 All users updated.
27863 (grub_elf64_load_hook_t): Likewise.
27864 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
27865 debug output.
27866
27867 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27868
27869 * kern/mm.c: Update copyright.
27870 (grub_mm_debug): Correct syntax error.
27871 (grub_mm_dump_free): New function.
27872 (grub_debug_free): Call `grub_free'.
27873 * include/grub/mm.h: Update copyright.
27874 (grub_mm_dump_free): Add declaration.
27875
27876 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
27877
27878 * include/grub/ieee1275/ieee1275.h: Update copyright.
27879 * kern/powerpc/ieee1275/init.c: Likewise.
27880 * kern/powerpc/ieee1275/openfw.c: Likewise.
27881
27882 * loader/powerpc/ieee1275/linux.c: Likewise.
27883 * include/grub/elfload.h: Likewise.
27884 * kern/elf.c: Likewise.
27885 (grub_elf32_load): Pass `base' and `size' parameters. Update all
27886 callers.
27887 (grub_elf64_load): Likewise.
27888 (grub_elf32_load_segment): Move to a nested function.
27889 (grub_elf64_load_segment): Likewise.
27890
27891 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
27892
27893 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
27894 prototype.
27895 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
27896 (grub_heap_len): Likewise.
27897 (HEAP_SIZE): New macro.
27898 (grub_claim_heap): New function.
27899 (grub_machine_init): Don't claim heap directly. Call
27900 `grub_claim_heap'.
27901 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
27902 (grub_available_iterate): New function.
27903
27904 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
27905
27906 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
27907 * configure.ac: Use it for testing the HOST and TARGET compilers.
27908
27909 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
27910
27911 * Makefile.in (enable_grub_emu): New variable.
27912 * configure.ac (--enable-grub-emu): New option.
27913 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
27914 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
27915 * conf/i386-pc.rmk: Likewise.
27916 * conf/powerpc-ieee1275.rmk: Likewise.
27917 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
27918
27919 2006-12-12 Marco Gerards <marco@gnu.org>
27920
27921 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
27922
27923 * kern/env.c (grub_env_unset): Don't free the member `value' when
27924 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
27925 pointer.
27926
27927 * normal/main.c (current_menu): Removed.
27928 (free_menu): Unset the `menu' environment variable.
27929 (grub_normal_menu_addentry): Make use of the environment variable
27930 `menu', instead of using the global `current_menu'. Allocate
27931 memory for the sourcecode of this entry.
27932 (read_config_file): New argument `nested', changed all callers.
27933 Only in the case of a new context, initialize a new menu. Set the
27934 `menu' environment variable.
27935 (grub_normal_execute): Don't set and unset the environment
27936 variable `menu' here anymore. Only free the menu when leaving the
27937 context.
27938
27939 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
27940 leak.
27941
27942 2006-12-11 Marco Gerards <marco@gnu.org>
27943
27944 * normal/menu_entry.c (run): Fix off by one bug so the last line
27945 is executed. Move the loader check to outside the loop.
27946
27947 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
27948
27949 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
27950
27951 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
27952
27953 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
27954 the number of sectors. Reported by Andrey Shuvikov
27955 <mr_hyro@yahoo.com>.
27956
27957 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
27958
27959 * kern/disk.c (grub_disk_read): When there is a read error, always
27960 try to read only the necessary data.
27961
27962 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
27963 disk/raid.c.
27964 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
27965 prototype.
27966 [GRUB_UTIL] (grub_raid_fini): Likewise.
27967 [GRUB_UTIL] (grub_lvm_init): Likewise.
27968 [GRUB_UTIL] (grub_lvm_fini): Likewise.
27969 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
27970 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
27971 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
27972 and grub_raid_fini().
27973
27974 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
27975
27976 * include/grub/types.h (__unused): Rename to UNUSED.
27977 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
27978 (grub_elf64_size): Likewise.
27979
27980 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
27981
27982 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
27983 grub_error_push and grub_error_pop in the error-handling path.
27984 (grub_elf32_load_segment): Only call grub_file_read with non-zero
27985 length.
27986
27987 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
27988
27989 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
27990 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27992 (kernel_elf_SOURCES): Likewise.
27993 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
27994 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
27995 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27996 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27997 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
27998 (elf_mod_SOURCES): New variable.
27999 (elf_mod_CFLAGS): Likewise.
28000 (elf_mod_LDFLAGS): Likewise.
28001 * include/grub/types.h (__unused): New macro.
28002 * include/grub/elfload.h: New file.
28003 * kern/elf.c: Likewise.
28004 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
28005 (ELF32_LOADMASK): New macro.
28006 (ELF64_LOADMASK): Likewise.
28007 (vmlinux): Removed.
28008 (grub_linux_load32): New function.
28009 (grub_linux_load64): Likewise.
28010 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
28011 Use grub_elf_t instead of grub_file_t.
28012
28013 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
28014
28015 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
28016 `catch_result' to struct set_color_args.
28017
28018 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28019
28020 * normal/menu.c: Include grub/script.h.
28021 * normal/menu_entry.c: Likewise.
28022 * include/grub/normal.h: Do not include grub/script.h.
28023
28024 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28025
28026 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
28027
28028 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28029
28030 * kern/disk.c (grub_disk_open): Print debug messages when opening a
28031 disk.
28032 (grub_disk_close): Print debug messages when closing a disk.
28033 (grub_disk_read): Print debug messages when disk read fails.
28034 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
28035 filesystem type.
28036 * kern/partition.c: Include misc.h.
28037 (grub_partition_iterate): Print debug messages when detecting
28038 partition type.
28039
28040 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28041
28042 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
28043 is negative.
28044 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
28045
28046 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
28047
28048 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28049 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
28050
28051 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
28052
28053 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
28054 instead of sizeof(lv). Patch by Michael Guntsche.
28055
28056 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
28057
28058 * disk/lvm.c: Rename VGS to VG_LIST.
28059 (grub_lvm_iterate): Change VGS->LV to VG-LV.
28060 (grub_lvm_open): Likewise.
28061 Thanks to Michael Guntsche for finding this bug.
28062
28063 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28064
28065 * configure.ac (AC_INIT): Bumped to 1.95.
28066
28067 2006-10-14 Robert Millan <rmh@aybabtu.com>
28068
28069 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
28070 with "/dev/.static/dev/md".
28071
28072 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28073
28074 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
28075 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
28076 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
28077 DRIVE_NAME are always freed.
28078
28079 * util/i386/pc/biosdisk.c (make_device_name): Add one into
28080 DOS_PART, as a DOS partition is counted from one instead of zero
28081 now. Reported by Robert Millan.
28082
28083 2006-10-14 Robert Millan <rmh@aybabtu.com>
28084
28085 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
28086 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
28087 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
28088 string returned by grub_guess_root_device.
28089 * util/i386/pc/grub-setup.c: Likewise.
28090 * util/i386/pc/grub-probefs.c: Likewise.
28091
28092 * util/i386/pc/grub-probefs.c: Rename to ...
28093 * util/i386/pc/grub-probe.c: ... this.
28094 * DISTLIST: Remove grub-probefs, add grub-probe.
28095 * conf/i386-efi.rmk: Likewise.
28096 * conf/i386-pc.rmk: Likewise.
28097 * util/i386/pc/grub-install.in: Likewise.
28098
28099 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
28100 choose which information we want to print.
28101
28102 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28103
28104 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
28105 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
28106 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
28107 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
28108 video/readers/tga.c and video/i386/pc/vbeutil.c.
28109
28110 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
28111
28112 Added support for RAID and LVM.
28113
28114 * disk/lvm.c: New file.
28115 * disk/raid.c: Likewise.
28116 * include/grub/lvm.h: Likewise.
28117 * include/grub/raid.h: Likewise.
28118 * include/grub/util/lvm.h: Likewise.
28119 * include/grub/util/raid.h: Likewise.
28120 * util/lvm.c: Likewise.
28121 * util/raid.c: Likewise.
28122
28123 * include/grub/disk.h (grub_disk_dev_id): Add
28124 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
28125 (grub_disk_get_size): New prototype.
28126 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
28127 returns a partition.
28128 (grub_disk_get_size): New function.
28129
28130 * kern/i386/pc/init.c (make_install_device): Copy the prefix
28131 verbatim if grub_install_dos_part is -2.
28132
28133 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
28134 and LVM devices.
28135
28136 * util/i386/pc/grub-setup.c (setup): New argument
28137 MUST_EMBED. Force embedding of GRUB when the argument is
28138 true. Close FILE before returning.
28139 (main): Add support for RAID and LVM.
28140
28141 * conf/common.rmk: Add RAID and LVM modules.
28142 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
28143 util/lvm.c.
28144 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
28145
28146 * kern/misc.c (grub_strstr): New function.
28147 * include/grub/misc.h (grub_strstr): New prototype.
28148
28149 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
28150
28151 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
28152
28153 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
28154
28155 * kern/misc.c (grub_strtoull): Guess the base only if not
28156 specified.
28157
28158 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28159
28160 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
28161 PowerMac support.
28162
28163 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28164
28165 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
28166
28167 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
28168 Remove `flags' argument. All callers changed.
28169 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
28170 (IEEE1275_IHANDLE_INVALID): New variable.
28171 (IEEE1275_CELL_INVALID): New variable.
28172 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28173 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
28174 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
28175 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
28176 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
28177 codes from Open Firmware. All callers updated.
28178 (grub_ieee1275_next_property): Directly return Open Firmware return
28179 code.
28180 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28181 Standardize error checking from `grub_ieee1275_get_property'.
28182 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
28183 `devalias' to `aliases'. Correct comments. Consolidate error paths.
28184
28185 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28186
28187 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
28188 `instance_to_package_args' to `instance_to_path_args'.
28189
28190 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
28191 `grub_ieee1275_chosen'.
28192
28193 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
28194 `grub_ieee1275_interpret'.
28195
28196 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28197
28198 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
28199
28200 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28201
28202 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
28203 (__cmpdi): Likewise.
28204
28205 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
28206 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
28207 `grub_ssize_t'.
28208
28209 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
28210
28211 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
28212 to type `grub_ssize_t'.
28213 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
28214
28215 2006-09-22 Marco Gerards <marco@gnu.org>
28216
28217 * normal/script.c (grub_script_create_cmdmenu): Skip leading
28218 newlines.
28219
28220 2006-09-22 Marco Gerards <marco@gnu.org>
28221
28222 * commands/echo.c: New file.
28223
28224 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
28225
28226 * conf/common.rmk (echo_mod_SOURCES): New variable.
28227 (echo_mod_CFLAGS): Likewise.
28228 (echo_mod_LDFLAGS): Likewise.
28229
28230 2006-09-22 Marco Gerards <marco@gnu.org>
28231
28232 * normal/main.c (get_line): Malloc memory instead of using
28233 preallocated memory. Removed the arguments `cmdline' and
28234 `max_len'. Updated all callers.
28235
28236 2006-09-22 Marco Gerards <marco@gnu.org>
28237
28238 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
28239 (normal_mod_DEPENDENCIES): Likewise.
28240
28241 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
28242 (normal_mod_DEPENDENCIES): Likewise.
28243
28244 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
28245
28246 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
28247
28248 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
28249 programs.
28250 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
28251 (normal_mod_DEPENDENCIES): Likewise.
28252 * conf/i386-pc.mk: Regenerate.
28253 * conf/i386-efi.mk: Likewise
28254 * conf/common.mk: Likewise.
28255 * conf/powerpc-ieee1275.mk: Likewise.
28256 * conf/sparc64-ieee1275.mk: Likewise.
28257
28258 2006-09-22 Robert Millan <rmh@aybabtu.com>
28259
28260 Sync with i386 version.
28261 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
28262 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
28263
28264 2006-09-21 Robert Millan <rmh@aybabtu.com>
28265
28266 Import from GRUB Legacy (lib/device.c):
28267 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
28268 (init_device_map) [__linux__]: Add support for I2O devices.
28269
28270 2006-09-14 Marco Gerards <marco@gnu.org>
28271
28272 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
28273 `-melf_i386'.
28274
28275 2006-09-14 Robert Millan <rmh@aybabtu.com>
28276
28277 * util/i386/pc/grub-install.in: Skip menu.lst when removing
28278 /boot/grub/*.lst.
28279
28280 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
28281
28282 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
28283 before adding it to device.map.
28284
28285 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
28286
28287 * genmk.rb: Let GCC generate dependencies the first time it
28288 compiles a file; using the -MD option.
28289 * conf/common.mk: Regenerate.
28290 * conf/i386-pc.mk: Likewise.
28291 * conf/i386-efi.mk: Likewise.
28292 * conf/powerpc-ieee1275.mk: Likewise.
28293 * conf/sparc64-ieee1275.mk: Likewise.
28294
28295 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
28296
28297 Move the prototypes of grub_setjmp and grub_longjmp to
28298 cpu/setjmp.h, so that each architecture may specify different
28299 attributes.
28300
28301 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
28302 (grub_longjmp): Likewise.
28303 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
28304 (grub_longjmp): Likewise.
28305 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
28306 (grub_longjmp): Likewise.
28307
28308 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
28309 [!GRUB_UTIL] (grub_longjmp): Removed.
28310
28311 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
28312
28313 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
28314 "color!" method does not return any value.
28315
28316 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28317
28318 * include/grub/bitmap.h: New file.
28319
28320 * include/grub/i386/pc/vbeutil.h: Likewise.
28321
28322 * video/bitmap.c: Likewise.
28323
28324 * video/readers/tga.c: Likewise.
28325
28326 * video/i386/pc/vbeutil.c: Likewise.
28327
28328 * commands/videotest.c: Code cleanup and updated to reflect to new
28329 video API.
28330
28331 * term/gfxterm.c: Likewise.
28332
28333 * video/video.c: Likewise.
28334
28335 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
28336 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
28337 (bitmap_mod_SOURCES): New entry.
28338 (bitmap_mod_CFLAGS): Likewise.
28339 (bitmap_mod_LDFLAGS): Likewise.
28340 (tga_mod_SOURCES): Likewise.
28341 (tga_mod_CFLAGS): Likewise.
28342 (tga_mod_LDFLAGS): Likewise.
28343
28344 * include/grub/video.h (grub_video_blit_operators): New enum type.
28345 (grub_video_render_target): Changed as forward declaration and moved
28346 actual definition to be video driver specific.
28347 (grub_video_adapter.blit_bitmap): Added blitting operator.
28348 (grub_video_adapter.blit_render_target): Likewise.
28349 (grub_video_blit_bitmap): Likewise.
28350 (grub_video_blit_render_target): Likewise.
28351
28352 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
28353 driver specific render target definition.
28354 (grub_video_vbe_map_rgba): Added driver internal helper.
28355 (grub_video_vbe_unmap_color): Updated to use
28356 grub_video_i386_vbeblit_info.
28357 (grub_video_vbe_get_video_ptr): Likewise.
28358
28359 * include/grub/i386/pc/vbeblit.h
28360 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
28361 grub_video_i386_vbeblit_info.
28362 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28363 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28364 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28365 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28366 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28367 (grub_video_i386_vbeblit_index_index): Likewise.
28368 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
28369 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28370 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28371 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
28372 operator.
28373 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
28374 operator.
28375
28376 * video/i386/pc/vbeblit.c: Updated to reflect changes on
28377 include/grub/i386/pc/vbeblit.h.
28378
28379 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
28380 Updated to use grub_video_i386_vbeblit_info.
28381 (grub_video_i386_vbefill_R8G8B8): Likewise.
28382 (grub_video_i386_vbefill_index): Likewise.
28383 (grub_video_i386_vbefill): Added generic filler.
28384
28385 * video/i386/pc/vbefill.c: Updated to reflect changes on
28386 include/grub/i386/pc/vbefill.h.
28387
28388 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
28389 grub_video_i386_vbeblit_info.
28390 (grub_video_vbe_unmap_color): Likewise.
28391 (grub_video_vbe_blit_glyph): Likewise.
28392 (grub_video_vbe_scroll): Likewise.
28393 (grub_video_vbe_draw_pixel): Removed function.
28394 (grub_video_vbe_get_pixel): Likewise.
28395 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
28396 updated code to use it.
28397 (common_blitter): Added common blitter for render target and bitmap.
28398 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
28399 (grub_video_vbe_blit_render_target): Likewise.
28400
28401 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
28402
28403 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
28404 is in text mode if there is no console control protocol instance
28405 available.
28406
28407 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28408
28409 * include/grub/video.h: Code cleanup.
28410
28411 * include/grub/i386/pc/vbe.h: Likewise.
28412
28413 * video/i386/pc/vbe.c: Likewise.
28414
28415 * video/i386/pc/vbeblit.c: Likewise.
28416
28417 * video/i386/pc/vbefill.c: Likewise.
28418
28419 * video/video.c: Likewise. Also added more comments.
28420
28421 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28422
28423 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
28424 (struct grub_biosdisk_dap): Likewise.
28425
28426 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
28427 linkage settings for all functions.
28428
28429 2006-07-12 Marco Gerards <marco@gnu.org>
28430
28431 * configure.ac (--enable-mm-debug): Fix typo.
28432
28433 * genkernsyms.sh.in: Use proper quoting for `CC'.
28434
28435 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
28436
28437 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
28438 (normal_mod_ASFLAGS): Remove "-m32".
28439
28440 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
28441
28442 * util/misc.c: Include config.h.
28443 [!HAVE_MEMALIGN]: Do not include malloc.h.
28444 (grub_memalign): Use posix_memalign, if present. Then, use
28445 memalign, if present. Otherwise, emit an error.
28446
28447 * util/grub-emu.c: Do not include malloc.h.
28448
28449 * include/grub/util/misc.h: Include unistd.h. This is required for
28450 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
28451 D. Eades III <hde@foobar-qux.org>.
28452
28453 * configure.ac (AC_GNU_SOURCE): Added.
28454 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
28455 type.
28456
28457 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
28458
28459 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
28460 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
28461
28462 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
28463
28464 * include/grub/types.h (grub_host_addr_t): Rename to
28465 grub_target_addr_t.
28466 (grub_host_off_t): Rename to grub_target_off_t.
28467 (grub_host_size_t): Rename to grub_target_size_t.
28468 (grub_host_ssize_t): Rename to grub_target_ssize_t.
28469 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
28470
28471 * include/grub/kernel.h (struct grub_module_header): Change type
28472 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
28473 (grub_module_info): Likewise.
28474
28475 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28476
28477 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
28478 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
28479 Velazquez <jesus.velazquez@gmail.com>.
28480
28481 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28482
28483 Count partitions from 1 instead of 0 in the string representation
28484 of partitions. Still use 0-based internally.
28485
28486 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
28487 (sun_partition_map_iterate): Use grub_partition_t instead of
28488 struct grub_partition *. Cast DESC->START_CYLINDER to
28489 grub_uint64_t after converting the endian.
28490 (sun_partition_map_probe): Subtract 1 for PARTNUM.
28491 (sun_partition_map_get_name): Add 1 to P->INDEX.
28492
28493 * partmap/pc.c (grub_partition_parse): Subtract 1 for
28494 PCDATA->DOS_PART.
28495 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
28496
28497 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
28498 zero instead of one.
28499 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
28500 (gpt_partition_map_get_name): Add 1 into P->INDEX.
28501
28502 * partmap/apple.c (apple_partition_map_iterate): Change the type
28503 of POS to unsigned.
28504 (apple_partition_map_probe): Subtract 1 for PARTNUM.
28505 (apple_partition_map_get_name): Add 1 into P->INDEX.
28506
28507 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
28508 of POS to unsigned.
28509 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
28510 calculate the offset of a partition.
28511 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
28512 (amiga_partition_map_get_name): Add 1 into P->INDEX.
28513
28514 * partmap/acorn.c (acorn_partition_map_find): Change the type of
28515 SECTOR to grub_disk_addr_t.
28516 (acorn_partition_map_iterate): Likewise.
28517 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
28518 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
28519 top.
28520 (acorn_partition_map_get_name): Add 1 into P->INDEX.
28521
28522 * kern/i386/pc/init.c (make_install_device): Add 1 into
28523 GRUB_INSTALL_DOS_PART.
28524
28525 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
28526 conditional.
28527
28528 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28529
28530 Clean up the code to support 64-bit addressing in disks and
28531 files. This change is not enough for filesystems yet.
28532
28533 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
28534 type of "start" to grub_uint64_t.
28535 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
28536 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
28537 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
28538 convert addresses.
28539
28540 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
28541 to grub_disk_addr_t.
28542
28543 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
28544 string.
28545
28546 * partmap/pc.c (pc_partition_map_iterate): Likewise.
28547
28548 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
28549 to char *.
28550
28551 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
28552
28553 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
28554
28555 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
28556
28557 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
28558 to grub_off_t, to detect an error from grub_file_seek.
28559 (grub_multiboot_load_elf32): Likewise.
28560
28561 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
28562 maximum unsigned long value when an overflow is detected.
28563 (grub_strtoull): New function.
28564 (grub_divmod64): Likewise.
28565 (grub_lltoa): use grub_divmod64.
28566
28567 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
28568 grub_disk_addr_t.
28569 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
28570 the pointer to next character. Use grub_strtoull instead of
28571 grub_strtoul.
28572 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
28573 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
28574 respectively.
28575
28576 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
28577 return value is signed.
28578 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
28579 test if OFFSET is less than zero, as OFFSET is unsigned now.
28580
28581 * kern/disk.c (struct grub_disk_cache): Change the type of
28582 "sector" to grub_disk_addr_t.
28583 (grub_disk_cache_get_index): Change the type of SECTOR to
28584 grub_disk_addr_t. Calculate the hash with SECTOR casted to
28585 unsigned after shifting.
28586 (grub_disk_cache_invalidate): Change the type of SECTOR to
28587 grub_disk_addr_t.
28588 (grub_disk_cache_unlock): Likewise.
28589 (grub_disk_cache_store): Likewise.
28590 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
28591 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
28592 grub_disk_addr_t and grub_uint64_t, respectively.
28593 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
28594 body, as the value of OFFSET is tweaked by
28595 grub_disk_check_range. Change the types of START_SECTOR, LEN and
28596 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
28597 respectively.
28598 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
28599 body, as the value of OFFSET is tweaked by
28600 grub_disk_check_range. Change the types of LEN and N to
28601 grub_size_t.
28602
28603 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
28604 and "saved_offset" to grub_off_t.
28605 (test_header): Cast BUF to char *.
28606 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
28607 to char *.
28608 (grub_gzio_read): Change the types of OFFSET and SIZE to
28609 grub_off_t and grub_size_t, respectively.
28610
28611 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
28612 Removed.
28613 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
28614 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
28615 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
28616 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
28617 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
28618
28619 * include/grub/types.h (grub_off_t): Unconditionally set to
28620 grub_uint64_t.
28621 (grub_disk_addr_t): Changed to grub_uint64_t.
28622
28623 * include/grub/partition.h (struct grub_partition): Change the
28624 types of "start", "len" and "offset" to grub_disk_addr_t,
28625 grub_uint64_t and grub_disk_addr_t, respectively.
28626 (grub_partition_get_start): Return grub_disk_addr_t.
28627 (grub_partition_get_len): Return grub_uint64_t.
28628
28629 * include/grub/misc.h (grub_strtoull): New prototype.
28630 (grub_divmod64): Likewise.
28631
28632 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
28633 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
28634 grub_off_t, respectively.
28635 All callers and references changed.
28636
28637 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
28638 grub_size_t in "read".
28639 All callers and references changed.
28640
28641 * include/grub/file.h (struct grub_file): Change the types of
28642 "offset" and "size" to grub_off_t and grub_off_t,
28643 respectively. Change the type of SECTOR to grub_disk_addr_t in
28644 "read_hook".
28645 (grub_file_read): Change the type of LEN to grub_size_t.
28646 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
28647 grub_off_t.
28648 (grub_file_size): Return grub_off_t.
28649 (grub_file_tell): Likewise.
28650 All callers and references changed.
28651
28652 * include/grub/disk.h (struct grub_disk_dev): Change the types of
28653 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
28654 "write".
28655 (struct grub_disk): Change the type of "total_sectors" to
28656 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
28657 "read_hook".
28658 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
28659 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
28660 (grub_disk_write): Likewise.
28661 All callers and references changed.
28662
28663 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
28664 char * for grub_strncmp to silence gcc.
28665 (grub_iso9660_mount): Likewise.
28666 (grub_iso9660_mount): Likewise.
28667 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
28668 return statement.
28669 (grub_iso9660_iterate_dir): Likewise.
28670 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
28671
28672 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
28673 LEN to grub_disk_addr_t and grub_size_t, respectively.
28674
28675 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
28676
28677 * fs/jfs.c (grub_jfs_read_file): Likewise.
28678
28679 * fs/minix.c (grub_jfs_read_file): Likewise.
28680
28681 * fs/sfs.c (grub_jfs_read_file): Likewise.
28682
28683 * fs/ufs.c (grub_jfs_read_file): Likewise.
28684
28685 * fs/xfs.c (grub_jfs_read_file): Likewise.
28686
28687 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
28688 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
28689 respectively.
28690
28691 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
28692 BLKNR to -1 instead of returning GRUB_ERRNO.
28693 (grub_ext2_read_file): Change the types of SECTOR and
28694 LEN to grub_disk_addr_t and grub_size_t, respectively.
28695
28696 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
28697 LEN to grub_disk_addr_t and grub_size_t, respectively.
28698
28699 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
28700 grub_file_read.
28701
28702 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
28703 string. Do not cast SECTOR explicitly.
28704
28705 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
28706 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
28707 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
28708 grub_disk_addr_t and grub_size_t, respectively. If the sector is
28709 over 2TB and LBA mode is not supported, raise an error.
28710 (get_safe_sectors): New function.
28711 (grub_biosdisk_read): Use get_safe_sectors.
28712 (grub_biosdisk_write): Likewise.
28713
28714 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
28715 (grub_efidisk_write): Likewise.
28716
28717 * disk/loopback.c (delete_loopback): Cosmetic changes.
28718 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
28719 correctly.
28720 (grub_loopback_open): Likewise.
28721 (grub_loopback_read): Likewise. Also, change the type of POS to
28722 grub_off_t, and fix the usage of grub_memset.
28723
28724 * commands/i386/pc/play.c: Include grub/machine/time.h.
28725
28726 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
28727 print FILE->SIZE.
28728
28729 * commands/configfile.c: Include grub/env.h.
28730
28731 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
28732 GRUB_ERRNO directly instead. Change the type of POS to
28733 grub_off_t. Follow the coding standard.
28734
28735 * commands/blocklist.c: Include grub/partition.h.
28736 (grub_cmd_blocklist): Return an error if the underlying device is
28737 not a disk. Take the starting sector of a partition into account,
28738 if a partition is used.
28739
28740 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
28741 a length field.
28742 (lba_mode): Support 64-bit addresses.
28743 (chs_mode): Likewise.
28744 (copy_buffer): Adapted to the new offsets of a length field and a
28745 segment field.
28746 (blocklist_default_start): Allocate 64-bit space.
28747
28748 * boot/i386/pc/boot.S (force_lba): Removed.
28749 (boot_drive): Moved to under KERNEL_SECTOR.
28750 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
28751 space.
28752 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
28753 is useless.
28754 (lba_mode): Refactored to support a 64-bit address. More size
28755 optimization.
28756 (setup_sectors): Likewise.
28757
28758 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28759
28760 * DISTLIST: Added include/grub/i386/linux.h. Removed
28761 include/grub/i386/pc/linux.h
28762
28763 * configure.ac (AC_INIT): Bumped to 1.94.
28764
28765 * config.guess: Updated from gnulib.
28766 * config.sub: Likewise.
28767 * install-sh: Likewise.
28768 * mkinstalldirs: Likewise.
28769
28770 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
28771
28772 * conf/common.rmk (grub_modules_init.lst): Depended on
28773 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
28774 MODSRCFILES.
28775
28776 * genmk.rb (PModule::rule): Reverted the previous change.
28777
28778 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
28779
28780 * conf/common.rmk (grub_modules_init.lst): Depends on
28781 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
28782 that the target does not exist before producing.
28783 (grub_modules_init.h): Remove the target before generating.
28784 (grub_emu_init.c): Likewise.
28785
28786 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
28787
28788 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
28789
28790 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
28791 for the target-specific tests. Make sure that we also have the
28792 up-to-date target variables for those tests.
28793
28794 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
28795
28796 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
28797 (PModule::rule): Likewise.
28798
28799 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
28800
28801 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
28802 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
28803 target-specific flags should be prefixed.
28804 (PModule::rule): Likewise.
28805
28806 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
28807
28808 * configure.ac (CMP): Check if cmp is available explicitly.
28809
28810 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
28811
28812 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
28813 (target_cpu): New variable.
28814 (pkglibdir): Use target_cpu instead of host_cpu.
28815
28816 * util/i386/pc/grub-install.in (host_cpu): Removed.
28817 (target_cpu): New variable.
28818 (pkglibdir): Use target_cpu instead of host_cpu.
28819
28820 * util/genmoddep.c: Removed.
28821
28822 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
28823 instead of GRUB_HOST_SIZEOF_VOID_P.
28824 * kern/dl.c: Likewise.
28825
28826 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
28827 ...
28828 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28829 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28830 (GRUB_TARGET_SIZEOF_LONG): ... this.
28831 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28832 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28833 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
28834 to ...
28835 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28836 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28837 (GRUB_TARGET_SIZEOF_LONG): ... this.
28838 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28839 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28840 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
28841 to ...
28842 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28843 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28844 (GRUB_TARGET_SIZEOF_LONG): ... this.
28845 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28846 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28847
28848 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
28849 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
28850 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
28851 instead of GRUB_HOST_SIZEOF_LONG.
28852 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
28853 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
28854 GRUB_CPU_WORDS_BIGENDIAN.
28855 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
28856 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
28857 grub_host_ssize_t.
28858
28859 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
28860 (genmoddep_SOURCES): Likewise.
28861 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
28862 (genmoddep_SOURCES): Likewise.
28863 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
28864 (genmoddep_SOURCES): Likewise.
28865 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
28866 Likewise.
28867 (genmoddep_SOURCES): Likewise.
28868
28869 * genmoddep.awk: New file.
28870
28871 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
28872 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
28873 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
28874 (PModule::rule): Likewise.
28875 (Program::rule): Likewise.
28876 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
28877 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
28878 respectively.
28879
28880 * configure.ac: Rewritten intensively to use host and target
28881 instead of build and host, respectively.
28882
28883 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
28884 (host_cpu): Removed.
28885 (target_cpu): New variable.
28886 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
28887 (BUILD_CC): Removed.
28888 (BUILD_CFLAGS): Likewise.
28889 (BUILD_CPPFLAGS): Likewise.
28890 (TARGET_CC): New variable.
28891 (TARGET_CFLAGS): Likewise.
28892 (TARGET_CPPFLAGS): Likewise.
28893 (TARGET_LDFLAGS): Likewise.
28894 (AWK): Likewise.
28895 (include): Use target_cpu instead of host_cpu.
28896 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
28897
28898 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
28899
28900 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
28901
28902 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
28903 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
28904 field 'false' to 'exec_on_false'.
28905 (grub_script_create_cmdif): Renamed argument names to reflect above
28906 changes.
28907
28908 * normal/execute.c (grub_script_execute_cmdif): Likewise.
28909
28910 * normal/script.c (grub_script_create_cmdif): Likewise.
28911
28912 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
28913
28914 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
28915 top.
28916 (grub_hfsplus_btree_recptr): Likewise.
28917 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
28918 FILEBLOCK both to pass a block number and store next block
28919 number.
28920 (grub_hfsplus_read_block): Rewritten heavily to support an extent
28921 overflow file correctly. Specify errors appropriately, because
28922 fshelp expects that GRUB_ERRNO is set when fails. Reuse
28923 grub_hfsplus_btree_recptr to get the pointer to a found key.
28924 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
28925 is found.
28926
28927 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
28928 linux.mod.
28929 (_linux_mod_SOURCES): New variable.
28930 (_linux_mod_CFLAGS): Likewise.
28931 (_linux_mod_LDFLAGS): Likewise.
28932 (linux_mod_SOURCES): Likewise.
28933 (linux_mod_CFLAGS): Likewise.
28934 (linux_mod_LDFLAGS): Likewise.
28935
28936 * DISTLIST: Added loader/i386/efi/linux.c,
28937 loader/i386/efi/linux_normal.c and
28938 include/grub/i386/efi/loader.h.
28939
28940 * loader/i386/efi/linux.c: New file.
28941 * loader/i386/efi/linux_normal.c: Likewise.
28942 * include/grub/i386/efi/loader.h: Likewise.
28943
28944 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
28945
28946 * commands/blocklist.c: New file.
28947
28948 * DISTLIST: Added commands/blocklist.c.
28949
28950 * term/efi/console.c (grub_console_highlight_color): Use a lighter
28951 color for the background, and a darker color for the foreground.
28952 (grub_console_checkkey): Return READ_KEY.
28953 (grub_console_cls): Set the background to
28954 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
28955
28956 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
28957
28958 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
28959 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
28960
28961 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
28962 prototype.
28963
28964 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
28965 BG. The spec is wrong again.
28966
28967 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
28968 prototype.
28969 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
28970
28971 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
28972 commands/blocklist.c.
28973 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28974
28975 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
28976 (blocklist_mod_SOURCES): New variable.
28977 (blocklist_mod_CFLAGS): Likewise.
28978 (blocklist_mod_LDFLAGS): Likewise.
28979
28980 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
28981
28982 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
28983 duplication.
28984 (lba_mode): Use %eax more intensively to reduce the code size.
28985
28986 2006-05-20 Marco Gerards <marco@gnu.org>
28987
28988 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
28989
28990 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
28991 for `menuentry'.
28992 (script): Accept leading newlines.
28993 (newlines): New rule to describe 0 or more newlines.
28994 (commands): Accept `command' with trailing newline. Fixed the
28995 order in which arguments were passed to `grub_script_add_cmd'.
28996 Accept commands separated by newlines.
28997 (function): Changed to accept newlines.
28998 (menuentry) Rewritten.
28999
29000 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
29001 front of the list, instead of to the end.
29002
29003 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
29004
29005 * util/i386/pc/grub-install.in (bindir): New variable.
29006 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
29007 Shaver <lbgwjl@gmail.com>.
29008
29009 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
29010
29011 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
29012 grub/machine/linux.h
29013 * loader/i386/pc/linux.c: Likewise.
29014
29015 * include/grub/i386/pc/linux.h: Moved to ...
29016 * include/grub/i386/linux.h: ... here.
29017
29018 * include/grub/i386/linux.h (struct linux_kernel_params): New
29019 struct.
29020
29021 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
29022
29023 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
29024 checking.
29025 (grub_video_vbe_blit_glyph): Likewise.
29026 (grub_video_vbe_blit_bitmap): Likewise.
29027 (grub_video_vbe_blit_render_target): Likewise.
29028
29029 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
29030
29031 * configure.ac (--with-platform): Properly quote the square
29032 brackets.
29033
29034 2006-05-08 Marco Gerards <marco@gnu.org>
29035
29036 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
29037 this...
29038 (kernel_elf_HEADERS): ...to this. Updated all users.
29039 (grubof_symlist.c): Renamed from this...
29040 (kernel_elf_symlist.c): ...to this. Updated all users.
29041 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29042 (grubof_SOURCES): Renamed from this...
29043 (kernel_elf_SOURCES): ...to this.
29044 (grubof_HEADERS): Renamed from this...
29045 (kernel_elf_HEADERS): ...to this.
29046 (grubof_CFLAGS): Renamed from this...
29047 (kernel_elf_CFLAGS): ...to this.
29048 (grubof_ASFLAGS): Renamed from this...
29049 (kernel_elf_ASFLAGS): ...to this.
29050 (grubof_LDFLAGS): Renamed from this...
29051 (kernel_elf_LDFLAGS): ...to this.
29052
29053 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
29054 this...
29055 (kernel_elf_HEADERS): ...to this. Updated all users.
29056 (grubof_symlist.c): Renamed from this...
29057 (kernel_elf_symlist.c): ...to this. Updated all users.
29058 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29059 (grubof_SOURCES): Renamed from this...
29060 (kernel_elf_SOURCES): ...to this.
29061 (grubof_HEADERS): Renamed from this...
29062 (kernel_elf_HEADERS): ...to this.
29063 (grubof_CFLAGS): Renamed from this...
29064 (kernel_elf_CFLAGS): ...to this.
29065 (grubof_ASFLAGS): Renamed from this...
29066 (kernel_elf_ASFLAGS): ...to this.
29067 (grubof_LDFLAGS): Renamed from this...
29068 (kernel_elf_LDFLAGS): ...to this.
29069
29070 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
29071 `kernel.elf' instead of `grubof'.
29072
29073 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
29074
29075 Add --with-platform to configure. Use pkglibdir instead of
29076 pkgdatadir. This is reported by Roger Leigh.
29077
29078 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
29079 (host_vendor): Likewise.
29080 (host_os): Likewise.
29081 (pkgdatadir): Likewise.
29082 (platform): New variable.
29083 (pkglibdir): Likewise.
29084 Use PKGLIBDIR instead of PKGDATADIR.
29085
29086 * util/i386/pc/grub-install.in (datadir): Removed.
29087 (host_vendor): Likewise.
29088 (host_os): Likewise.
29089 (pkgdatadir): Likewise.
29090 (platform): New variable.
29091 (pkglibdir): Likewise.
29092 Use PKGLIBDIR instead of PKGDATADIR.
29093
29094 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
29095 instead of GRUB_DATADIR.
29096 (main): Likewise.
29097 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29098 (main): Likewise.
29099 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29100 (main): Likewise.
29101
29102 * configure.ac (--with-platform): New option.
29103 Use PLATFORM instead of HOST_VENDOR to specify a platform.
29104
29105 * Makefile.in: Include a makefile based on PLATFORM instead of
29106 HOST_VENDOR.
29107 (pkgdatadir): Not appended by the machine type.
29108 (pkglibdir): Appended by the machine type.
29109 (host_vendor): Removed.
29110 (platform): New variable.
29111 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
29112 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
29113 (uninstall): Likewise.
29114
29115 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
29116
29117 Use the environment context in the menu. Remove the commands
29118 "default" and "timeout", and use variables instead.
29119
29120 * normal/menu.c: Include grub/env.h.
29121 (print_entry): Cast TITLE to silence gcc.
29122 (get_timeout): New function.
29123 (set_timeout): Likewise.
29124 (get_entry_number): Likewise.
29125 (run_menu): Use a default entry, a fallback entry and a timeout
29126 in the environment variables "default", "fallback" and
29127 "timeout". Also, tweak the default entry if it is not within the
29128 current menu entries.
29129 (grub_menu_run): Use a fallback entry in the environment variable
29130 "fallback".
29131
29132 * normal/main.c (read_config_file): Do not initialize
29133 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
29134 NEWMENU->TIMEOUT.
29135 (grub_normal_execute): Use a data slot to store the menu.
29136
29137 * include/grub/normal.h (struct grub_menu): Removed default_entry,
29138 fallback_entry and timeout.
29139 (struct grub_menu_list): Removed.
29140 (grub_menu_list_t): Likewise.
29141 (struct grub_context): Likewise.
29142 (grub_context_t): Likewise.
29143 (grub_context_get): Likewise.
29144 (grub_context_get_current_menu): Likewise.
29145 (grub_context_push_menu): Likewise.
29146 (grub_context_pop_menu): Likewise.
29147 (grub_default_init): Likewise.
29148 (grub_default_fini): Likewise.
29149 (grub_timeout_init): Likewise.
29150 (grub_timeout_fini): Likewise.
29151
29152 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
29153 and timeout.mod.
29154 (normal_mod_SOURCES): Removed normal/context.c.
29155
29156 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
29157 commands/default.c, commands/timeout.c and normal/context.c.
29158 (normal_mod_SOURCES): Removed normal/context.c.
29159
29160 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
29161 commands/timeout.c and normal/context.c.
29162 (normal_mod_SOURCES): Removed normal/context.c.
29163
29164 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
29165 commands/default.c, commands/timeout.c and normal/context.c.
29166 (normal_mod_SOURCES): Removed normal/context.c.
29167
29168 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
29169 timeout.mod.
29170 (default_mod_SOURCES): Removed.
29171 (default_mod_CFLAGS): Likewise.
29172 (default_mod_LDFLAGS): Likewise.
29173 (timeout_mod_SOURCES): Removed.
29174 (timeout_mod_CFLAGS): Likewise.
29175 (timeout_mod_LDFLAGS): Likewise.
29176
29177 * DISTLIST: Removed commands/default.c, commands/timeout.c and
29178 normal/context.c.
29179
29180 * commands/default.c: Removed.
29181 * commands/timeout.c: Likewise.
29182 * normal/context.c: Likewise.
29183
29184 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
29185
29186 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
29187
29188 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
29189
29190 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
29191 "next" to "prev" for readability.
29192 (struct grub_env_sorted_var): New struct.
29193 (grub_env_context): Renamed to ...
29194 (initial_context): ... this.
29195 (grub_env_var_context): Renamed to ...
29196 (current_context): ... this.
29197 (grub_env_find): Look only at CURRENT_CONTEXT.
29198 (grub_env_context_open): Rewritten to copy exported variables from
29199 previous context.
29200 (grub_env_context_close): Rewritten according to the new
29201 scheme. Also, add an assertion to prevent the initial context from
29202 removed.
29203 (grub_env_insert): Removed the code for the sorted list.
29204 (grub_env_remove): Likewise.
29205 (grub_env_export): Simply mark the variable with
29206 GRUB_ENV_VAR_GLOBAL.
29207 (grub_env_set): A cosmetic change for naming consistency.
29208 (grub_env_get): Likewise.
29209 (grub_env_unset): Likewise.
29210 (grub_env_iterate): Rewritten to sort variables within this
29211 function.
29212 (grub_register_variable_hook): Fixed for naming consistency. Call
29213 grub_env_find again, only if NAME is not found at the first time.
29214 (mangle_data_slot_name): New function.
29215 (grub_env_set_data_slot): Likewise.
29216 (grub_env_get_data_slot): Likewise.
29217 (grub_env_unset_data_slot): Likewise.
29218
29219 * include/grub/env.h (grub_env_var_type): New enum.
29220 (GRUB_ENV_VAR_LOCAL): New constant.
29221 (GRUB_ENV_VAR_GLOBAL): Likewise.
29222 (GRUB_ENV_VAR_DATA): Likewise.
29223 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
29224 "type".
29225 (grub_env_set): Replace VAR with NAME for consistency.
29226 (grub_register_variable_hook): Likewise.
29227 (grub_env_export): Specify the name of the argument.
29228 (grub_env_set_data_slot): New prototype.
29229 (grub_env_get_data_slot): Likewise.
29230 (grub_env_unset_data_slot): Likewise.
29231
29232 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29233
29234 Extend the loader so that GRUB can accept a loader which comes
29235 back to GRUB when a loaded image exits. Also, this change adds
29236 support for a chainloader on EFI.
29237
29238 * term/efi/console.c: Include grub/misc.h.
29239 (grub_console_checkkey): Display a scan code on the top for
29240 debugging. This will be removed once the EFI port gets stable.
29241 Correct the scan code mapping.
29242
29243 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
29244 allocate memory from larger regions, in order to reduce the number
29245 of allocated regions. Otherwise, the MacOSX loader panics.
29246 (filter_memory_map): Avoid less than 1MB for compatibility with
29247 other loaders.
29248 (add_memory_regions): Allocate from the tail of a region, if
29249 possible, to avoid allocating a region near to 1MB, for the MacOSX
29250 loader.
29251
29252 * kern/efi/init.c (grub_efi_set_prefix): Specify
29253 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
29254
29255 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
29256 argument IMAGE_HANDLE and specify it to get a loaded image.
29257 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
29258 grub_efi_get_loaded_image.
29259 (grub_efi_get_filename): Divide the length by the size of
29260 grub_efi_char16_t.
29261 (grub_efi_get_device_path): New function.
29262 (grub_efi_print_device_path): Print End Device Path nodes. Divide
29263 the length by the size of grub_efi_char16_t for a file path device
29264 path node.
29265
29266 * kern/loader.c (grub_loader_noreturn): New variable.
29267 (grub_loader_set): Accept a new argument NORETURN. Set
29268 GRUB_LOADER_NORETURN to NORETURN.
29269 All callers changed.
29270 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
29271 grub_machine_fini.
29272
29273 * include/grub/efi/efi.h (grub_efi_get_device_path): New
29274 prototype.
29275 (grub_efi_get_loaded_image): Take an argument to specify an image
29276 handle.
29277
29278 * include/grub/loader.h (grub_loader_set): Added one more argument
29279 NORETURN.
29280
29281 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
29282 instead of grub_efi_open_protocol.
29283 (grub_efidisk_get_device_name): Likewise.
29284 (grub_efidisk_close): Print a newline.
29285 (grub_efidisk_get_device_handle): Fixed to use
29286 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
29287 GRUB_EFI_DEVICE_PATH_TYPE.
29288
29289 * disk/efi/efidisk.c (device_path_guid): Moved to ...
29290 * kern/efi/efi.c (device_path_guid): ... here.
29291
29292 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
29293 chain.mod.
29294 (kernel_mod_HEADERS): Added efi/disk.h.
29295 (_chain_mod_SOURCES): New variable.
29296 (_chain_mod_CFLAGS): Likewise.
29297 (_chain_mod_LDFLAGS): Likewise.
29298 (chain_mod_SOURCES): Likewise.
29299 (chain_mod_CFLAGS): Likewise.
29300 (chain_mod_LDFLAGS): Likewise.
29301
29302 * DISTLIST: Added include/grub/efi/chainloader.h,
29303 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
29304
29305 * include/grub/efi/chainloader.h: New file.
29306 * loader/efi/chainloader.c: Likewise.
29307 * loader/efi/chainloader_normal.c: Likewise.
29308
29309 2006-04-30 Marco Gerards <marco@gnu.org>
29310
29311 * commands/configfile.c (grub_cmd_source): New function.
29312 (GRUB_MOD_INIT): Register the commands `source' and `.'.
29313 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
29314
29315 2006-04-30 Marco Gerards <marco@gnu.org>
29316
29317 * normal/execute.c (grub_script_execute_cmd): Change the return
29318 type to `grub_err_t'. Correctly return the error.
29319 (grub_script_execute_cmdline): In case a command line is not a
29320 command or a function, try to interpret it as an assignment.
29321
29322 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29323
29324 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
29325 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
29326 skip a node whose name is obviously invalid as UTF-16,
29327 i.e. contains a NUL character. Stop the iteration when the last
29328 directory entry is found. Instead of using the return value of
29329 grub_hfsplus_btree_iterate_node, store the value in RET and use
29330 it, because the iterator can be stopped by the last directory
29331 entry.
29332
29333 2006-04-30 Marco Gerards <marco@gnu.org>
29334
29335 * include/grub/env.h (grub_env_export): New prototype. Reported
29336 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
29337
29338 2006-04-30 Marco Gerards <marco@gnu.org>
29339
29340 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
29341 size of the extents in a catalog file record.
29342
29343 2006-04-29 Marco Gerards <marco@gnu.org>
29344
29345 * commands/configfile.c (grub_cmd_configfile): Execute the
29346 configfile within its own context.
29347
29348 * include/grub/env.h (grub_env_context_open): New prototype.
29349 (grub_env_context_close): Likewise.
29350
29351 * kern/env.c (grub_env): Removed.
29352 (grub_env_sorted): Likewise.
29353 (grub_env_context): New variable.
29354 (grub_env_var_context): Likewise.
29355 (grub_env_find): Search both the active context and the global
29356 context.
29357 (grub_env_context_open): New function.
29358 (grub_env_context_close): Likewise.
29359 (grub_env_insert): Likewise.
29360 (grub_env_remove): Likewise.
29361 (grub_env_export): Likewise.
29362 (grub_env_set): Changed to use helper functions to avoid code
29363 duplication.
29364 (grub_env_iterate): Rewritten so both the current context and the
29365 global context are being used.
29366
29367 * normal/command.c (export_command): New function.
29368 (grub_command_init): Register the `export' function.
29369
29370 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
29371
29372 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
29373 explicitly to suppress gcc's warnings.
29374 * fs/fat.c (grub_fat_find_dir): Likewise.
29375 (grub_fat_label): Likewise.
29376 * fs/xfs.c (grub_xfs_read_inode): Likewise.
29377 (grub_xfs_mount): Likewise.
29378 (grub_xfs_label): Likewise.
29379 * fs/affs.c (grub_affs_mount): Likewise.
29380 (grub_affs_label): Likewise.
29381 (grub_affs_iterate_dir): Likewise.
29382 * fs/sfs.c (grub_sfs_mount): Likewise.
29383 (grub_sfs_iterate_dir): Likewise.
29384 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
29385 * fs/hfs.c (grub_hfs_mount): Likewise.
29386 (grub_hfs_cmp_catkeys): Likewise.
29387 (grub_hfs_find_dir): Likewise.
29388 (grub_hfs_dir): Likewise.
29389 (grub_hfs_label): Likewise.
29390 * fs/jfs.c (grub_jfs_mount): Likewise.
29391 (grub_jfs_opendir): Likewise.
29392 (grub_jfs_getent): Likewise.
29393 (grub_jfs_lookup_symlink): Likewise.
29394 (grub_jfs_label): Likewise.
29395 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
29396 (grub_hfsplus_iterate_dir): Likewise.
29397 (grub_hfsplus_btree_iterate_node): Made static.
29398
29399 * util/grub-emu.c (prefix): New variable.
29400 (grub_machine_set_prefix): New function.
29401 (main): Do not set the environment variable "prefix" here. Only
29402 set PREFIX, which is used later by grub_machine_set_prefix.
29403
29404 * include/grub/video.h: Do not include grub/symbol.h.
29405 (grub_video_register): Not exported. This symbol is not defined in
29406 the kernel.
29407 (grub_video_unregister): Likewise.
29408 (grub_video_iterate): Likewise.
29409 (grub_video_setup): Likewise.
29410 (grub_video_restore): Likewise.
29411 (grub_video_get_info): Likewise.
29412 (grub_video_get_blit_format): Likewise.
29413 (grub_video_set_palette): Likewise.
29414 (grub_video_get_palette): Likewise.
29415 (grub_video_set_viewport): Likewise.
29416 (grub_video_get_viewport): Likewise.
29417 (grub_video_map_color): Likewise.
29418 (grub_video_map_rgb): Likewise.
29419 (grub_video_map_rgba): Likewise.
29420 (grub_video_fill_rect): Likewise.
29421 (grub_video_blit_glyph): Likewise.
29422 (grub_video_blit_bitmap): Likewise.
29423 (grub_video_blit_render_target): Likewise.
29424 (grub_video_scroll): Likewise.
29425 (grub_video_swap_buffers): Likewise.
29426 (grub_video_create_render_target): Likewise.
29427 (grub_video_delete_render_target): Likewise.
29428 (grub_video_set_active_render_target): Likewise.
29429
29430 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
29431 Undefined.
29432 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
29433
29434 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
29435 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29436 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29437 instead of $(srcdir)/genkernsyms.sh.
29438
29439 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
29440 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29441 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29442 instead of $(srcdir)/genkernsyms.sh.
29443
29444 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
29445 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29446 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29447 instead of $(srcdir)/genkernsyms.sh.
29448
29449 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
29450 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29451 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29452 instead of $(srcdir)/genkernsyms.sh.
29453
29454 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
29455 genkernsyms.sh.
29456
29457 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
29458 genkernsyms.sh.
29459 (gensymlist.sh): New target.
29460 (genkernsyms.sh): Likewise.
29461
29462 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
29463 genkernsyms.sh.in and gensymlist.sh.in.
29464
29465 * genkernsyms.sh: Removed.
29466 * gensymlist.sh: Likewise.
29467
29468 * genkernsyms.sh.in: New file.
29469 * gensymlist.sh.in: Likewise.
29470
29471 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29472
29473 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
29474 clobber "prefix", since we may have already set it manually.
29475
29476 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29477
29478 * kern/misc.c (abort): New alias for grub_abort.
29479
29480 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
29481
29482 A new machine-specific function "grub_machine_set_prefix" is
29483 defined. This is called after loading modules, so that a prefix
29484 initialization can use modules. Also, this change adds an
29485 intensive debugging feature for the memory manager via the
29486 configure option "--enable-mm-debug".
29487
29488 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
29489 PART.LEN.
29490
29491 * kern/sparc64/ieee1275/init.c (abort): Removed.
29492 (grub_stop): Likewise.
29493 (grub_exit): New function.
29494 (grub_set_prefix): Renamed to ...
29495 (grub_machine_set_prefix): ... this.
29496 (grub_machine_init): Do not call grub_set_prefix.
29497
29498 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
29499 (grub_machine_set_prefix): ... this.
29500 (grub_machine_init): Do not call grub_set_prefix.
29501
29502 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
29503 (grub_machine_init): Do not set the prefix here.
29504
29505 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
29506
29507 * kern/efi/init.c: Include grub/mm.h.
29508 (grub_efi_set_prefix): New function.
29509
29510 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
29511 (grub_efi_get_filename): New function.
29512 (grub_print_device_path): Renamed to ...
29513 (grub_efi_print_device_path): ... this.
29514
29515 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
29516 [MM_DEBUG] (grub_realloc): Likewise.
29517 [MM_DEBUG] (grub_free): Likewise.
29518 [MM_DEBUG] (grub_memalign): Likewise.
29519 [MM_DEBUG] (grub_mm_debug): New variable.
29520 [MM_DEBUG] (grub_debug_malloc): New function.
29521 [MM_DEBUG] (grub_debug_free): New function.
29522 [MM_DEBUG] (grub_debug_realloc): New function.
29523 [MM_DEBUG] (grub_debug_memalign): New function.
29524
29525 * kern/misc.c (grub_abort): Print a newline to distinguish
29526 the message.
29527
29528 * kern/main.c (grub_main): Call grub_machine_set_prefix and
29529 grub_set_root_dev after loading modules. This is necessary when
29530 setting a prefix depends on modules.
29531
29532 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
29533 (grub_efi_print_device_path): ... this.
29534 (grub_efi_get_filename): New prototype.
29535 (grub_efi_set_prefix): Likewise.
29536
29537 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
29538 and grub/disk.h.
29539 (grub_efidisk_get_device_handle): New prototype.
29540 (grub_efidisk_get_device_name): Likewise.
29541
29542 * include/grub/mm.h: Include config.h.
29543 (MM_DEBUG): Removed.
29544 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
29545 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
29546 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
29547 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
29548 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
29549 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
29550 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
29551 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
29552 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
29553
29554 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
29555
29556 * disk/efi/efidisk.c: Include grub/partition.h.
29557 (iterate_child_devices): New function.
29558 (add_device): First, compare only last device path nodes, so that
29559 devices are sorted by the types.
29560 (grub_efidisk_get_device_handle): New function.
29561 (grub_efidisk_get_device_name): Likewise.
29562
29563 * configure.ac (--enable-mm-debug): New option to enable the
29564 memory manager debugging feature. This makes the binary much
29565 bigger, so is disabled by default.
29566
29567 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
29568
29569 Use grub_abort instead of grub_stop, and grub_exit must be
29570 define in each architecture now. Also, this change adds support
29571 for EFI disks.
29572
29573 * util/i386/pc/grub-probefs.c: Include grub/term.h.
29574 (grub_getkey): New function.
29575 (grub_term_get_current): Likewise.
29576
29577 * util/i386/pc/grub-setup.c: Include grub/term.h.
29578 (grub_getkey): New function.
29579 (grub_term_get_current): Likewise.
29580
29581 * util/misc.c (grub_stop): Renamed to ...
29582 (grub_exit): ... this.
29583
29584 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
29585 (grub_exit): ... this.
29586 (grub_machine_init): Use grub_abort instead of abort.
29587 (grub_stop): Removed.
29588
29589 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
29590 abort.
29591
29592 * kern/i386/pc/startup.S (grub_exit): New function.
29593 (cold_reboot): New label.
29594
29595 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
29596 (grub_efi_init): Call grub_efidisk_init.
29597 (grub_efi_fini): Call grub_efidisk_fini.
29598
29599 * kern/efi/efi.c: Include grub/mm.h.
29600 (grub_efi_console_control_guid): Renamed to ...
29601 (console_control_guid): ... this.
29602 (grub_efi_loaded_image_guid): Renamed to ...
29603 (loaded_image_guid): ... this.
29604 (grub_efi_locate_handle): New function.
29605 (grub_efi_open_protocol): Likewise.
29606 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
29607 GRUB_EFI_CONSOLE_CONTROL_GUID.
29608 (grub_efi_exit): Removed.
29609 (grub_stop): Likewise.
29610 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
29611 (grub_exit): New function.
29612 (grub_print_device_path): Likewise.
29613
29614 * kern/rescue.c (grub_rescue_cmd_exit): New function.
29615 (grub_enter_rescue_mode): Register "exit".
29616
29617 * kern/misc.c (grub_real_dprintf): A cosmetic change.
29618 (grub_abort): New function.
29619
29620 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
29621
29622 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
29623
29624 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
29625
29626 * include/grub/efi/efi.h (grub_efi_exit): Removed.
29627 (grub_print_device_path): New prototype.
29628 (grub_efi_locate_handle): Likewise.
29629 (grub_efi_open_protocol): Likewise.
29630
29631 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
29632 * disk/efi/efidisk.c: Likewise.
29633
29634 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
29635
29636 * include/grub/efi/console_control.h
29637 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
29638
29639 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
29640 last 8 bytes as an array.
29641 (GRUB_EFI_DISK_IO_GUID): New macro.
29642 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
29643 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
29644 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
29645 grub_uint8_t.
29646 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
29647 (struct grub_efi_device_path): Rename the member "sub_type" to
29648 "subtype".
29649 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
29650 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
29651 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
29652 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
29653 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
29654 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
29655 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
29656 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
29657 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
29658 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
29659 (struct grub_efi_pci_device_path): New structure.
29660 (grub_efi_pci_device_path_t): New type.
29661 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
29662 (struct grub_efi_pccard_device_path): New structure.
29663 (grub_efi_pccard_device_path_t): New type.
29664 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
29665 (struct grub_efi_memory_mapped_device_path): New structure.
29666 (grub_efi_memory_mapped_device_path_t): New type.
29667 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
29668 (struct grub_efi_vendor_device_path): New structure.
29669 (grub_efi_vendor_device_path_t): New type.
29670 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
29671 (struct grub_efi_controller_device_path): New structure.
29672 (grub_efi_controller_device_path_t): New type.
29673 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
29674 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
29675 (struct grub_efi_acpi_device_path): New structure.
29676 (grub_efi_acpi_device_path_t): New type.
29677 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
29678 (struct grub_efi_expanded_acpi_device_path): New structure.
29679 (grub_efi_expanded_acpi_device_path_t): New type.
29680 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
29681 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
29682 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
29683 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
29684 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
29685 (struct grub_efi_atapi_device_path): New structure.
29686 (grub_efi_atapi_device_path_t): New type.
29687 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
29688 (struct grub_efi_fibre_channel_device_path): New structure.
29689 (grub_efi_fibre_channel_device_path_t): New type.
29690 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
29691 (struct grub_efi_1394_device_path): New structure.
29692 (grub_efi_1394_device_path_t): New type.
29693 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
29694 (struct grub_efi_usb_device_path): New structure.
29695 (grub_efi_usb_device_path_t): New type.
29696 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
29697 (struct grub_efi_usb_class_device_path): New structure.
29698 (grub_efi_usb_class_device_path_t): New type.
29699 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
29700 (struct grub_efi_i2o_device_path): New structure.
29701 (grub_efi_i2o_device_path_t): New type.
29702 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
29703 (struct grub_efi_mac_address_device_path): New structure.
29704 (grub_efi_mac_address_device_path_t): New type.
29705 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
29706 (struct grub_efi_ipv4_device_path): New structure.
29707 (grub_efi_ipv4_device_path_t): New type.
29708 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
29709 (struct grub_efi_ipv6_device_path): New structure.
29710 (grub_efi_ipv6_device_path_t): New type.
29711 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
29712 (struct grub_efi_infiniband_device_path): New structure.
29713 (grub_efi_infiniband_device_path_t): New type.
29714 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
29715 (struct grub_efi_uart_device_path): New structure.
29716 (grub_efi_uart_device_path_t): New type.
29717 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
29718 (struct grub_efi_vendor_messaging_device_path): New structure.
29719 (grub_efi_vendor_messaging_device_path_t): New type.
29720 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
29721 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
29722 (struct grub_efi_hard_drive_device_path): New structure.
29723 (grub_efi_hard_drive_device_path_t): New type.
29724 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
29725 (struct grub_efi_cdrom_device_path): New structure.
29726 (grub_efi_cdrom_device_path_t): New type.
29727 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
29728 (struct grub_efi_vendor_media_device_path): New structure.
29729 (grub_efi_vendor_media_device_path_t): New type.
29730 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
29731 (struct grub_efi_file_path_device_path): New structure.
29732 (grub_efi_file_path_device_path_t): New type.
29733 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
29734 (struct grub_efi_protocol_device_path): New structure.
29735 (grub_efi_protocol_device_path_t): New type.
29736 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
29737 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
29738 (struct grub_efi_bios_device_path): New structure.
29739 (grub_efi_bios_device_path_t): New type.
29740 (struct grub_efi_disk_io): New structure.
29741 (grub_efi_disk_io_t): New type.
29742 (struct grub_efi_block_io_media): New structure.
29743 (grub_efi_block_io_media_t): New type.
29744 (struct grub_efi_block_io): New structure.
29745 (grub_efi_block_io_t): New type.
29746
29747 * include/grub/misc.h (grub_stop): Removed.
29748 (grub_exit): New prototype.
29749 (grub_abort): Likewise.
29750
29751 * include/grub/disk.h (enum grub_disk_dev_id): Added
29752 GRUB_DISK_DEVICE_EFIDISK_ID.
29753
29754 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
29755 disk/efi/efidisk.c.
29756 (kernel_syms.lst): Remove the target if an error occurs.
29757
29758 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
29759
29760 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
29761 as it was simply too buggy.
29762
29763 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
29764
29765 * kern/misc.c (grub_lltoa): New function.
29766 (grub_vsprintf): Added support for the long long suffix,
29767 i.e. "ll".
29768
29769 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
29770
29771 * Makefile.in (LDFLAGS): Add variable.
29772 (LD): Remove variable.
29773 * configure.ac: Add -m32 to LDFLAGS.
29774 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
29775 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
29776 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
29777 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
29778 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
29779 variables.
29780 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
29781 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
29782 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
29783
29784 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
29785
29786 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
29787 length for unknown glyph.
29788
29789 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
29790
29791 Add support for pre-loaded modules into the EFI port.
29792
29793 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
29794 completely. Accept one more argument DIR. The caller has changed.
29795
29796 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
29797
29798 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
29799 (grub_efi_loaded_image_guid): New variable.
29800 (grub_efi_get_loaded_image): New function.
29801 (grub_arch_modules_addr): Likewise.
29802
29803 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
29804 prototype.
29805
29806 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
29807 (struct grub_efi_loaded_image): New structure.
29808 (grub_efi_loaded_image_t): New type.
29809
29810 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
29811
29812 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
29813 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
29814 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
29815
29816 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
29817
29818 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
29819
29820 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
29821
29822 * DISTLIST: Added include/grub/efi/console.h,
29823 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
29824 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
29825
29826 * include/grub/efi/console.h: New file.
29827 * include/grub/efi/time.h: Likewise.
29828 * include/grub/i386/efi/kernel.h: Likewise.
29829 * kern/efi/init.c: Likewise.
29830 * kern/efi/mm.c: Likewise.
29831 * term/efi/console.c: Likewise.
29832
29833 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
29834 (grub_stop): Removed.
29835 (grub_get_rtc): Likewise.
29836 (grub_machine_init): Simply call grub_efi_init.
29837 (grub_machine_fini): Call grub_efi_fini.
29838
29839 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
29840 (grub_efi_output_string): Removed.
29841 (grub_efi_stall): New function.
29842 (grub_stop): Likewise.
29843 (grub_get_rtc): Likewise.
29844
29845 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
29846 (grub_efi_stall): New prototype.
29847 (grub_efi_allocate_pages): Likewise.
29848 (grub_efi_free_pages): Likewise.
29849 (grub_efi_get_memory_map): Likewise.
29850 (grub_efi_mm_init): Likewise.
29851 (grub_efi_mm_fini): Likewise.
29852 (grub_efi_init): Likewise.
29853 (grub_efi_fini): Likewise.
29854
29855 * include/grub/i386/efi/time.h: Do not include
29856 grub/symbol.h. Include grub/efi/time.h.
29857 (GRUB_TICKS_PER_SECOND): Removed.
29858 (grub_get_rtc): Likewise.
29859
29860 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
29861 Added padding. The EFI spec is buggy.
29862 (GRUB_EFI_BLACK): New macro.
29863 (GRUB_EFI_BLUE): Likewise.
29864 (GRUB_EFI_GREEN): Likewise.
29865 (GRUB_EFI_CYAN): Likewise.
29866 (GRUB_EFI_RED): Likewise.
29867 (GRUB_EFI_MAGENTA): Likewise.
29868 (GRUB_EFI_BROWN): Likewise.
29869 (GRUB_EFI_LIGHTGRAY): Likewise.
29870 (GRUB_EFI_BRIGHT): Likewise.
29871 (GRUB_EFI_DARKGRAY): Likewise.
29872 (GRUB_EFI_LIGHTBLUE): Likewise.
29873 (GRUB_EFI_LIGHTGREEN): Likewise.
29874 (GRUB_EFI_LIGHTCYAN): Likewise.
29875 (GRUB_EFI_LIGHTRED): Likewise.
29876 (GRUB_EFI_LIGHTMAGENTA): Likewise.
29877 (GRUB_EFI_YELLOW): Likewise.
29878 (GRUB_EFI_WHITE): Likewise.
29879 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
29880 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
29881 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
29882 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
29883 (GRUB_EFI_BACKGROUND_RED): Likewise.
29884 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
29885 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
29886 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
29887 (GRUB_EFI_TEXT_ATTR): Likewise.
29888
29889 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
29890 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
29891 (kernel_mod_HEADERS): Added efi/time.h.
29892
29893 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
29894
29895 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
29896 include/grub/efi/api.h, include/grub/efi/console_control.h,
29897 include/grub/efi/efi.h, include/grub/efi/pe32.h,
29898 include/grub/i386/efi/time.h, kern/efi/efi.c,
29899 kern/i386/efi/init.c, kern/i386/efi/startup.S,
29900 and util/i386/efi/grub-mkimage.c.
29901
29902 * Makefile.in (RMKFILES): Added i386-efi.rmk.
29903
29904 * genmk.rb (PModule#rule): Do not export symbols if
29905 #{prefix}_EXPORTS is set to "no".
29906
29907 * conf/i386-efi.mk: New file.
29908 * conf/i386-efi.rmk: Likewise.
29909 * include/grub/efi/api.h: Likewise.
29910 * include/grub/efi/console_control.h: Likewise.
29911 * include/grub/efi/efi.h: Likewise.
29912 * include/grub/efi/pe32.h: Likewise.
29913 * include/grub/i386/efi/time.h: Likewise.
29914 * kern/efi/efi.c: Likewise.
29915 * kern/i386/efi/init.c: Likewise.
29916 * kern/i386/efi/startup.S: Likewise.
29917 * util/i386/efi/grub-mkimage.c: Likewise.
29918
29919 2006-04-17 Marco Gerards <marco@gnu.org>
29920
29921 * include/grub/script.h: Include <grub/parser.h> and
29922 "grub_script.tab.h".
29923 (struct grub_lexer_param): New struct.
29924 (struct grub_parser_param): Likewise.
29925 (grub_script_create_arglist): Pass the state in an argument.
29926 (grub_script_add_arglist): Likewise.
29927 (grub_script_create_cmdline): Likewise.
29928 (grub_script_create_cmdblock): Likewise.
29929 (grub_script_create_cmdif): Likewise.
29930 (grub_script_create_cmdmenu): Likewise.
29931 (grub_script_add_cmd): Likewise.
29932 (grub_script_arg_add): Likewise.
29933 (grub_script_lexer_ref): Likewise.
29934 (grub_script_lexer_deref): Likewise.
29935 (grub_script_lexer_record_start): Likewise.
29936 (grub_script_lexer_record_stop): Likewise.
29937 (grub_script_mem_record): Likewise.
29938 (grub_script_mem_record_stop): Likewise.
29939 (grub_script_malloc): Likewise.
29940 (grub_script_yylex): Likewise.
29941 (grub_script_yyparse): Likewise.
29942 (grub_script_yyerror): Likewise.
29943 (grub_script_yylex): Likewise.
29944 (grub_script_lexer_init): Return the state.
29945
29946 * normal/lexer.c (grub_script_lexer_state): Removed variable.
29947 (grub_script_lexer_done): Likewise.
29948 (grub_script_lexer_getline): Likewise.
29949 (grub_script_lexer_refs): Likewise.
29950 (script): Likewise.
29951 (newscript): Likewise.
29952 (record): Likewise.
29953 (recording): Likewise.
29954 (recordpos): Likewise.
29955 (recordlen): Likewise.
29956 (grub_script_lexer_init): Return the state instead of setting
29957 global variables.
29958 (grub_script_lexer_ref): Use the newly added argument for state
29959 instead of globals.
29960 (grub_script_lexer_deref): Likewise.
29961 (grub_script_lexer_record_start): Likewise.
29962 (grub_script_lexer_record_stop): Likewise.
29963 (recordchar): Likewise.
29964 (nextchar): Likewise.
29965 (grub_script_yylex2): Likewise.
29966 (grub_script_yylex): Likewise.
29967 (grub_script_yyerror): Likewise.
29968
29969 * normal/parser.y (func_mem): Removed variable.
29970 (menu_entry): Likewise.
29971 (err): Likewise.
29972 (%lex-param): New parser option.
29973 (%parse-param): Likewise.
29974 (script): Always return the AST.
29975 (argument): Pass the state around.
29976 (arguments): Likewise.
29977 (grubcmd): Likewise.
29978 (commands): Likewise.
29979 (function): Likewise.
29980 (menuentry): Likewise.
29981 (if_statement): Likewise.
29982 (if): Likewise.
29983
29984 * normal/script.c (grub_script_memused): Removed variable.
29985 (grub_script_parsed): Likewise.
29986 (grub_script_malloc): Added a state argument. Use that instead of
29987 global variables.
29988 (grub_script_mem_record): Likewise.
29989 (grub_script_mem_record_stop): Likewise.
29990 (grub_script_arg_add): Likewise.
29991 (grub_script_add_arglist): Likewise.
29992 (grub_script_create_cmdline): Likewise.
29993 (grub_script_create_cmdif): Likewise.
29994 (grub_script_create_cmdmenu): Likewise.
29995 (grub_script_add_cmd): Likewise.
29996 (grub_script_parse): Setup the state before calling the parser.
29997
29998 2006-04-16 Marco Gerards <marco@gnu.org>
29999
30000 * normal/command.c (grub_command_init): Remove the title command.
30001
30002 * normal/lexer.c (grub_script_yylex): Renamed from this...
30003 (grub_script_yylex2): ... to this.
30004 (grub_script_yylex): New function. Temporary
30005 introduced to filter some tokens.
30006 (grub_script_yyerror): Print a newline.
30007
30008 * normal/main.c (read_config_file): Output information about the
30009 lines that contain errors. Wait for a key after all lines have
30010 been processed. Don't return an empty menu.
30011
30012 * normal/parser.y (func_mem): Don't initialize.
30013 (menu_entry): Likewise.
30014 (err): New variable.
30015 (script): Don't return anything when an error was encountered.
30016 (ws, returns): Removed rules.
30017 (argument): Disabled concatenated variable support.
30018 (arguments): Remove explicit separators.
30019 (grubcmd): Likewise.
30020 (function): Likewise.
30021 (menuentry): Likewise.
30022 (if): Likewise.
30023 (commands): Likewise. Add error handling.
30024
30025 * normal/script.c (grub_script_create_cmdline): If
30026 `grub_script_parsed' is 0, assume the parser encountered an error.
30027
30028 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
30029
30030 * configure.ac: Add support for EFI. Fix the typo
30031 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
30032
30033 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30034
30035 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
30036 foreign multibyte characters should be shown correctly.
30037
30038 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30039
30040 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
30041 calculation.
30042 (read_config_file): Made it to close file before returning.
30043
30044 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
30045
30046 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
30047 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
30048 video/i386/pc/vbefill.c.
30049
30050 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
30051 video/i386/pc/vbefill.c.
30052
30053 * include/grub/video.h (grub_video_blit_format): New enum.
30054 (grub_video_mode_info): Added new member blit_format.
30055 (grub_video_get_blit_format): New function prototype.
30056
30057 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
30058 function prototype.
30059 (grub_video_vbe_map_rgb): Likewise.
30060 (grub_video_vbe_unmap_color): Likewise.
30061
30062 * include/grub/i386/pc/vbeblit.h: New file.
30063
30064 * include/grub/i386/pc/vbefill.h: New file.
30065
30066 * video/video.c (grub_video_get_blit_format): New function.
30067 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
30068 (grub_video_vbe_map_rgb): Likewise.
30069 (grub_video_vbe_unmap_color): Likewise.
30070
30071 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
30072 optimized fills.
30073 (grub_video_vbe_blit_render_target): Changed to use more optimized
30074 blits.
30075 (grub_video_vbe_setup): Added detection for optimized settings.
30076 (grub_video_vbe_create_render_target): Likewise.
30077
30078 * video/i386/pc/vbeblit.c: New file.
30079
30080 * video/i386/pc/vbefill.c: New file.
30081
30082 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
30083
30084 * font/manager.c (grub_font_get_glyph): Removed font fixup from
30085 here...
30086
30087 * util/unifont2pff.rb: ... and moved it to here. Improved argument
30088 parsing to support both hex and dec ranges. If filename was missing
30089 show usage information.
30090
30091 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
30092
30093 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
30094 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
30095
30096 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
30097 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
30098 (video_mod_SOURCES): Added.
30099 (video_mod_CFLAGS): Likewise.
30100 (video_mod_LDFLAGS): Likewise.
30101 (gfxterm_mod_SOURCES): Likewise.
30102 (gfxterm_mod_CFLAGS): Likewise.
30103 (gfxterm_mod_LDFLAGS): Likewise.
30104 (videotest_mod_SOURCES): Likewise.
30105 (videotest_mod_CFLAGS): Likewise.
30106 (videotest_mod_LDFLAGS): Likewise.
30107 (vesafb_mod_SOURCES): Removed.
30108 (vesafb_mod_CFLAGS): Likewise.
30109 (vesafb_mod_LDFLAGS): Likewise.
30110 (vga_mod_SOURCES): Likewise.
30111 (vga_mod_CFLAGS): Likewise.
30112 (vga_mod_LDFLAGS): Likewise.
30113
30114 * commands/videotest.c: New file.
30115
30116 * font/manager.c (fill_with_default_glyph): Modified to use
30117 grub_font_glyph.
30118 (grub_font_get_glyph): Likewise.
30119 (fontmanager): Renamed from this...
30120 (font_manager): ... to this.
30121
30122 * include/grub/font.h (grub_font_glyph): Added new structure.
30123 (grub_font_get_glyph): Modified to use grub_font_glyph.
30124
30125 * include/grub/misc.h (grub_abs): Added as inline function.
30126
30127 * include/grub/video.h: New file.
30128
30129 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
30130 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
30131 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
30132 (grub_vbe_get_controller_info): Renamed from this...
30133 (grub_vbe_bios_get_controller_info): ... to this.
30134 (grub_vbe_get_mode_info): Renamed from this...
30135 (grub_vbe_bios_get_mode_info): ... to this.
30136 (grub_vbe_set_mode): Renamed from this...
30137 (grub_vbe_bios_set_mode): ... to this.
30138 (grub_vbe_get_mode): Renamed from this...
30139 (grub_vbe_bios_get_mode): ... to this.
30140 (grub_vbe_set_memory_window): Renamed from this...
30141 (grub_vbe_bios_set_memory_window): ... to this.
30142 (grub_vbe_get_memory_window): Renamed from this...
30143 (grub_vbe_bios_get_memory_window): ... to this.
30144 (grub_vbe_set_scanline_length): Renamed from this...
30145 (grub_vbe_set_scanline_length): ... to this.
30146 (grub_vbe_get_scanline_length): Renamed from this...
30147 (grub_vbe_bios_get_scanline_length): ... to this.
30148 (grub_vbe_set_display_start): Renamed from this...
30149 (grub_vbe_bios_set_display_start): ... to this.
30150 (grub_vbe_get_display_start): Renamed from this...
30151 (grub_vbe_bios_get_display_start): ... to this.
30152 (grub_vbe_set_palette_data): Renamed from this...
30153 (grub_vbe_bios_set_palette_data): ... to this.
30154 (grub_vbe_set_pixel_rgb): Removed.
30155 (grub_vbe_set_pixel_index): Likewise.
30156
30157 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
30158 from this...
30159 (grub_vbe_bios_get_controller_info): ... to this.
30160 (grub_vbe_get_mode_info): Renamed from this...
30161 (grub_vbe_bios_get_mode_info): ... to this.
30162 (grub_vbe_set_mode): Renamed from this...
30163 (grub_vbe_bios_set_mode): ... to this.
30164 (grub_vbe_get_mode): Renamed from this...
30165 (grub_vbe_bios_get_mode): ... to this.
30166 (grub_vbe_set_memory_window): Renamed from this...
30167 (grub_vbe_bios_set_memory_window): ... to this.
30168 (grub_vbe_get_memory_window): Renamed from this...
30169 (grub_vbe_bios_get_memory_window): ... to this.
30170 (grub_vbe_set_scanline_length): Renamed from this...
30171 (grub_vbe_set_scanline_length): ... to this.
30172 (grub_vbe_get_scanline_length): Renamed from this...
30173 (grub_vbe_bios_get_scanline_length): ... to this.
30174 (grub_vbe_set_display_start): Renamed from this...
30175 (grub_vbe_bios_set_display_start): ... to this.
30176 (grub_vbe_get_display_start): Renamed from this...
30177 (grub_vbe_bios_get_display_start): ... to this.
30178 (grub_vbe_set_palette_data): Renamed from this...
30179 (grub_vbe_bios_set_palette_data): ... to this.
30180 (grub_vbe_bios_get_controller_info): Fixed problem with registers
30181 getting corrupted after calling it. Added more pushes and pops.
30182 (grub_vbe_bios_set_mode): Likewise.
30183 (grub_vbe_bios_get_mode): Likewise.
30184 (grub_vbe_bios_get_memory_window): Likewise.
30185 (grub_vbe_bios_set_scanline_length): Likewise.
30186 (grub_vbe_bios_get_scanline_length): Likewise.
30187 (grub_vbe_bios_get_display_start): Likewise.
30188 (grub_vbe_bios_set_palette_data): Likewise.
30189
30190 * normal/cmdline.c (cl_set_pos): Refresh the screen.
30191 (cl_insert): Likewise.
30192 (cl_delete): Likewise.
30193
30194 * term/gfxterm.c: New file.
30195
30196 * term/i386/pc/vesafb.c: Removed file.
30197
30198 * video/video.c: New file.
30199
30200 * video/i386/pc/vbe.c (real2pm): Added new function.
30201 (grub_video_vbe_draw_pixel): Likewise.
30202 (grub_video_vbe_get_video_ptr): Likewise.
30203 (grub_video_vbe_get_pixel): Likewise
30204 (grub_video_vbe_init): Likewise.
30205 (grub_video_vbe_fini): Likewise.
30206 (grub_video_vbe_setup): Likewise.
30207 (grub_video_vbe_get_info): Likewise.
30208 (grub_video_vbe_set_palette): Likewise.
30209 (grub_video_vbe_get_palette): Likewise.
30210 (grub_video_vbe_set_viewport): Likewise.
30211 (grub_video_vbe_get_viewport): Likewise.
30212 (grub_video_vbe_map_color): Likewise.
30213 (grub_video_vbe_map_rgb): Likewise.
30214 (grub_video_vbe_map_rgba): Likewise.
30215 (grub_video_vbe_unmap_color): Likewise.
30216 (grub_video_vbe_fill_rect): Likewise.
30217 (grub_video_vbe_blit_glyph): Likewise.
30218 (grub_video_vbe_blit_bitmap): Likewise.
30219 (grub_video_vbe_blit_render_target): Likewise.
30220 (grub_video_vbe_scroll): Likewise.
30221 (grub_video_vbe_swap_buffers): Likewise.
30222 (grub_video_vbe_create_render_target): Likewise.
30223 (grub_video_vbe_delete_render_target): Likewise.
30224 (grub_video_vbe_set_active_render_target): Likewise.
30225 (grub_vbe_set_pixel_rgb): Remove function.
30226 (grub_vbe_set_pixel_index): Likewise.
30227 (index_color_mode): Remove static variable.
30228 (active_mode): Likewise.
30229 (framebuffer): Likewise.
30230 (bytes_per_scan_line): Likewise.
30231 (grub_video_vbe_adapter): Added new static variable.
30232 (framebuffer): Likewise.
30233 (render_target): Likewise.
30234 (initial_mode): Likewise.
30235 (mode_in_use): Likewise.
30236 (mode_list): Likewise.
30237
30238 2006-03-10 Marco Gerards <marco@gnu.org>
30239
30240 * configure.ac (AC_INIT): Bumped to 1.93.
30241
30242 * DISTLIST: Added `include/grub/hfs.h'.
30243
30244 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
30245
30246 * boot/i386/pc/boot.S (general_error): Before looping, try INT
30247 18H, which might help the BIOS falling back to next boot media.
30248
30249 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
30250
30251 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
30252 Poe Chen <poe.poechen@gmail.com>.
30253
30254 2006-01-17 Marco Gerards <marco@gnu.org>
30255
30256 * include/grub/normal.h: Include <grub/script.h>.
30257 (grub_command_list): Removed struct.
30258 (grub_command_list_t): Removed type.
30259 (grub_menu_entry): Remove members `num' and `command_list'. Add
30260 members `commands' and `sourcecode'.
30261 * include/grub/script.h: Add inclusion guards.
30262 (grub_script_cmd_menuentry): New struct.
30263 (grub_script_execute_menuentry): New prototype.
30264 (grub_script_lexer_record_start): Likewise.
30265 (grub_script_lexer_record_stop): Likewise.
30266 * normal/execute.c (grub_script_execute_menuentry): New function.
30267 * normal/lexer.c (record, recording, recordpos, recordlen): New
30268 variables.
30269 (grub_script_lexer_record_start): New function.
30270 (grub_script_lexer_record_stop): Likewise.
30271 (recordchar): Likewise.
30272 (nextchar): Likewise.
30273 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
30274 2048 as the buffer size. Add the tokens `menuentry' and `@'.
30275 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
30276 (current_menu): New variable.
30277 (free_menu): Mainly rewritten.
30278 (grub_normal_menu_addentry): New function.
30279 (read_config_file): Rewritten.
30280 * normal/menu.c (run_menu_entry): Mainly rewritten.
30281 * normal/menu_entry.c (make_screen): Rewritten the code to insert
30282 the menu entry.
30283 (run): Mainly rewritten.
30284 * normal/parser.y (menu_entry): New variable.
30285 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
30286 (menuentry): New rule.
30287 (command): Add `menuentry'.
30288 (if_statement): Allow additional returns before `fi'.
30289 * normal/script.c (grub_script_create_cmdmenu): New function.
30290
30291 2006-01-03 Marco Gerards <marco@gnu.org>
30292
30293 * INSTALL: GNU Bison is required.
30294 * configure.ac: Rewritten the test to detect Bison.
30295 * Makefile.in (YACC): New variable. Reported by Xun Sun
30296 <xun.sun.cn@gmail.com>.
30297
30298 2006-01-03 Marco Gerards <marco@gnu.org>
30299
30300 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
30301 the HFS+ filesystem to filesystem blocks.
30302 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
30303 GCC warning is silenced.
30304
30305 2006-01-03 Marco Gerards <marco@gnu.org>
30306
30307 * partmap/apple.c (apple_partition_map_iterate): Convert the data
30308 read from disk from big endian to host byte order.
30309
30310 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
30311
30312 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
30313 documentation.
30314 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
30315 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
30316 embedded HFS+ filesystem.
30317 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
30318 (grub_hfs_sblock): Move from here...
30319 * include/grub/hfs.h: To here... New file.
30320 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
30321 documentation.
30322 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
30323 New macros.
30324 (grub_hfsplus_volheader): Change type of member `magic' to
30325 `grub_uint16_t'.
30326 (grub_hfsplus_data): Add new member `embedded_offset'.
30327 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
30328 returned block.
30329 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
30330 Calculate the offset.
30331
30332 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30333
30334 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
30335 Removed.
30336 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
30337
30338 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30339
30340 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
30341 ENV->NAME is NULL after allocating ENV->VALUE.
30342
30343 2005-12-25 Marco Gerards <marco@gnu.org>
30344
30345 * kern/env.c (grub_env_set): Rewritten the error handling code.
30346
30347 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30348
30349 * geninit.sh: Made more robust, and more portable.
30350
30351 2005-12-25 Marco Gerards <marco@gnu.org>
30352
30353 Add support for Apple HFS+ filesystems.
30354
30355 * fs/hfsplus.c: New file.
30356
30357 * DISTLIST: Added `fs/hfsplus.c'.
30358
30359 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
30360 (hfsplus_mod_SOURCES): New variable.
30361 (hfsplus_mod_CFLAGS): Likewise.
30362 (hfsplus_mod_LDFLAGS): Likewise.
30363 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
30364 (grub_setup_SOURCES): Likewise.
30365 (grub_mkdevicemap_SOURCES): Likewise.
30366 (grub_emu_SOURCES): Likewise.
30367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30368
30369 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
30370
30371 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
30372
30373 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30374
30375 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
30376 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
30377 include/grub/parser.h, include/grub/script.h, kern/parser.c,
30378 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
30379 normal/lexer.c, normal/parser.y, normal/script.c, and
30380 partmap/gpt.c.
30381 Removed kern/sparc64/cache.c.
30382
30383 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
30384 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
30385 grub_emu_init.c.
30386
30387 * configure.ac (AC_INIT): Bumped to 1.92.
30388
30389 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
30390
30391 * kern/err.c (grub_error_push): Added new function to support error
30392 stacks.
30393 (grub_error_pop): Likewise.
30394 (grub_error_stack_items): New local variable to support error stacks.
30395 (grub_error_stack_pos): Likewise.
30396 (grub_error_stack_assert): Likewise.
30397 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
30398 stack depth.
30399 (grub_print_error): Added support to print errors from error stack.
30400
30401 * include/grub/err.h (grub_error_push): Added function prototype.
30402 (grub_error_pop): Likewise.
30403
30404 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
30405
30406 * configure.ac: Accept `powerpc64' as host_cpu.
30407 (amd64): Rename to `biarch32'.
30408
30409 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
30410 non-cacheline-aligned addresses.
30411
30412 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
30413 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
30414 if `size' is non-zero.
30415
30416 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
30417
30418 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
30419 and `cd' to make sure the filename is not prefixed with a
30420 directory name.
30421 (pkgdata_MODULES): Add `gpt.mod'.
30422 (gpt_mod_SOURCES): New variable.
30423 (gpt_mod_CFLAGS): Likewise.
30424 (gpt_mod_LDFLAGS): Likewise.
30425
30426 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
30427
30428 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
30429 New macro.
30430
30431 * partmap/gpt.c: New file.
30432
30433 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
30434 GPT partition map is detected.
30435
30436 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
30437
30438 * commands/i386/pc/play.c: New file.
30439 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
30440 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
30441 macros.
30442
30443 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
30444
30445 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
30446 ((unused))' to silence gcc warning.
30447
30448 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
30449
30450 * configure.ac: Correct `AC_PROG_YACC' test.
30451
30452 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30453
30454 * util/powerpc/ieee1275/grub-install.in: Run the mount point
30455 check before installing files.
30456
30457 2005-11-22 Mike Small <smallm@panix.com>
30458
30459 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
30460 number regex so multidigit numbers are recognized correctly.
30461
30462 2005-11-22 Mike Small <smallm@panix.com>
30463
30464 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
30465 debugging message before attempting to claim memory.
30466 (grub_rescue_cmd_initrd): Add a claim debugging message and try
30467 multiple addresses in case of failure.
30468
30469 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30470
30471 * term/tparm.c (get_space): Remove empty `if' statement.
30472
30473 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
30474
30475 * kern/parser.c (check_varstate): Rename `state' to 's'.
30476
30477 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30478
30479 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
30480 variable definitions to the beginning of each function. Sort stack
30481 variables by size.
30482 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
30483 `buf' argument to `char *'.
30484
30485 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30486
30487 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
30488 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
30489 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
30490 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30491 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30492 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30493 configfile.mod, search.mod, gzio.mod and test.mod.
30494 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30495 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30496 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30497 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30498 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30499 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30500 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30501 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30502 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30503 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30504 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30505 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30506 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30507 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30508 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30509 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30510 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30511 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30512 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30513 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30514 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30515 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30516 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
30517
30518 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
30519 `grep --include'.
30520 (pkgdata_MODULES): Add test.mod.
30521
30522 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30523
30524 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
30525 appending to variables with "+=".
30526 (PModule): Use full pathname to generate *.lst filenames.
30527
30528 * Makefile.in: Fixed list rules moved from genmk.rb.
30529 (.DELETE_ON_ERROR): New special target.
30530 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
30531
30532 * conf/i386-pc.rmk: Include conf/common.mk.
30533 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
30534 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
30535 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30536 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30537 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30538 configfile.mod, search.mod, gzio.mod and test.mod.
30539 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30540 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30541 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30542 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30543 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30544 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30545 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30546 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30547 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30548 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30549 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30550 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30551 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30552 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30553 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30554 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30555 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30556 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30557 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30558 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30559 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30560 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30561 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
30562 here...
30563 * conf/common.rmk: ... to here. New file.
30564
30565 * conf/common.mk: New file.
30566
30567 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
30568
30569 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
30570 (grub_script.tab.c): ... here.
30571
30572 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
30573 (grub_script.tab.c): ... here.
30574
30575 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
30576 (grub_script.tab.c): ... here.
30577
30578 * normal/command.c (grub_command_find): Fixed a memory leak of
30579 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
30580
30581 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30582
30583 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
30584 "@" which marks the start of a comment on ARM.
30585 (VARIABLE): Likewise.
30586
30587 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30588
30589 Add support for Linux/ADFS partition tables.
30590
30591 * partmap/acorn.c: New file.
30592
30593 * include/grub/acorn_filecore.h: Likewise.
30594
30595 * DISTLIST: Added `partmap/acorn.c' and
30596 `include/grub/acorn_filecore.h'.
30597
30598 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30599 `partmap/acorn.c'.
30600 (pkgdata_MODULES): Add `acorn.mod'.
30601 (acorn_mod_SOURCES): New variable.
30602 (acorn_mod_CFLAGS): Likewise.
30603
30604 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
30605 `partmap/acorn.c'.
30606 (pkgdata_MODULES): Add `acorn.mod'.
30607 (acorn_mod_SOURCES): New variable.
30608 (acorn_mod_CFLAGS): Likewise.
30609
30610 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
30611 (pkgdata_MODULES): Add `acorn.mod'.
30612 (acorn_mod_SOURCES): New variable.
30613 (acorn_mod_CFLAGS): Likewise.
30614 (acorn_mod_LDFLAGS): Likewise.
30615
30616 * include/types.h (grub_disk_addr_t): New typedef.
30617
30618 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
30619
30620 * geninit.sh: New file.
30621
30622 * geninitheader.sh: Likewise.
30623
30624 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
30625 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
30626 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
30627 * commands/configfile.c (grub_configfile_init)
30628 (grub_configfile_fini): Likewise.
30629 * commands/default.c (grub_default_init, grub_default_fini):
30630 Likewise.
30631 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
30632 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
30633 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
30634 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
30635 Likewise.
30636 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
30637 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
30638 Likewise.
30639 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
30640 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
30641 Likewise.
30642 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
30643 Likewise.
30644 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
30645 Likewise.
30646 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
30647 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
30648 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
30649 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
30650 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
30651 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
30652 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
30653 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
30654 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
30655 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
30656 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
30657 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
30658 * partmap/amiga.c (grub_amiga_partition_map_init)
30659 (grub_amiga_partition_map_fini): Likewise.
30660 * partmap/apple.c (grub_apple_partition_map_init)
30661 (grub_apple_partition_map_fini): Likewise.
30662 * partmap/pc.c (grub_pc_partition_map_init)
30663 (grub_pc_partition_map_fini): Likewise.
30664 * partmap/sun.c (grub_sun_partition_map_init,
30665 grub_sun_partition_map_fini): Likewise.
30666 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
30667 Likewise.
30668
30669 * util/grub-emu.c: Include <grub_modules_init.h>.
30670 (main): Don't initialize and de-initialize any modules directly,
30671 use `grub_init_all' and `grub_fini_all' instead.
30672
30673 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
30674 `grub_vesafb_mod_init'.
30675 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
30676 all users.
30677 * term/i386/pc/vga.c (grub_vga_init): Renamed to
30678 `grub_vga_mod_init'. Updated all users.
30679 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
30680
30681 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
30682 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
30683 rules.
30684
30685 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
30686 Generate a function to initialize the module in utilities.
30687 Updated all callers.
30688 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
30689 initialize the module in utilities. Updated all callers.
30690
30691 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
30692
30693 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
30694 escape sequence and a literal ^L to clear the screen.
30695
30696 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
30697 when returning from Open Firmware.
30698
30699 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
30700
30701 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
30702 (grub_ofconsole_height): Likewise.
30703 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
30704 manually insert a '\n'.
30705 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
30706 `grub_ofconsole_height'. Return early if these are already set.
30707
30708 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
30709
30710 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
30711 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
30712 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
30713 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
30714 and `normal/script.c'.
30715 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30716 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30717 (test_mod_SOURCES): New variable.
30718 (test_mod_CFLAGS): Likewise.
30719 (test_mod_LDFLAGS): Likewise.
30720 (pkgdata_MODULES): Add `test.mod'.
30721 (grub_script.tab.c): New rule.
30722 (grub_script.tab.h): Likewise.
30723
30724 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
30725
30726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30727 `commands/test.c', `normal/execute.c', `normal/lexer.c',
30728 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30729 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30730 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30731 (test_mod_SOURCES): New variable.
30732 (test_mod_CFLAGS): Likewise.
30733 (pkgdata_MODULES): Add `test.mod'.
30734 (grub_script.tab.c): New rule.
30735 (grub_script.tab.h): Likewise.
30736
30737 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
30738
30739 Add initial scripting support.
30740
30741 * commands/test.c: New file.
30742 * include/grub/script.h: Likewise.
30743 * normal/execute.c: Likewise.
30744 * normal/function.c: Likewise.
30745 * normal/lexer.c: Likewise.
30746 * normal/parser.y: Likewise.
30747 * normal/script.c: Likewise.
30748
30749 * configure.ac: Add `AC_PROG_YACC' test.
30750
30751 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
30752 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
30753 `normal/function.c' and `normal/script.c'.
30754 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30755 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30756 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
30757 variables.
30758 (pkgdata_MODULES): Add `test.mod'.
30759 (grub_script.tab.c): New rule.
30760 (grub_script.tab.h): Likewise.
30761
30762 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
30763
30764 * include/grub/normal.h (grub_test_init): New prototype.
30765 (grub_test_fini): Likewise.
30766
30767 * normal/command.c: Include <grub/script.h>.
30768 (grub_command_execute): Rewritten.
30769
30770 * util/grub-emu.c (main): Call `grub_test_init' and
30771 `grub_test_fini'.
30772
30773 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30774
30775 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
30776 to 0.
30777 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
30778 there are no pending characters.
30779
30780 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30781
30782 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
30783 `grub_strndup' to drop device arguments. Replace unnecessary
30784 `grub_strndup' with `grub_strdup'.
30785
30786 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30787
30788 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
30789 `debug' environment variable has been set.
30790
30791 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
30792
30793 * Makefile.in (install-local): Use $(DATA).
30794 (uninstall): Likewise.
30795 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
30796 (sbin_UTILITIES): ... to here.
30797 (sbin_SCRIPTS): New variable.
30798 (grub_install_SOURCES): New variable.
30799 * util/powerpc/ieee1275/grub-install.in: New file.
30800 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
30801 variable.
30802 (add_segments): Call `grub_util_get_path'.
30803
30804 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
30805
30806 From Timothy Baldwin:
30807 * commands/ls.c (grub_ls_list_files): Close FILE with
30808 grub_file_close.
30809 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
30810
30811 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
30812
30813 * include/grub/parser.h: New file.
30814
30815 * kern/parser.c: Likewise.
30816
30817 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
30818 (grub_setup_SOURCES): Likewise.
30819 (grub_probefs_SOURCES): Likewise.
30820 (grub_emu_SOURCES): Likewise.
30821 (kernel_img_HEADERS): Add `parser.h'.
30822
30823 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
30824 (grub_emu_SOURCES): Add `kern/parser.c'.
30825 (grubof_SOURCES): Likewise.
30826
30827 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
30828 (grubof_SOURCES): Add `kern/parser.c'.
30829
30830 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
30831
30832 * kern/misc.c (grub_split_cmdline): Removed function.
30833
30834 * kern/rescue.c: Include <grub/parser.h>.
30835 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
30836 of `grub_split_cmdline'.
30837
30838 * normal/command.c: Include <grub/parser.h>.
30839 (grub_command_execute): Use `grub_parser_split_cmdline' instead
30840 of `grub_split_cmdline'.
30841
30842 * normal/completion.c: Include <grub/parser.h>.
30843 (cmdline_state): New variable.
30844 (iterate_dir): End the filename with a quote depending on the
30845 command line state.
30846 (get_state): new function.
30847 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
30848 split the arguments and determine the current argument. When the
30849 argument string is not quoted, escape all spaces.
30850
30851 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30852
30853 * normal/sparc64/setjmp.S: New file.
30854
30855 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30856
30857 * include/grub/sparc64/libgcc.h: New file.
30858 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
30859 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
30860 normal/sparc64/setjmp.c.
30861
30862 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30863
30864 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
30865 * kern/sparc64/cache.S: New file.
30866 * kern/sparc64/cache.c: Removed.
30867 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
30868 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
30869 -mtune=ultrasparc.
30870 (COMMON_LDFLAGS): Add -melf64_sparc.
30871 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
30872 (grubof_SOURCES): Use cache.S instead of cache.c.
30873 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
30874 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
30875 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
30876 commented though.
30877 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
30878 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
30879 (linux_mod_CFLAGS): Commented out.
30880 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
30881 out because module isn't built.
30882 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
30883 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
30884 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
30885 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
30886 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
30887 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
30888 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
30889 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
30890 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
30891 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
30892 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30893 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30894 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
30895 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
30896
30897 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
30898
30899 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
30900 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
30901 longer, because HFS should not be used on PC.
30902
30903 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30904
30905 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
30906 consistently within the loop.
30907
30908 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
30909
30910 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
30911 directory can not be read.
30912
30913 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30914
30915 * configure.ac (AC_INIT): Increase the version number to 1.91.
30916
30917 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
30918 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
30919 term/i386/pc/serial.c.
30920
30921 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30922
30923 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
30924 file size must be permitted.
30925
30926 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
30927 between %ah and %al.
30928
30929 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30930
30931 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
30932 grub_uint64_t.
30933 Call the hook with a NUL-terminated filename.
30934 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
30935 grub_cpu_to_be32.
30936
30937 * kern/term.c (cursor_state): New variable.
30938 (grub_term_set_current): Reset the cursor state on a new
30939 terminal.
30940 (grub_setcursor): Rewritten to use CURSOR_STATE.
30941 (grub_getcursor): New function.
30942
30943 * include/grub/term.h (grub_getcursor): New prototype.
30944
30945 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
30946 integers on ARM. Reported by Timothy Baldwin
30947 <T.E.Baldwin99@members.leeds.ac.uk>.
30948
30949 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
30950
30951 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
30952 allocated.
30953 (grub_sfs_dir): Likewise.
30954
30955 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
30956
30957 Add support for the SFS filesystem.
30958
30959 * fs/sfs.c: New file.
30960
30961 * DISTLIST: Added `fs/sfs.c'.
30962
30963 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
30964 (grub_probefs_SOURCES): Likewise.
30965 (grub_emu_SOURCES): Likewise.
30966 (pkgdata_MODULES): Add `sfs.mod'.
30967 (sfs_mod_SOURCES): New variable.
30968 (sfs_mod_CFLAGS): Likewise.
30969 (sfs_mod_LDFLAGS): Likewise.
30970
30971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
30972 (pkgdata_MODULES): Add `sfs.mod'.
30973 (sfs_mod_SOURCES): New variable.
30974 (sfs_mod_CFLAGS): Likewise.
30975
30976 * util/grub-emu.c (main): Call `grub_sfs_init' and
30977 `grub_sfs_fini'.
30978
30979 * include/grub/fs.h (grub_sfs_init): New prototype.
30980 (grub_sfs_fini): Likewise.
30981
30982 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
30983
30984 Add support for the AFFS filesystem.
30985
30986 * fs/affs.c: New file.
30987
30988 * DISTLIST: Added `fs/affs.c'.
30989
30990 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
30991 (grub_probefs_SOURCES): Likewise.
30992 (grub_emu_SOURCES): Likewise.
30993 (pkgdata_MODULES): Add `affs.mod'.
30994 (affs_mod_SOURCES): New variable.
30995 (affs_mod_CFLAGS): Likewise.
30996 (affs_mod_LDFLAGS): Likewise.
30997
30998 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
30999 (pkgdata_MODULES): Add `affs.mod'.
31000 (affs_mod_SOURCES): New variable.
31001 (affs_mod_CFLAGS): Likewise.
31002
31003 * util/grub-emu.c (main): Call `grub_affs_init' and
31004 `grub_affs_fini'.
31005
31006 * include/grub/fs.h (grub_affs_init): New prototype.
31007 (grub_affs_fini): Likewise.
31008
31009 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31010
31011 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
31012
31013 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31014
31015 * configure.ac: Accept `x86_64' as host_cpu. In that case add
31016 `-m32' to CFLAGS.
31017
31018 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
31019 linking.
31020
31021 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
31022 (COMMON_LDFLAGS): New variable.
31023 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
31024 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
31025 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
31026 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
31027 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
31028 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
31029 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
31030 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
31031 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
31032 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
31033 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31034 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31035 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
31036 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
31037 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
31038 variables.
31039 (normal_mod_ASFLAGS): Add `-m32'.
31040
31041 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
31042 (grub_host_size_t, grub_host_ssize_t): New types.
31043 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
31044 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
31045 `GRUB_HOST_SIZEOF_VOID_P'.
31046
31047 * include/grub/kernel.h (struct grub_module_header): Type of
31048 member offset changed to `grub_host_off_t'. Type of member size
31049 changed to `grub_host_size_t'.
31050 (struct grub_module_info): Type of member offset changed to
31051 `grub_host_off_t'. Type of member size changed to
31052 `grub_host_size_t'.
31053
31054 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
31055
31056 Make GRUB's kernel compliant to Multiboot Specification.
31057
31058 * kern/i386/pc/startup.S (multiboot_header): New label.
31059 (multiboot_entry): Likewise.
31060 (multiboot_trampoline): Likewise.
31061
31062 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31063 Increased to 0x4A0.
31064
31065 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
31066 put parentheses after a question mark.
31067 [!GRUB_UTIL] (my_mod): New variable.
31068
31069 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
31070
31071 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
31072
31073 Adds support for the XFS filesystem. Btrees are not supported
31074 yet.
31075
31076 * fs/xfs.c: New file.
31077
31078 * DISTLIST: Added `fs/xfs.c'.
31079
31080 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
31081 (grub_probefs_SOURCES): Likewise.
31082 (grub_emu_SOURCES): Likewise.
31083 (pkgdata_MODULES): Add `xfs.mod'.
31084 (xfs_mod_SOURCES): New variable.
31085 (xfs_mod_CFLAGS): Likewise.
31086
31087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
31088 (pkgdata_MODULES): Add `xfs.mod'.
31089 (xfs_mod_SOURCES): New variable.
31090 (xfs_mod_CFLAGS): Likewise.
31091
31092 * util/grub-emu.c (main): Call `grub_xfs_init' and
31093 `grub_xfs_fini'.
31094
31095 * include/grub/fs.h (grub_xfs_init): New prototype.
31096 (grub_xfs_fini): Likewise.
31097
31098
31099 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
31100
31101 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
31102 color modes, allow greater than 16 colors to be configured as
31103 a default palette.
31104
31105 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31106
31107 * normal/completion.c (complete_arguments): Add the qualifier
31108 const into OPTIONS.
31109
31110 From Omniflux <omniflux+lists@omniflux.com>:
31111 * include/grub/terminfo.h: New file.
31112 * include/grub/tparm.h: Likewise.
31113 * include/grub/i386/pc/serial.h: Likewise.
31114 * term/terminfo.c: Likewise.
31115 * term/tparm.c: Likewise.
31116 * term/i386/pc/serial.c: Likewise.
31117 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
31118 serial.mod.
31119 (terminfo_mod_SOURCES): New variable.
31120 (terminfo_mod_CFLAGS): Likewise.
31121 (serial_mod_SOURCES): Likewise.
31122 (serial_mod_CFLAGS): Likewise.
31123
31124 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
31125
31126 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
31127 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
31128 and kern/powerpc/ieee1275/cmain.c, respectively.
31129
31130 * boot/powerpc/ieee1275/crt0.S: Moved to ...
31131 * kern/powerpc/ieee1275/crt0.S: ... here.
31132
31133 * boot/powerpc/ieee1275/cmain.c: Moved to ...
31134 * kern/powerpc/ieee1275/cmain.c: ... here.
31135
31136 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
31137 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
31138 instead of boot/powerpc/ieee1275/crt0.S and
31139 boot/powerpc/ieee1275/cmain.c, respectively.
31140
31141 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
31142 sectors. It was not used anyway.
31143
31144 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31145
31146 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
31147 `unused parameter' warning.
31148
31149 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31150
31151 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
31152 function.
31153 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
31154 getcharwidth.
31155
31156 2005-08-28 Marco Gerards <metgerards@student.han.nl>
31157
31158 * include/grub/normal.h (enum grub_completion_type): Added
31159 `GRUB_COMPLETION_TYPE_ARGUMENT'.
31160
31161 * normal/cmdline.c (print_completion): Handle
31162 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
31163 * normal/menu_entry.c (store_completion): Likewise.
31164
31165 * normal/completion.c (complete_arguments): New function.
31166 (grub_normal_do_completion): Call `complete_arguments' when the
31167 current words start with a dash.
31168
31169 2005-08-27 Marco Gerards <metgerards@student.han.nl>
31170
31171 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
31172 `gzio.mod' instead of `io.mod').
31173
31174 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
31175
31176 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
31177 (DISTDIRS): Added io and video.
31178 Rewrite the search routine to make an output consistently.
31179
31180 * DISTLIST: Added conf/sparc64-ieee1275.mk,
31181 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
31182 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
31183 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
31184 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
31185 util/powerpc/ieee1275/misc.c.
31186
31187 * include/grub/gzio.h: New file.
31188 * io/gzio.c: Likewise.
31189
31190 * kern/file.c (grub_file_close): Call grub_device_close only if
31191 FILE->DEVICE is not NULL.
31192
31193 * include/grub/mm.h [!NULL] (NULL): New macro.
31194
31195 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
31196
31197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
31198 (pkgdata_MODULES): Added gzio.mod.
31199 (gzio_mod_SOURCES): New variable.
31200 (gzio_mod_CFLAGS): Likewise.
31201
31202 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
31203 (pkgdata_MODULES): Added gzio.mod.
31204 (gzio_mod_SOURCES): New variable.
31205 (gzio_mod_CFLAGS): Likewise.
31206
31207 * commands/cat.c: Include grub/gzio.h.
31208 (grub_cmd_cat): Use grub_gzfile_open instead of
31209 grub_file_open.
31210
31211 * commands/cmp.c: Include grub/gzio.h.
31212 (grub_cmd_cmp): Use grub_gzfile_open instead of
31213 grub_file_open.
31214
31215 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
31216 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
31217 grub_file_open.
31218 (grub_rescue_cmd_module): Likewise.
31219
31220 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31221
31222 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
31223 kern/sparc64/ieee1275/init.c because it contains _start.
31224 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
31225
31226 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31227
31228 * configure.ac: Add support for sparc64 host with ieee1275
31229 firmware.
31230 * configure: Generated from configure.ac.
31231 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
31232 instead of int.
31233 (grub_ofdisk_read): Likewise.
31234 (grub_ofdisk_open): Use %p to print pointer values, and cast the
31235 pointers as (void *) to remove a warning.
31236 (grub_ofdisk_close): Likewise.
31237 (grub_ofdisk_read): Likewise.
31238 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
31239 returns, so make it return void to remove a warning.
31240 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
31241 Corresponding prototype change.
31242 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
31243 values, and cast the pointers as (void *) to remove a warning.
31244 (grub_mm_dump): Likewise.
31245 * conf/sparc64-ieee1275.mk: New file.
31246 * conf/sparc64-ieee1275.rmk: Likewise.
31247 * include/grub/sparc64/setjmp.h: Likewise.
31248 * include/grub/sparc64/types.h: Likewise.
31249 * include/grub/sparc64/ieee1275/console.h: Likewise.
31250 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31251 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31252 * include/grub/sparc64/ieee1275/time.h: Likewise.
31253 * kern/sparc64/cache.c: Likewise.
31254 * kern/sparc64/dl.c: Likewise.
31255 * kern/sparc64/ieee1275/init.c: Likewise.
31256 * kern/sparc64/ieee1275/openfw.c: Likewise.
31257
31258 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31259
31260 * util/console.c (grub_ncurses_putchar): If C is greater than
31261 0x7f, set C to a question mark.
31262 (grub_ncurses_getcharwidth): New function.
31263 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
31264 getcharwidth.
31265
31266 * normal/menu.c (print_entry): Made aware of Unicode. First,
31267 convert TITLE to UCS-4, and predict the cursor position by
31268 grub_getcharwidth.
31269
31270 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
31271 const to SRC.
31272 * kern/misc.c (grub_utf16_to_utf8): Likewise.
31273
31274 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31275
31276 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
31277 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31278 grub_strcat.
31279
31280 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
31281 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31282 grub_strcpy and grub_strlen. Take it into account that a space
31283 character is inserted as a delimiter.
31284
31285 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31286
31287 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
31288 invalid magic in the error.
31289
31290 * commands/search.c: New file.
31291
31292 * util/grub-emu.c (main): Call grub_search_init and
31293 grub_search_fini.
31294
31295 * kern/rescue.c (grub_rescue_print_disks): Removed.
31296 (grub_rescue_print_devices): New function.
31297 (grub_rescue_cmd_ls): Use grub_device_iterate with
31298 grub_rescue_print_devices instead of grub_disk_dev_iterate with
31299 grub_rescue_print_disks.
31300
31301 * kern/partition.c (grub_partition_iterate): Return the result of
31302 PARTMAP->ITERATE instead of GRUB_ERRNO.
31303
31304 * kern/device.c: Include grub/partition.h.
31305 (grub_device_iterate): New function.
31306
31307 * include/grub/partition.h (grub_partition_iterate): Return int
31308 instead of grub_err_t.
31309
31310 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
31311 prototype.
31312 [GRUB_UTIL] (grub_search_fini): Likewise.
31313
31314 * include/grub/device.h (grub_device_iterate): New prototype.
31315
31316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31317 commands/search.c.
31318 (pkgdata_MODULES): Added search.mod.
31319 (search_mod_SOURCES): New variable.
31320 (search_mod_CFLAGS): Likewise.
31321
31322 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
31323 (pkgdata_MODULES): Added search.mod.
31324 (search_mod_SOURCES): New variable.
31325 (search_mod_CFLAGS): Likewise.
31326
31327 * commands/ls.c (grub_ls_list_disks): Renamed to ...
31328 (grub_ls_list_devices): ... this, and use grub_device_iterate.
31329 All callers changed.
31330
31331 * DISTLIST: Added commands/search.c.
31332
31333 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31334
31335 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
31336 conversion.
31337 (grub_getcharwidth): New function.
31338
31339 * kern/misc.c (grub_utf8_to_ucs4): New function.
31340
31341 * include/grub/term.h (struct grub_term): Added a new member
31342 "getcharwidth".
31343 (grub_getcharwidth): New prototype.
31344
31345 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
31346
31347 * term/i386/pc/console.c (map_char): New function. Segregated from
31348 grub_console_putchar.
31349 (grub_console_putchar): Use map_char.
31350 (grub_console_getcharwidth): New function.
31351 (grub_console_term): Specified grub_console_getcharwidth as
31352 getcharwidth.
31353
31354 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
31355 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
31356
31357 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
31358 GRUB_ERRNO.
31359 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
31360 on grub_strtoul completely.
31361 (write_char): Declare local variables in the beginning of the
31362 function.
31363 (grub_vesafb_getcharwidth): New function.
31364 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
31365 getcharwidth.
31366
31367 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
31368
31369 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
31370 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
31371 commands/i386/pc/vbetest.c.
31372
31373 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
31374 call grub_vbe_get_controller_info again, because the returned
31375 information is volatile.
31376 (grub_vbe_set_video_mode): Mostly rewritten.
31377 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
31378 grub_vbe_status_t correctly.
31379 (grub_vbe_get_video_mode_info): Likewise.
31380 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
31381 several if statements.
31382
31383 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
31384 * commands/i386/pc/vbeinfo.c: ... this.
31385
31386 * commands/i386/pc/vbe_test.c: Renamed to ...
31387 * commands/i386/pc/vbetest.c: ... this.
31388
31389 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
31390 ...
31391 (grub_cmd_vbeinfo): ... this. Save video modes before
31392 iterating. Skip a video mode, if it is not available, not enough
31393 information is given or it is monochrome. Show the memory
31394 model. Leave the interpretation of MODEVAR to grub_strtoul
31395 completely.
31396 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
31397 (GRUB_MOD_FINI): Likewise.
31398
31399 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
31400 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
31401 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
31402 duplicated grub_env_get. Leave the interpretation of MODEVAR to
31403 grub_strtoul completely.
31404 (real2pm): Removed.
31405 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
31406 (GRUB_MOD_FINI): Likewise.
31407
31408 * normal/misc.c: Include grub/mm.h.
31409
31410 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
31411 vbe_list_modes with vbetest.mod and vbeinfo.mod.
31412 (vbe_list_modes_mod_SOURCES): Removed.
31413 (vbe_list_modes_mod_CFLAGS): Likewise.
31414 (vbe_test_mod_SOURCES): Likewise.
31415 (vbe_test_mod_CFLAGS): Likewise.
31416 (vbeinfo_mod_SOURCES): New variable.
31417 (vbeinfo_mod_CFLAGS): Likewise.
31418 (vbetest_mod_SOURCES): Likewise.
31419 (vbetest_mod_CFLAGS): Likewise.
31420
31421 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
31422
31423 * normal/misc.c: New file.
31424
31425 * DISTLIST: Added normal/misc.c.
31426
31427 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
31428 DISK to HOOK. Call HOOK with DISK.
31429 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31430 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31431 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31432
31433 * normal/menu_entry.c (struct screen): Added a new member
31434 "completion_shown".
31435 (completion_buffer): New global variable.
31436 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
31437 (store_completion): New function.
31438 (complete): Likewise.
31439 (clear_completions): Likewise.
31440 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
31441 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
31442 a tab, call complete.
31443
31444 * normal/completion.c (disk_dev): Removed.
31445 (print_simple_completion): Likewise.
31446 (print_partition_completion): Likewise.
31447 (print_func): New global variable.
31448 (add_completion): Do not take the arguments WHAT or PRINT any
31449 longer. Added a new argument TYPE. Instead of printing directly,
31450 call PRINT_FUNC if not NULL.
31451 All callers changed.
31452 (complete_device): Use a local variable DEV instead of
31453 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
31454 (grub_normal_do_completion): Take a new argument HOOK. Do not
31455 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
31456 empty string, return NULL instead.
31457 All callers changed.
31458
31459 * normal/cmdline.c (print_completion): New function.
31460
31461 * kern/partition.c (grub_partition_iterate): Add an argument DISK
31462 to HOOK.
31463 All callers changed.
31464
31465 * kern/disk.c (grub_print_partinfo): Removed.
31466
31467 * include/grub/partition.h (struct grub_partition_map): Add a new
31468 argument DISK into HOOK of ITERATE.
31469 (grub_partition_iterate): Add a new argument DISK to HOOK.
31470
31471 * include/grub/normal.h (enum grub_completion_type): New enum.
31472 (grub_completion_type_t): New type.
31473 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
31474 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
31475 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
31476 (GRUB_COMPLETION_TYPE_FILE): Likewise.
31477 (grub_normal_do_completion): Added a new argument HOOK.
31478 (grub_normal_print_device_info): New prototype.
31479
31480 * include/grub/disk.h (grub_print_partinfo): Removed.
31481
31482 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
31483 (normal_mod_SOURCES): Likewise.
31484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31485 (normal_mod_SOURCES): Likewise.
31486
31487 * commands/ls.c (grub_ls_list_disks): Use
31488 grub_normal_print_device_info instead of grub_print_partinfo. Free
31489 PNAME.
31490 (grub_ls_list_files): Use grub_normal_print_device_info instead of
31491 duplicating the code.
31492
31493 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31494
31495 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
31496 follow GCS more precisely.
31497 * commands/i386/pc/vbe_test.c: Likewise.
31498 * include/grub/i386/pc/vbe.h: Likewise.
31499 * term/i386/pc/vesafb.c: Likewise.
31500 * video/i386/pc/vbe.c: Likewise.
31501
31502 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31503
31504 * DISTLIST: Added term/i386/pc/vesafb.c
31505 DISTLIST: Added video/i386/pc/vbe.c
31506 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
31507 DISTLIST: Added commands/i386/pc/vbe_test.c.
31508 * commands/i386/pc/vbe_list_modes.c: New file.
31509 * commands/i386/pc/vbe_test.c: Likewise.
31510 * term/i386/pc/vesafb.c: Likewise.
31511 * video/i386/pc/vbe.c: Likewise.
31512 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
31513 (grub_vbe_probe) Added prototype.
31514 (grub_vbe_set_video_mode) Likewise.
31515 (grub_vbe_get_video_mode) Likewise.
31516 (grub_vbe_get_video_mode_info) Likewise.
31517 (grub_vbe_set_pixel_rgb) Likewise.
31518 (grub_vbe_set_pixel_index) Likewise.
31519 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
31520 (pkgdata_MODULES): Added vesafb.mod.
31521 (pkgdata_MODULES): Added vbe_list_modes.mod.
31522 (pkgdata_MODULES): Added vbe_test.mod.
31523 (vbe_mod_SOURCES): Added.
31524 (vbe_mod_CFLAGS): Likewise.
31525 (vesafb_mod_SOURCES): Likewise.
31526 (vesafb_mod_CFLAGS): Likewise.
31527 (vbe_list_modes_mod_SOURCES): Likewise.
31528 (vbe_list_modes_mod_CFLAGS): Likewise.
31529 (vbe_test_mod_SOURCES): Likewise.
31530 (vbe_test_mod_CFLAGS): Likewise.
31531
31532 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
31533
31534 * normal/command.c (grub_command_execute): If INTERACTIVE is
31535 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
31536 CMDLINE. Disable the pager if INTERACTIVE is true.
31537 All callers are changed.
31538
31539 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
31540 before reading a config file.
31541 * normal/main.c (read_config_file): Even if a command is not
31542 found, register it if it is within an entry.
31543
31544 * util/grub-emu.c: Include sys/types.h and unistd.h.
31545 (options): Added --hold.
31546 (struct arguments): Added a new member "hold".
31547 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
31548 missing.
31549 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
31550 cleared by a debugger, if it is not zero.
31551
31552 * include/grub/normal.h (grub_command_execute): Add an argument
31553 INTERACTIVE.
31554
31555 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
31556
31557 * DISTLIST: Added include/grub/i386/pc/vbe.h.
31558
31559 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
31560
31561 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
31562 program with another one, because the old one didn't detect a bug
31563 in gcc-3.4. Always use regparm 2, because the new test is still
31564 not enough for gcc-4.0. Someone must investigate a simple test
31565 case which detects a bug in gcc-4.0.
31566
31567 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
31568
31569 * DISTLIST: Added normal/completion.c.
31570
31571 * normal/completion.c: New file.
31572
31573 * term/i386/pc/console.c (grub_console_getwh): New function.
31574 (grub_console_term): Assign grub_console_getwh to getwh.
31575
31576 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
31577 function is defined in normal/completion.c as
31578 grub_normal_do_completion.
31579 (grub_cmdline_get): Use grub_normal_do_completion instead of
31580 grub_tab_complete.
31581
31582 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
31583 returns non-zero, otherwise return 0.
31584 (grub_partition_iterate): First, probe the partition map. Then,
31585 call ITERATE only for this partition map.
31586
31587 * kern/misc.c (grub_strncmp): Rewritten.
31588
31589 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
31590 returns non-zero. Otherwise return 0.
31591
31592 * include/grub/partition.h (grub_partition_map_iterate): Return
31593 int instead of void.
31594
31595 * include/grub/normal.h (grub_normal_do_completion): New prototype.
31596
31597 * include/grub/misc.h (grub_strncmp): Change the type of N to
31598 grub_size_t.
31599
31600 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
31601 of void.
31602
31603 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
31604 unsigned explicitly before comparing it with I.
31605
31606 * kern/main.c (grub_env_write_root): Add the attribute unused into
31607 VAR.
31608
31609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31610 normal/completion.c.
31611 (normal_mod_SOURCES): Likewise.
31612 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31613 (normal_mod_SOURCES): Likewise.
31614
31615 * normal/command.c (grub_iterate_commands): If ITERATE returns
31616 non-zero, return one immediately.
31617
31618 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
31619
31620 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
31621 * kern/i386/pc/startup.S: Updated Global Descriptor table's
31622 descriptions.
31623 (grub_vbe_get_controller_info): New function.
31624 (grub_vbe_get_mode_info): Likewise.
31625 (grub_vbe_set_mode): Likewise.
31626 (grub_vbe_get_mode): Likewise.
31627 (grub_vbe_set_memory_window): Likewise.
31628 (grub_vbe_get_memory_window): Likewise.
31629 (grub_vbe_set_scanline_length): Likewise.
31630 (grub_vbe_get_scanline_length): Likewise.
31631 (grub_vbe_set_display_start): Likewise.
31632 (grub_vbe_get_display_start): Likewise.
31633 (grub_vbe_set_palette_data): Likewise.
31634 * include/grub/i386/pc/vbe.h: New file.
31635
31636 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31637
31638 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
31639 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
31640 * DISTLIST: Likewise.
31641 * kern/ieee1275/of.c: Moved to ...
31642 * kern/ieee1275/ieee1275.c: ... here.
31643
31644 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31645
31646 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
31647 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
31648 Pass 0 as `end' parameter to grub_strtoul().
31649
31650 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31651
31652 * include/grub/powerpc/ieee1275/console.h: Do not include
31653 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
31654 ifdef.
31655 (grub_console_cur_color): Remove i386-specific prototype.
31656 (grub_console_real_putchar): Likewise.
31657 (grub_console_checkkey): Likewise.
31658 (grub_console_getkey): Likewise.
31659 (grub_console_getxy): Likewise.
31660 (grub_console_gotoxy): Likewise.
31661 (grub_console_cls): Likewise.
31662 (grub_console_setcursor): Likewise.
31663 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
31664 Include <grub/machine/console.h>.
31665 * term/ieee1275/ofconsole.c: Likewise.
31666
31667 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
31668
31669 * Makefile.in (LIBLZO): New variable.
31670
31671 * configure.ac: Check for LZO version 2.
31672
31673 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
31674 lzo/lzo1x.h instead of lzo1x.h.
31675
31676 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
31677 of -llzo.
31678
31679 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
31680 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
31681
31682 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
31683 copying the data from PARTITION to P.
31684
31685 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31686
31687 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
31688 negative, unload the module.
31689
31690 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
31691 map is "pc_partition_map" but not "pc".
31692 (usage): Fix the description. The options are --boot-image and
31693 --core-image but not --boot-file or --core-file.
31694 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
31695 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
31696 DEFAULT_DIRECTORY.
31697
31698 * util/i386/pc/grub-install.in: Do not specify --boot-file or
31699 --core-file. Specify INSTALL_DEVICE as an argument.
31700
31701 * util/console.c: Include config.h.
31702 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
31703 [HAVE_NCURSES_H]: Include ncurses.h.
31704 [HAVE_CURSES_H]: Include curses.h.
31705 [!A_NORMAL] (A_NORMAL): Defined as zero.
31706 [!A_STANDOUT] (A_STANDOUT): Likewise.
31707
31708 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
31709 -lncurses.
31710 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
31711
31712 * configure.ac: Check for curses libraries and headers.
31713
31714 * Makefile.in (LIBCURSES): New variable.
31715
31716 * genmk.rb (Script::rule): Set the executable bits.
31717
31718 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
31719 name of the PC partition map is "pc_partition_map" but not "pc".
31720
31721 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31722
31723 * util/i386/pc/grub-install.in (grub_probefs): New variable.
31724 (modules): Likewise.
31725 (usage): Added descriptions for --modules and --grub-probefs.
31726 Handle --modules and --grub-probefs. Save the arguments in MODULES
31727 and GRUB_PROBEFS, respectively.
31728 Auto-detect a filesystem module against GRUBDIR. If the result is
31729 empty and modules are not specified explicitly, abort the
31730 installation. Add the result to MODULES.
31731
31732 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
31733 disk/powerpc/ieee1275/ofdisk.c,
31734 include/grub/powerpc/ieee1275/init.h and
31735 term/powerpc/ieee1275/ofconsole.c.
31736 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
31737 term/ieee1275/ofconsole.c.
31738
31739 * include/grub/powerpc/ieee1275/console.h: Resurrected.
31740
31741 * COPYING: Upgraded to the latest version. Only the address of the
31742 FSF office has changed.
31743
31744 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31745
31746 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
31747 kern/ieee1275.c with kern/ieee1275/of.c.
31748
31749 * kern/ieee1275.c: Moved to ...
31750 * kern/ieee1275/of.c: ... here.
31751
31752 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
31753
31754 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
31755 readability.
31756
31757 * config.guess: Updated to the latest version from gnulib.
31758 * config.sub: Likewise.
31759 * install.sh: Likewise.
31760 * mkinstalldirs: Likewise.
31761
31762 * include/grub/console.h: Removed. This file is arch-specific. Do
31763 not put this in include/grub.
31764
31765 * include/grub/i386/pc/console.h: Resurrected.
31766
31767 * util/console.c: Include grub/machine/console.h instead of
31768 grub/console.h.
31769 * util/grub-emu.c: Likewise.
31770
31771 2005-08-04 Marco Gerards <metgerards@student.han.nl>
31772
31773 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
31774 hardcoded value.
31775
31776 From Vincent Pelletier <subdino2004@yahoo.fr>
31777 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
31778 Redefined to use grub_getwh.
31779 (grub_term): New member named getwh.
31780 (grub_getwh): New prototype.
31781 * kern/term.c (grub_getwh): New function.
31782 * term/i386/pc/console.c (grub_console_getwh): New function.
31783 (grub_console_term): New member `getwh'.
31784 * term/i386/pc/vga.c (grub_vga_getwh): New function.
31785 (grub_vga_term): New member `getwh'.
31786 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
31787 grub_ssize_t.
31788 (grub_ofconsole_getw): New function.
31789 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
31790 (grub_ofconsole_term): New field named getwh and new initial
31791 value.
31792
31793 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
31794
31795 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
31796 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
31797 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
31798 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
31799 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
31800 of <grub/machine/ieee1275.h>.
31801 * commands/ieee1275/reboot.c: Likewise.
31802 * boot/powerpc/ieee1275/ieee1275.c: Move ...
31803 * kern/ieee1275.c: ... to here. All users updated. Change all
31804 parameter structs to use new type `grub_ieee1275_cell_t'.
31805 * term/powerpc/ieee1275/ofconsole.c: Move ...
31806 * term/ieee1275/ofconsole.c: ... to here. All users updated.
31807 * disk/powerpc/ieee1275/ofdisk.c: Move ...
31808 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
31809 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
31810 to return int.
31811 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
31812 Remove unused prototypes. All users updated.
31813 * include/grub/powerpc/ieee1275/console.h: Removed.
31814 * include/grub/powerpc/ieee1275/ieee1275.h: Define
31815 `grub_ieee1275_cell_t'.
31816 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
31817 Cast comparisons with -1 to the correct type.
31818 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
31819 type to match `grub_ieee1275_entry_fn'.
31820
31821 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
31822
31823 * DISTLIST: Added util/i386/pc/grub-probefs.c.
31824
31825 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
31826 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
31827 partmap/sun.c.
31828 (grub_probefs_SOURCES): New variable.
31829
31830 * util/i386/pc/grub-probefs.c: New file.
31831
31832 * util/i386/pc/grub-setup.c (main): Call
31833 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
31834 grub_hfs_init and grub_jfs_init to initialize the system. Call
31835 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
31836 grub_pc_partition_map_fini to finish the system.
31837
31838 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
31839
31840 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
31841 function.
31842 (grub_multiboot_load_elf32): Likewise.
31843 (grub_multiboot_is_elf64): Likewise.
31844 (grub_multiboot_load_elf64): Likewise.
31845 (grub_multiboot_load_elf): Likewise.
31846 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
31847 an ELF32 or ELF64 file.
31848 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
31849
31850 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
31851 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
31852 NULL before calling FS->LABEL.
31853 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
31854 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
31855 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
31856 before calling FS->LABEL.
31857
31858 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
31859
31860 * util/i386/pc/grub-install.in (datadir): New variable.
31861 (libdir): Removed.
31862 (pkgdatadir): New variable.
31863 (pkglibdir): Removed.
31864
31865 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
31866
31867 * DISTLIST: Added util/i386/pc/grub-install.in.
31868
31869 * util/i386/pc/grub-install.in: New file.
31870
31871 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
31872 (grub_install_SOURCES): Likewise.
31873
31874 * genmk.rb: Added support for scripts.
31875 (Script): New class.
31876 (scripts): New variable.
31877
31878 * Makefile.in (install-local): Install sbin_SCRIPTS by
31879 INSTALL_SCRIPT.
31880 (uninstall): Remove sbin_SCRIPTS.
31881
31882 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
31883 device, try to get a GRUB device by
31884 grub_util_biosdisk_get_grub_dev.
31885 Free DEST_DEV.
31886
31887 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
31888 description for --device-map.
31889
31890 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
31891
31892 Change the semantics of variable hooks. They now return strings
31893 instead of error values.
31894
31895 * util/i386/pc/grub-setup.c: Include grub/env.h.
31896 (setup): Use grub_device_set_root instead of grub_env_set.
31897
31898 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
31899 grub_env_get instead of grub_device_set_root and
31900 grub_device_get_root, respectively.
31901
31902 * kern/main.c (grub_env_write_root): New function.
31903 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
31904 grub_env_set instead of grub_device_set_root.
31905
31906 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
31907 many variables.
31908 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
31909 rather than calling ENV->WRITE_HOOK afterwards.
31910 (grub_env_get): Return the result of ENV->READ_HOOK rather than
31911 passing a pointer of a pointer.
31912 (grub_register_variable_hook): Change the types of "read_hook" and
31913 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
31914 respectively.
31915 Allocate the default empty string on the heap, because this string
31916 may be freed later.
31917
31918 * kern/device.c: Include grub/env.h.
31919 (grub_device_set_root): Removed.
31920 (grub_device_get_root): Likewise.
31921 (grub_device_open): Use grub_env_get instead of
31922 grub_device_get_root.
31923
31924 * include/grub/env.h (grub_env_read_hook_t): New type.
31925 (grub_env_write_hook_t): Likewise.
31926 (grub_env_var): Change the types of "read_hook" and "write_hook"
31927 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
31928 (grub_register_variable_hook): Likewise.
31929
31930 * include/grub/device.h (grub_device_set_root): Removed.
31931 (grub_device_set_root): Likewise.
31932
31933 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
31934 make sure that DIRNAME terminates with '/', so that
31935 grub_fat_find_dir will fail if PATH is not a directory.
31936
31937 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
31938 from DIRNAME.
31939 Use the qualifier auto for print_files and print_files_long.
31940 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
31941 as a regular file.
31942 Put a newline only if there is no error.
31943 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
31944 used.
31945
31946 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
31947
31948 * kern/partition.c (grub_partition_probe): Initialize PART to
31949 NULL. Otherwise, when no partition map is registered, this returns
31950 a garbage.
31951
31952 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
31953
31954 * partmap/apple.c (apple_partition_map_iterate): Check if POS
31955 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
31956 valid.
31957
31958 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
31959
31960 * commands/ls.c (grub_ls_list_disks): Print the filesystem
31961 information on each device, if it does not have partitions. Print
31962 "Device" instead of "Disk", because this function is not specific
31963 to disk devices.
31964
31965 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
31966 static to ensure that it is put on the memory rather than a
31967 register.
31968
31969 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
31970
31971 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
31972 (grub_cat_init): Likewise.
31973 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
31974 (options): Likewise.
31975 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31976 (grub_configfile_init): Likewise.
31977 * font/manager.c (GRUB_MOD_INIT): Likewise.
31978 * commands/help.c (GRUB_MOD_INIT): Likewise.
31979 (grub_help_init): Likewise.
31980 * normal/command.c (grub_command_init): Likewise.
31981 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
31982 * disk/loopback.c (grub_loop_init): Likewise.
31983 (GRUB_MOD_INIT): Likewise.
31984 * commands/ls.c (grub_ls_init): Likewise.
31985 (GRUB_MOD_INIT): Likewise.
31986 (options): Likewise.
31987 * commands/boot.c (grub_boot_init): Likewise.
31988 (GRUB_MOD_INIT): Likewise.
31989 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
31990 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
31991 (GRUB_MOD_INIT): Likewise.
31992 * commands/cmp.c (grub_cmp_init): Likewise.
31993 (GRUB_MOD_INIT): Likewise.
31994
31995 * normal/arg.c: Use <> instead of "" to include header files.
31996 (SHORT_ARG_HELP): New macro.
31997 (SHORT_ARG_USAGE): Likewise.
31998 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
31999 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
32000 descriptions.
32001 (find_short): Check if C is 'h' or 'u' explicitly.
32002 (grub_arg_show_help): Use space characters instead of tabs. Treat
32003 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
32004 are shown with --help and --usage only if they are not used for
32005 the command itself.
32006 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
32007 'h' and 'u'.
32008
32009 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
32010 const into "longarg". Change the type of "shortarg" to int.
32011
32012 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32013
32014 * boot/i386/pc/boot.S (boot_drive_check): New label.
32015
32016 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
32017 macro.
32018
32019 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
32020 which do not pass a boot drive correctly. Copied from GRUB Legacy.
32021
32022 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32023
32024 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
32025 When turning off Gate A20, skip the check and return immediately,
32026 because this is not fatal usually.
32027
32028 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32029
32030 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
32031 be 0x7C00 instead of 0x8000.
32032
32033 * boot/i386/pc/pxeboot.S: Rewritten.
32034
32035 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
32036 EXT_C.
32037 (gate_a20_check_state): Read a byte from 0x108000. Invert the
32038 result.
32039
32040 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
32041
32042 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
32043 robustness. This routine now supports a BIOS call and System
32044 Control Port A to modify the gate A20.
32045
32046 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32047 Increased to 0x440.
32048
32049 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
32050
32051 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
32052 device path and resulting ihandle.
32053 (grub_ofdisk_close): dprintf the ihandle being closed.
32054 (grub_ofdisk_read): dprintf function parameters.
32055 * kern/mm.c (grub_mm_init_region): Likewise.
32056 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
32057 (grub_linux_boot): dprintf the Linux entry point, initrd address and
32058 size, and boot arguments.
32059 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
32060 before loading into memory.
32061 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
32062 before loading into memory.
32063
32064 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
32065
32066 * kern/mm.c: Added much documentation.
32067 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
32068 8, set to 5 instead of 8.
32069
32070 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32071
32072 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
32073
32074 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
32075 (grub_mkdevicemap_SOURCES): New variable.
32076
32077 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
32078 lib/device.c of GRUB Legacy.
32079
32080 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32081
32082 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
32083 instead of PATH is NULL.
32084
32085 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
32086
32087 * commands/cmp.c (BUFFER_SIZE): New macro.
32088 (grub_cmd_cmp): Close the right file at the right time. Compare
32089 only data just read. Don't report files of different size as
32090 identical. Dynamically allocate buffers. Move variable
32091 declarations at the beginning of function.
32092
32093 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
32094
32095 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
32096 reverse.
32097
32098 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
32099
32100 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
32101 when backspace is pressed at beginning of line.
32102
32103 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
32104
32105 * DISTLIST: Added genfslist.sh.
32106
32107 * normal/main.c (fs_module_list): New variable.
32108 (autoload_fs_module): New function.
32109 (read_fs_list): Likewise.
32110 (grub_normal_execute): Call read_fs_list.
32111
32112 * kern/fs.c (grub_fs_autoload_hook): New variable.
32113 (grub_fs_probe): Added support for auto-loading.
32114
32115 * include/grub/normal.h (struct grub_fs_module_list): New struct.
32116 (grub_fs_module_list_t): New type.
32117
32118 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
32119 (grub_fs_autoload_hook): New prototype.
32120
32121 * genfslist.sh: New file.
32122
32123 * genmk.rb: Added a rule to generate a filesystem list.
32124
32125 2005-06-30 Marco Gerards <metgerards@student.han.nl>
32126
32127 * configure.ac: Fix the test for cross-compiling.
32128
32129 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
32130 define GRUB_UTIL anymore.
32131
32132 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
32133 so this function works on other systems than just big endian.
32134 (load_modules): Likewise.
32135 (add_segments): Likewise.
32136
32137 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
32138
32139 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
32140 contains `l' modifier, get a long from va_arg().
32141
32142 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
32143
32144 * kern/mm.c (grub_free): If the next free block which is being
32145 merged is the first free block, set the first block to the block
32146 being freed.
32147 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
32148
32149 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32150
32151 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
32152 `grub_ieee1275_chosen'.
32153
32154 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32155
32156 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
32157 (grub_ieee1275_chosen): New variable.
32158 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
32159 `chosen'.
32160 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
32161 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32162 Rename first argument to `phandle' for consistency.
32163 (grub_ieee1275_get_property_length): Likewise.
32164 (grub_ieee1275_next_property): Likewise. Change type of first argument
32165 to grub_ieee1275_phandle_t.
32166 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
32167 Move export next to declaration.
32168 (grub_ieee1275_chosen): New variable.
32169 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
32170 Correct cosmetic typo.
32171 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
32172 `grub_ieee1275_chosen'.
32173 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
32174 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
32175 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
32176 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
32177 `grub_ieee1275_chosen'.
32178
32179 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
32180
32181 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
32182 /chosen/bootargs.
32183 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
32184 /chosen/bootargs as "variable=value" pairs.
32185
32186 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
32187
32188 * include/grub/misc.h (grub_dprintf): New macro.
32189 (grub_real_dprintf): New prototype.
32190 (grub_strword): Likewise.
32191 (grub_iswordseparator): Likewise.
32192 * kern/misc.c (grub_real_dprintf): New function.
32193 (grub_strword): Likewise.
32194 (grub_iswordseparator): Likewise.
32195
32196 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
32197
32198 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
32199 (roundup): Remove macro.
32200 (grub_ieee1275_flags): Make static.
32201 (grub_ieee1275_realmode): Remove.
32202 (grub_ieee1275_test_flag): New function.
32203 (grub_ieee1275_set_flag): Likewise.
32204 (find_options): Rename to `grub_ieee1275_find_options'; update
32205 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
32206 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
32207 (cmain): New prototype.
32208 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
32209 `grub_ieee1275_flags' directly.
32210 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
32211 machine/biosdisk.h.
32212 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
32213 Don't include grub/machine/init.h.
32214 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
32215 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32216 Remove prototype.
32217 (grub_ieee1275_realmode): Likewise.
32218 (grub_ieee1275_flag): New enum.
32219 (grub_ieee1275_test_flag): New prototype.
32220 (grub_ieee1275_set_flag): New prototype.
32221 * include/grub/powerpc/ieee1275/init.h: Remove file.
32222 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
32223 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
32224 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
32225 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
32226 comment.
32227 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
32228 `grub_ieee1275_test_flag'.
32229 (grub_ieee1275_encode_devname): Likewise.
32230
32231 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
32232
32233 * include/grub/powerpc/ieee1275/ieee1275.h
32234 (grub_ieee1275_encode_devname): New prototype.
32235 (grub_ieee1275_get_filename): Likewise.
32236 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
32237 function.
32238 (grub_set_prefix): Likewise.
32239 (grub_machine_init): Call grub_set_prefix.
32240 * kern/powerpc/ieee1275/openfw.c: Fix typos.
32241 (grub_parse_type): New enum.
32242 (grub_ieee1275_get_devargs): New function.
32243 (grub_ieee1275_get_devname): Likewise.
32244 (grub_ieee1275_parse_args): Likewise.
32245 (grub_ieee1275_get_filename): Likewise.
32246 (grub_ieee1275_encode_devname): Likewise.
32247
32248 2005-03-30 Marco Gerards <metgerards@student.han.nl>
32249
32250 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
32251 `grub_loader_unset'.
32252
32253 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
32254
32255 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
32256 instead of grub_ieee1275_interpret.
32257 (grub_halt_init): New function.
32258 (grub_halt_fini): Likewise.
32259 (GRUB_MOD_INIT): Correct message grammar.
32260 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
32261 instead of grub_ieee1275_interpret.
32262 (grub_reboot_init): New function.
32263 (grub_reboot_fini): Likewise.
32264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
32265 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
32266 util/i386/pc/misc.c with commands/ieee1275/halt.c,
32267 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
32268 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
32269 function.
32270 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
32271 Add prototype.
32272 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
32273 prototype.
32274 (grub_halt): Likewise.
32275 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
32276 (cmain): Remove __attribute__((unused)).
32277 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
32278 (grub_heap_len): Likewise.
32279 (grub_machine_fini): New function.
32280 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
32281 (grub_halt): Likewise.
32282 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
32283 function.
32284 * util/powerpc/ieee1275/misc.c: New file.
32285
32286 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32287
32288 * DISTLIST: New file.
32289 * gendistlist.sh: Likewise.
32290
32291 * Makefile.in (COMMON_DISTFILES): Removed.
32292 (BOOT_DISTFILES): Likewise.
32293 (CONF_DISTFILES): Likewise.
32294 (DISK_DISTFILES): Likewise.
32295 (FS_DISTFILES): Likewise.
32296 (INCLUDE_DISTFILES): Likewise.
32297 (KERN_DISTFILES): Likewise.
32298 (LOADER_DISTFILES): Likewise.
32299 (TERM_DISTFILES): Likewise.
32300 (UTIL_DISTFILES): Likewise.
32301 (DISTFILES): Likewise.
32302 (uninstall): Uninstall files in $(pkgdata_DATA).
32303 (DISTLIST): New target.
32304 (distdir): Use the contents of the file DISTLIST to get a list of
32305 distributed files.
32306
32307 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32308
32309 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
32310 descriptor. This is ported from GRUB Legacy.
32311
32312 * gencmdlist.sh: Added an extra semicolon to make it work with
32313 old sed versions. Reported by Robert Bihlmeyer
32314 <robbe@orcus.priv.at>.
32315
32316 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
32317
32318 Automatic loading of commands is supported.
32319
32320 * normal/main.c (read_command_list): New function.
32321 (grub_normal_execute): Call read_command_list.
32322
32323 * normal/command.c (grub_register_command): Return zero or CMD.
32324 Allocate CMD->NAME from the heap.
32325 Initialize CMD->MODULE_NAME to zero.
32326 Find the same name as well. If the same command is found and it is
32327 a dummy command, overwrite members. If it is not a dummy command,
32328 return zero.
32329 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
32330 (grub_command_find): If a dummy command is found, load a module
32331 and retry to find a command only once.
32332
32333 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
32334 make sure that each command is loaded.
32335
32336 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
32337 macro.
32338 (struct grub_command): Remove const from the member `name'.
32339 Add a new member `module_name'.
32340 (grub_register_command): Return grub_command_t.
32341
32342 * commands/help.c (grub_cmd_help): Call grub_command_find to make
32343 sure that each command is loaded.
32344
32345 * genmk.rb (PModule::rule): Specify a module name without the
32346 suffix ".mod" to gencmdlist.sh.
32347
32348 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32349
32350 * gencmdlist.sh: New file.
32351
32352 * genmk.rb (PModule::rule): Generate a rule for a command list.
32353 Clean command.lst.
32354 Generate command.lst from $(COMMANDFILES).
32355
32356 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
32357 (DATA): Added $(pkgdata_DATA).
32358 (install-local): Install files in $(pkgdata_DATA).
32359
32360 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32361
32362 * term/i386/pc/vga.c (debug_command): Removed.
32363 (GRUB_MOD_INIT): Do not register the command "debug".
32364
32365 From Hollis Blanchard:
32366 * commands/configfile.c: New file.
32367 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32368 commands/configfile.c.
32369 (pkgdata_MODULES): Added configfile.mod.
32370 (configfile_mod_SOURCES): New variable.
32371 (configfile_mod_CFLAGS): Likewise.
32372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32373 commands/configfile.c.
32374 (pkgdata_MODULES): Added configfile.mod.
32375 (configfile_mod_SOURCES): New variable.
32376 (configfile_mod_CFLAGS): Likewise.
32377 * util/grub-emu.c (main): Call grub_configfile_init and
32378 grub_configfile_fini.
32379 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
32380 prototype.
32381 [GRUB_UTIL] (grub_configfile_fini): Likewise.
32382
32383 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32384
32385 * normal/arg.c (grub_arg_show_help): Do not show the bug report
32386 address.
32387
32388 * commands/help.c (grub_cmd_help): Do not print newlines after
32389 the last command in print_command_help.
32390
32391 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32392
32393 * commands/default.h: New file.
32394 * commands/timeout.h: Likewise.
32395 * normal/context.c: Likewise.
32396
32397 * util/misc.c: Do not include sys/times.h.
32398 Include sys/time.h and grub/machine/time.h.
32399 (grub_get_rtc): Rewritten with gettimeofday.
32400
32401 * util/grub-emu.c (main): Call grub_default_init and
32402 grub_timeout_init before grub_normal_init, and call
32403 grub_timeout_fini and grub_default_fini after grub_main.
32404
32405 * util/console.c (grub_ncurses_checkkey): Return the read
32406 character or -1.
32407
32408 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
32409 timeouts.
32410
32411 * normal/main.c (read_config_file): Push MENU. If this fails,
32412 print an error and wait for a user input.
32413 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
32414 If a menu is empty or an error occurs, pop MENU.
32415 (grub_normal_execute): Pop and free MENU after grub_menu_run
32416 returns.
32417
32418 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
32419
32420 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
32421 include time.h.
32422 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32423 without GRUB_UTIL.
32424 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
32425 time.h.
32426 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32427 without GRUB_UTIL.
32428
32429 * include/grub/normal.h (struct grub_menu_list): New struct.
32430 (grub_menu_list_t): New type.
32431 (struct grub_context): New struct.
32432 (grub_context_t): New type.
32433 (grub_register_command): Got rid of EXPORT_FUNC.
32434 (grub_unregister_command): Likewise.
32435 (grub_context_get): New prototype.
32436 (grub_context_get_current_menu): Likewise.
32437 (grub_context_push_menu): Likewise.
32438 (grub_context_pop_menu): Likewise.
32439 [GRUB_UTIL] (grub_default_init): Likewise.
32440 [GRUB_UTIL] (grub_default_fini): Likewise.
32441 [GRUB_UTIL] (grub_timeout_init): Likewise.
32442 [GRUB_UTIL] (grub_timeout_fini): Likewise.
32443
32444 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
32445 commands/timeout.c and normal/context.c.
32446 (pkgdata_MODULES): Added default.mod and timeout.mod.
32447 (normal_mod_SOURCES): Added normal/context.c.
32448 (default_mod_SOURCES): New variable.
32449 (default_mod_CFLAGS): Likewise.
32450 (timeout_mod_SOURCES): Likewise.
32451 (timeout_mod_CFLAGS): Likewise.
32452 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
32453 conf/i386-pc.rmk.
32454 (pkgdata_MODULES): Added default.mod and timeout.mod.
32455 (normal_mod_SOURCES): Added normal/context.c.
32456 (default_mod_SOURCES): New variable.
32457 (default_mod_CFLAGS): Likewise.
32458 (timeout_mod_SOURCES): Likewise.
32459 (timeout_mod_CFLAGS): Likewise.
32460
32461 * Makefile.in (all-local): Added $(MKFILES).
32462
32463 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
32464
32465 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
32466 (grub_emu_SOURCES): Likewise.
32467 (pkgdata_MODULES): Add `sun.mod'.
32468 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32469 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32470 `partmap/sun.c'.
32471 (pkgdata_MODULES): Add `sun.mod'.
32472 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32473 * include/grub/partition.h (grub_sun_partition_map_init): New
32474 prototype.
32475 (grub_sun_partition_map_fini): Likewise.
32476 * partmap/sun.c: New file.
32477 * util/grub-emu.c (main): Initialize and de-initialize the sun
32478 partitionmap support.
32479
32480 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
32481
32482 This implements an Emacs-like menu entry editor.
32483
32484 * normal/menu_entry.c: New file.
32485
32486 * util/console.c (grub_ncurses_putchar): Translate some Unicode
32487 characters to ASCII.
32488 (saved_char): New variable.
32489 (grub_ncurses_checkkey): Rewritten completely.
32490 (grub_ncurses_getkey): Likewise.
32491 (grub_ncurses_init): Call raw instead of cbreak.
32492
32493 * normal/menu.c (print_entry): Do not put a space.
32494 (init_page): Renamed to ...
32495 (grub_menu_init_page): ... this. All callers changed.
32496 (edit_menu_entry): Removed.
32497 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
32498
32499 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
32500
32501 * kern/misc.c (grub_vprintf): Call grub_refresh.
32502
32503 * normal/menu.c (DISP_LEFT): Renamed to ...
32504 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
32505 * normal/menu.c (DISP_UP): Renamed to ...
32506 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
32507 * normal/menu.c (DISP_RIGHT): Renamed to ...
32508 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
32509 * normal/menu.c (DISP_DOWN): Renamed to ...
32510 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
32511 * normal/menu.c (DISP_HLINE): Renamed to ...
32512 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
32513 * normal/menu.c (DISP_VLINE): Renamed to ...
32514 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
32515 * normal/menu.c (DISP_UL): Renamed to ...
32516 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
32517 * normal/menu.c (DISP_UR): Renamed to ...
32518 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
32519 * normal/menu.c (DISP_LL): Renamed to ...
32520 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
32521 * normal/menu.c (DISP_LR): Renamed to ...
32522 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
32523 * normal/menu.c (TERM_WIDTH): Renamed to ...
32524 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
32525 * normal/menu.c (TERM_HEIGHT): Renamed to ...
32526 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
32527 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
32528 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
32529 * normal/menu.c (TERM_MARGIN): Renamed to ...
32530 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
32531 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
32532 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
32533 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
32534 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
32535 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
32536 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
32537 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
32538 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
32539 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
32540 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
32541 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
32542 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
32543 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
32544 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
32545 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
32546 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
32547 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
32548 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
32549 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
32550 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
32551 All callers changed.
32552
32553 * include/grub/normal.h: New prototype.
32554
32555 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32556 normal/menu_entry.c.
32557 (normal_mod_SOURCES): Likewise.
32558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32559 (normal_mod_SOURCES): Likewise.
32560
32561 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
32562
32563 * include/grub/normal.h (grub_halt_init): New prototype.
32564 (grub_halt_fini): Likewise.
32565 (grub_reboot_init): Likewise.
32566 (grub_reboot_fini): Likewise.
32567
32568 * util/grub-emu.c: Include signal.h.
32569 (main_env): New global variable.
32570 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
32571 catch C-c.
32572 (grub_machine_fini): New function.
32573 (main): Call grub_halt_init and grub_reboot_init before
32574 grub_main, and grub_reboot_fini and grub_halt_fini after it.
32575 Call setjmp with MAIN_ENV to go back afterwards.
32576 Call grub_machine_fini right before return.
32577
32578 * include/grub/util/misc.h: Include setjmp.h.
32579 (main_env): New prototype.
32580
32581 * include/grub/kernel.h (grub_machine_fini): New prototype.
32582 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
32583 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
32584
32585 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
32586 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
32587 * term/i386/pc/console.c (grub_console_fini): Likewise.
32588
32589 * util/i386/pc/misc.c: New file.
32590
32591 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32592 util/i386/pc/misc.c, commands/i386/pc/halt.c and
32593 commands/i386/pc/reboot.c.
32594
32595 2005-02-14 Guillem Jover <guillem@hadrons.org>
32596
32597 * include/grub/dl.h (grub_dl_check_header): New prototype.
32598 (grub_arch_dl_check_header): Change return type to grub_err_t,
32599 remove size parameter and export function. Update all callers.
32600 * kern/dl.c (grub_dl_check_header): New function.
32601 (grub_dl_load_core): Use `grub_dl_check_header' instead of
32602 `grub_arch_dl_check_header'. Check ELF type. Check if sections
32603 are inside the core.
32604 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
32605 independent ELF header checks.
32606 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
32607 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
32608 `grub_dl_check_header' instead of explicit checks. Check for the
32609 ELF type.
32610 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
32611 `grub_dl_check_header' instead of explicit checks. Remove arch
32612 specific ELF header checks.
32613
32614 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
32615 argument SIZE.
32616
32617 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
32618
32619 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
32620 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
32621
32622 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
32623
32624 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
32625 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
32626 (part_map_iterate): Clear `grub_errno' and return 0 if
32627 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
32628 * partmap/amiga.c (amiga_partition_map_iterate): Return
32629 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
32630 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32631
32632 2005-02-01 Guillem Jover <guillem@hadrons.org>
32633
32634 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
32635 help info.
32636
32637 2005-01-31 Marco Gerards <metgerards@student.han.nl>
32638
32639 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
32640 Removed prototype.
32641 (grub_rescue_cmd_linux): New prototype.
32642 (grub_rescue_cmd_initrd): Likewise.
32643 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
32644 `bi_rec'.
32645 (grub_linux_release_mem): Release the memory for the initrd.
32646 (grub_load_linux): Renamed from this...
32647 (grub_rescue_cmd_linux): ...To this. Changed all callers.
32648 Changed `entry' not to be static. Loop over memory regions to
32649 find another one when the default fails.
32650 (grub_rescue_cmd_initrd): New function.
32651 (grub_linux_init): Remove function.
32652 (grub_linux_fini): Likewise.
32653 (GRUB_MOD_INIT): Register `initrd'.
32654 (GRUB_MOD_FINI): Unregister `initrd'.
32655 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
32656 Function removed.
32657 (grub_linux_normal_fini): Likewise.
32658 (GRUB_MOD_INIT): Register `initrd'.
32659 (GRUB_MOD_FINI): Unregister `initrd'.
32660
32661 2005-01-31 Marco Gerards <metgerards@student.han.nl>
32662
32663 * commands/help.c: New file.
32664 * normal/arg.c (show_help): Renamed to...
32665 (grub_arg_show_help): ... this.
32666 * commands/i386/pc/halt.c: New file.
32667 * commands/i386/pc/reboot.c: Likewise.
32668 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
32669 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
32670 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
32671 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
32672 variables.
32673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32674 `commands/help.c'.
32675 (pkgdata_MODULES): Add `help.mod'.
32676 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
32677 * grub/i386/pc/init.h (grub_reboot): New prototype.
32678 (grub_halt): Likewise.
32679 * include/grub/normal.h (grub_arg_show_help): New prototype.
32680 (grub_help_init): Likewise.
32681 (grub_help_fini): Likewise.
32682 * util/grub-emu.c (main): Initialize and deinitialize the help
32683 command.
32684
32685 * normal/cmdline.c (grub_cmdline_get): Doc fix.
32686
32687 * normal/command.c (grub_command_init): Fixed the description of
32688 the `set' and `unset' commands.
32689
32690 2005-01-31 Marco Gerards <metgerards@student.han.nl>
32691
32692 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
32693 function.
32694 * commands/ieee1275/halt.c: New file.
32695 * commands/ieee1275/reboot.c: Likewise.
32696 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
32697 `__attribute__ ((unused))'. Some GCS related fixed.
32698 (grub_suspend_init) [GRUB_UTIL]: Function removed.
32699 (grub_suspend_fini): Likewise.
32700 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
32701 and `halt.mod'.
32702 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
32703 (halt_mod_CFLAGS): New variables.
32704 * include/grub/powerpc/ieee1275/ieee1275.h
32705 (grub_ieee1275_interpret): New prototype.
32706
32707 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
32708
32709 * include/grub/misc.h (memmove): New prototype.
32710 (memcpy): Likewise.
32711
32712 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
32713
32714 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
32715 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
32716
32717 2005-01-22 Marco Gerards <metgerards@student.han.nl>
32718
32719 * kern/misc.c (grub_strndup): Function rewritten.
32720
32721 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
32722
32723 * normal/menu.c (TERM_WIDTH): Macro redefined.
32724 (TERM_TOP_BORDER_Y): Likewise.
32725 (draw_border): Replaced while-loop by a for-loop. Make the number
32726 of lines consistent with the number of lines displayed in
32727 print_entries. Added a margin below the rectangle.
32728 (print_entry): Make the entry fit in the rectangle.
32729 (print_entries): Display the scroll arrows next to the right
32730 border.
32731
32732 2005-01-21 Marco Gerards <metgerards@student.han.nl>
32733
32734 * fs/minix.c (grub_minix_find_file): Reserve more space for
32735 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
32736 `grub_strncpy' to copy `path' into it.
32737
32738 2005-01-21 Marco Gerards <metgerards@student.han.nl>
32739
32740 Add the loopback device, a device via which files can be accessed
32741 as devices.
32742
32743 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
32744 (pkgdata_MODULES): Add loopback.mod.
32745 (loopback_mod_SOURCES): New variable.
32746 (loopback_mod_CFLAGS): Likewise.
32747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32748 `disk/loopback.c'.
32749 (pkgdata_MODULES): Add loopback.mod.
32750 (loopback_mod_SOURCES): New variable.
32751 (loopback_mod_CFLAGS): Likewise.
32752 * disk/loopback.c: new file.
32753 * include/grub/normal.h (grub_loop_init): New prototype.
32754 (grub_loop_fini): New prototype.
32755 * util/grub-emu.c (main): Initialize and de-initialize loopback
32756 support.
32757 * include/grub/disk.h (grub_disk_dev_id): Add
32758 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
32759
32760 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
32761
32762 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
32763 function.
32764 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
32765 (suspend_mod_SOURCES): New variable.
32766 (suspend_mod_CFLAGS): Likewise.
32767 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
32768 New prototype.
32769 * commands/ieee1275/suspend.c: New file.
32770
32771 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
32772
32773 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
32774 ((unused))' to `__attribute__ ((used))'.
32775 (GRUB_MOD_FINI): Likewise.
32776 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
32777 * genmk.rb (PModule): Assign space to common symbols when linking
32778 modules.
32779
32780 2005-01-20 Marco Gerards <metgerards@student.han.nl>
32781
32782 * include/grub/mm.h (grub_mm_init_region): Change the type of the
32783 `unsigned' arguments to `grub_size_t'.
32784 (grub_malloc): Likewise.
32785 (grub_realloc): Likewise.
32786 (grub_memalign): Likewise.
32787 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
32788 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
32789 * util/misc.c (grub_malloc): Likewise.
32790 (grub_realloc): Likewise.
32791 * kern/mm.c (get_header_from_pointer): Change the casts to
32792 `unsigned' into a cast to `grub_size_t'.
32793
32794 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
32795 point to `currnode' when `currnode' is changed.
32796
32797 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
32798 Schottelius <nico-linux@schottelius.org>.
32799
32800 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
32801
32802 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
32803 (note_path): Remove variable.
32804 (GRUB_IEEE1275_NOTE_NAME): New macro.
32805 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
32806 (grub_ieee1275_note_hdr): New structure.
32807 (grub_ieee1275_note_desc): Likewise.
32808 (grub_ieee1275_note): Likewise.
32809 (load_note): Remove `dir' argument. All callers updated. Remove
32810 `note_img' and `path'. Do not load a file from `note_path'.
32811 Initialize a struct grub_ieee1275_note and write that to `out'.
32812 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
32813
32814 2005-01-05 Marco Gerards <metgerards@student.han.nl>
32815
32816 * util/misc.c (grub_util_read_image): Revert last change. It
32817 called `grub_util_read_at', which seeks from the beginning of the
32818 file.
32819
32820 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
32821
32822 * TODO: Add note about endianness in grub-mkimage.
32823 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
32824 section.
32825 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
32826 (grub_mkimage_SOURCES): New target.
32827 * include/grub/kernel.h (grub_start_addr): Remove variable.
32828 (grub_end_addr): Likewise.
32829 (grub_total_module_size): Likewise.
32830 (grub_kernel_image_size): Likewise.
32831 (GRUB_MODULE_MAGIC): New constant.
32832 (grub_module_info): New structure.
32833 (grub_arch_modules_addr): New prototype.
32834 (grub_get_end_addr): Remove prototype.
32835 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
32836 * include/grub/powerpc/ieee1275/kernel.h: New file.
32837 * include/grub/util/misc.h (grub_util_get_fp_size): New
32838 prototype.
32839 (grub_util_read_at): Likewise.
32840 (grub_util_write_image_at): Likewise.
32841 * kern/main.c (grub_get_end_addr): Remove function.
32842 (grub_load_modules): Call grub_arch_modules_addr instead of using
32843 grub_end_addr. Look for a grub_module_info struct in memory. Use
32844 the grub_module_info fields instead of calling grub_get_end_addr
32845 as loop conditions. Move grub_add_unused_region code here.
32846 (grub_add_unused_region): Remove function.
32847 * kern/i386/pc/init.c: Include grub/cache.h.
32848 (grub_machine_init): Remove call to grub_get_end_addr. Remove
32849 one call to add_mem_region.
32850 (grub_arch_modules_addr): New function.
32851 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
32852 (grub_total_module_size): Likewise.
32853 Include grub/machine/kernel.h.
32854 (grub_arch_modules_addr): New function.
32855 * util/grub-emu.c (grub_end_addr): Remove variable.
32856 (grub_total_module_size): Likewise.
32857 (grub_arch_modules_addr): New function.
32858 * util/misc.c: Include unistd.h.
32859 (grub_util_get_fp_size): New function.
32860 (grub_util_read_at): Likewise.
32861 (grub_util_write_image_at): Likewise.
32862 (grub_util_read_image): Call grub_util_read_at.
32863 (grub_util_write_image): Call grub_util_write_image_at.
32864 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
32865 additional memory in kernel_img for a struct grub_module_info.
32866 Fill in that grub_module_info.
32867 * util/powerpc/ieee1275/grub-mkimage.c: New file.
32868
32869 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
32870
32871 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
32872 New function.
32873 * include/grub/powerpc/ieee1275/ieee1275.h
32874 (grub_ieee1275_milliseconds): New prototype.
32875 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
32876 Change to 1000.
32877 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
32878 grub_ieee1275_milliseconds.
32879
32880 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
32881
32882 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
32883 variable.
32884 (find_options): New function.
32885 (cmain): Call find_options.
32886 * include/grub/powerpc/ieee1275/ieee1275.h
32887 (grub_ieee1275_realmode): New extern variable.
32888 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
32889 grub_map if grub_ieee1275_realmode is false.
32890
32891 2004-12-29 Marco Gerards <metgerards@student.han.nl>
32892
32893 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
32894 lines are inserted and make it work like readline. Reported by
32895 Vincent Pelletier <subdino2004@yahoo.fr>.
32896
32897 2004-12-28 Marco Gerards <metgerards@student.han.nl>
32898
32899 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
32900
32901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
32902 `kern/powerpc/cache.S'.
32903
32904 2004-12-27 Marco Gerards <metgerards@student.han.nl>
32905
32906 * genmk.rb: Handle the `Program' class in the main loop. Written
32907 by Johan Rydberg <jrydberg@gnu.org>.
32908 (Program): New class.
32909 (programs): New variable.
32910 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
32911 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
32912 instead of "grub/kernel.h". Include <grub/machine/init.h>.
32913 (help_arch): Function removed.
32914 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
32915 `powerpc/libgcc.h' and `loader.h'.
32916 (pkgdata_PROGRAMS): New variable.
32917 (sbin_UTILITIES): Variable removed.
32918 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
32919 (grubof_SOURCES): Variable re-defined so it only includes the
32920 core functionality.
32921 (grubof_CFLAGS): Remove `-DGRUBOF'.
32922 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
32923 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
32924 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
32925 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
32926 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
32927 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
32928 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
32929 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
32930 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
32931 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
32932 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
32933 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
32934 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
32935 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
32936 (pc_mod_CFLAGS): New variables.
32937 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
32938 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
32939 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
32940 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
32941 Moved from here...
32942 * include/grub/i386/pc/init.h (grub_os_area_addr)
32943 (rub_os_area_size): ... to here.
32944 * include/grub/powerpc/ieee1275/ieee1275.h
32945 (grub_ieee1275_entry_fn): Export symbol.
32946 * include/grub/powerpc/ieee1275/init.h: New file.
32947 * include/grub/powerpc/libgcc.h: Likewise.
32948 * include/grub/cache.h: Likewise.
32949 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
32950 <hollis@penguinppc.org>.
32951 * kern/dl.c: Include <grub/cache.h>.
32952 (grub_dl_flush_cache): New function.
32953 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
32954 for this module.
32955 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
32956 (grub_console_init): Removed prototypes.
32957 (grub_machine_init): Don't initialize the modules anymore.
32958 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
32959 static.
32960 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
32961 Macro undef removed.
32962 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
32963 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
32964 relocation `R_PPC_REL32'. Return an error when the relocation is
32965 unknown.
32966 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
32967 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
32968 * util/misc.c (grub_arch_sync_caches): Likewise.
32969
32970 2004-12-19 Marco Gerards <metgerards@student.han.nl>
32971
32972 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
32973 `symlist.c', add `grubof_symlist.c'.
32974 (symlist.c): Variable removed.
32975 (grubof_HEADERS): Variable added.
32976 (grubof_symlist.c): New target.
32977 (kernel_syms.lst): Use `grubof_HEADERS' instead of
32978 `kernel_img_HEADERS'.
32979 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
32980 * kern/powerpc/dl.c: New file.
32981 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
32982 Function removed.
32983 (grub_arch_dl_relocate_symbols): Likewise.
32984 (grub_register_exported_symbols): Likewise.
32985
32986 2004-12-13 Marco Gerards <metgerards@student.han.nl>
32987
32988 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
32989 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
32990 to fail instead. Reported by Vincent Pelletier
32991 <subdino2004@yahoo.fr>.
32992
32993 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
32994 it is not allocated. Reported by Vincent Pelletier
32995 <subdino2004@yahoo.fr>.
32996
32997 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
32998 output so the output looks better.
32999
33000 2004-12-04 Marco Gerards <metgerards@student.han.nl>
33001
33002 Modulize the partition map support and add support for the amiga
33003 partition map.
33004
33005 * commands/ls.c: Include <grub/partition.h> instead of
33006 <grub/machine/partition.h>.
33007 * kern/disk.c: Likewise.
33008 * kern/rescue.c: Likewise.
33009 * loader/i386/pc/chainloader.c: Likewise.
33010 * normal/cmdline.c: Likewise.
33011 * kern/powerpc/ieee1275/init.c: Likewise.
33012 (grub_machine_init): Call `grub_pc_partition_map_init',
33013 `grub_amiga_partition_map_init' and
33014 `grub_apple_partition_map_init'.
33015 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
33016 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
33017 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
33018 `partition.h' and `pc_partition.h'.
33019 (grub_setup_SOURCES): Remove
33020 `disk/i386/pc/partition.c'. Add `kern/partition.c',
33021 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33022 (grub_emu_SOURCES): Likewise.
33023 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
33024 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
33025 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
33026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33027 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
33028 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33029 (grubof_SOURCES): Likewise.
33030 * disk/i386/pc/partition.c: File removed.
33031 * disk/powerpc/ieee1275/partition.c: Likewise.
33032 * include/grub/powerpc/ieee1275/partition.h: Likewise.
33033 * include/grub/i386/pc/partition.h: Likewise.
33034 * kern/partition.c: New file.
33035 * partmap/amiga.c: Likewise.
33036 * partmap/apple.c: Likewise.
33037 * partmap/pc.c: Likewise.
33038 * include/grub/partition.h: Likewise..
33039 * include/grub/pc_partition.h: Likewise.
33040 * util/grub-emu.c: Include <grub/partition.h> instead of
33041 <grub/machine/partition.h>.
33042 (main): Call `grub_pc_partition_map_init',
33043 `grub_amiga_partition_map_init' and
33044 `grub_apple_partition_map_init' and deinitialize afterwards.
33045 * util/i386/pc/biosdisk.c: Include `#include
33046 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33047 `<grub/machine/partition.h>'.
33048 * util/i386/pc/grub-setup.c: Likewise.
33049 * util/i386/pc/biosdisk.c: Likewise.
33050 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
33051 partition information in case of a PC partition.
33052 * util/i386/pc/grub-setup.c: Include `#include
33053 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33054 `<grub/machine/partition.h>'.
33055 (setup): Only access the PC specific partition information in case
33056 of a PC partition.
33057
33058 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
33059
33060 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
33061 (grub_longjmp): Likewise.
33062 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
33063 20.
33064 * normal/powerpc/setjmp.S: New file.
33065 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33066 `normal/powerpc/setjmp.S'.
33067 (grubof_CFLAGS): Add `-DGRUBOF'.
33068 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
33069 [GRUB_UTIL && !GRUBOF].
33070
33071 2004-11-16 Marco Gerards <metgerards@student.han.nl>
33072
33073 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
33074 property named `name'. Correctly handle the error returned by
33075 `grub_ieee1275_finddevice' if a device can not be opened.
33076
33077 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
33078
33079 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
33080 `actual' for negativity.
33081 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33082 kern/fshelp.c.
33083
33084 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33085
33086 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
33087 (PAGE_OFFSET): New macro.
33088 (CRTC_ADDR_PORT): Likewise.
33089 (CRTC_DATA_PORT): Likewise.
33090 (START_ADDR_HIGH_REGISTER): Likewise.
33091 (START_ADDR_LOW_REGISTER): Likewise.
33092 (GRAPHICS_ADDR_PORT): Likewise.
33093 (GRAPHICS_DATA_PORT): Likewise.
33094 (READ_MAP_REGISTER): Likewise.
33095 (INPUT_STATUS1_REGISTER): Likewise.
33096 (INPUT_STATUS1_VERTR_BIT): Likewise.
33097 (page): New variable.
33098 (wait_vretrace): New function.
33099 (set_read_map): Likewise.
33100 (set_start_address): Likewise.
33101 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
33102 the right page.
33103 (check_vga_mem): Take the page into account.
33104 (write_char): Likewise.
33105 (write_cursor): Likewise.
33106 (scroll_up): Likewise. Copy the page to the page that is not
33107 shown and switch between both pages.
33108 (grub_vga_putchar): Fix off by one error.
33109 (grub_vga_cls): Wait for the vertical retrace. Take the page into
33110 account.
33111
33112 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33113
33114 Add support for iso9660 (including rockridge).
33115
33116 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33117 (iso9660_mod_SOURCES): New variable.
33118 (iso9660_mod_CFLAGS): Likewise.
33119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33120 * include/grub/fs.h (grub_iso9660_init): New prototype.
33121 * util/grub-emu.c (main): Call `grub_iso9660_init'.
33122 * fs/iso9660.c: New file.
33123
33124 * include/grub/misc.h (grub_strncat): New prototype.
33125 * kern/misc.c (grub_strncat): New function.
33126
33127 * fs/hfs.c (grub_hfs_mount): Translate the error
33128 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
33129 * fs/jfs.c (grub_jfs_mount): Likewise.
33130 * fs/ufs.c (grub_ufs_mount): Likewise.
33131
33132 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
33133
33134 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
33135 which initialized BAT registers.
33136 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
33137 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33138 Move from here...
33139 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
33140 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33141 ... to here.
33142 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
33143 (grub_mapclaim): Likewise.
33144 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
33145 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
33146 hand.
33147
33148 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
33149
33150 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
33151 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
33152 -ffreestanding and -msoft-float.
33153
33154 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
33155
33156 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
33157 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
33158 set in grub_ieee1275_flags.
33159
33160 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
33161
33162 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
33163 prototype.
33164 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
33165 grub_console_init first.
33166 Change the memory range used for grub_ieee1275_claim and
33167 grub_mm_init_region.
33168 Print an error message if the claim fails.
33169 Include <grub/misc.h>.
33170
33171 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
33172
33173 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
33174 Call grub_children_iterate for device nodes of type `scsi',
33175 `ide', or `ata'.
33176 (grub_ofdisk_open): Remove manual device alias resolution.
33177 Fix memory leak when device cannot be opened.
33178 * include/grub/powerpc/ieee1275/ieee1275.h
33179 (grub_children_iterate): New prototype.
33180 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
33181 New function.
33182 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33183 Return -1 if args.size was -1.
33184
33185 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33186
33187 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
33188 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
33189 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
33190 Open Firmware's memory for it; claim memory from _start to _end.
33191 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
33192 (_end): New extern.
33193 (_start): Zero BSS from __bss_start to _end.
33194 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33195 New extern.
33196 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
33197
33198 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33199
33200 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
33201 -1 if args.base was -1.
33202
33203 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
33204
33205 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
33206 escape sequence instead of a literal ^L. Also call
33207 grub_ofconsole_gotoxy.
33208
33209 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
33210
33211 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
33212 void * arguments to grub_addr_t. All callers updated. Also make
33213 the `result' argument optional.
33214 (grub_ieee1275_release): change void * arguments to grub_addr_t.
33215 All callers updated.
33216
33217 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
33218
33219 * commands/ls.c (grub_ls_list_files): Use the string following the
33220 initial ')', if present, as the filesystem path.
33221 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
33222
33223 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
33224
33225 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
33226
33227 Make the source code of the menu interface more readable.
33228
33229 * normal/menu.c: Include grub/mm.h.
33230 (TERM_WIDTH): New macro.
33231 (TERM_HEIGHT): Likewise.
33232 (TERM_INFO_HEIGHT): Likewise.
33233 (TERM_MARGIN): Likewise.
33234 (TERM_SCROLL_WIDTH): Likewise.
33235 (TERM_TOP_BORDER_Y): Likewise.
33236 (TERM_LEFT_BORDER_X): Likewise.
33237 (TERM_BORDER_WIDTH): Likewise.
33238 (TERM_MESSAGE_HEIGHT): Likewise.
33239 (TERM_BORDER_HEIGHT): Likewise.
33240 (TERM_NUM_ENTRIES): Likewise.
33241 (TERM_FIRST_ENTRY_Y): Likewise.
33242 (TERM_ENTRY_WIDTH): Likewise.
33243 (TERM_CURSOR_X): Likewise.
33244 (draw_border): Use macros instead of magic numbers.
33245 (print_entry): Likewise.
33246 (print_entries): Likewise.
33247 (run_menu): Likewise. Also, handle the key 'e'.
33248 (run_menu_entry): Ignore empty command lines.
33249 (print_message): Added a new argument EDIT. If EDIT is true,
33250 print a different message.
33251 (init_page): Likewise.
33252 (edit_menu_entry): New function. Not implemented yet.
33253
33254 2004-09-17 Marco Gerards <metgerards@student.han.nl>
33255
33256 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
33257 can be loaded from normal mode.
33258
33259 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
33260 `multiboot.mod'.
33261 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
33262 (multiboot_mod_CFLAGS): New variables.
33263 * loader/i386/pc/linux_normal.c: New file.
33264 * loader/i386/pc/multiboot_normal.c: Likewise.
33265
33266 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
33267 attribute `unused'.
33268
33269 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
33270 `fdiro' to read the mode information from instead of `diro'.
33271
33272 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
33273 looking up a symlink.
33274
33275 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
33276 macro.
33277 * normal/command.c (grub_command_execute): Don't parse the
33278 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
33279 flags of the command.
33280
33281 * normal/menu.c (grub_menu_run): Fix typo.
33282
33283 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
33284
33285 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
33286
33287 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
33288 `y + 1' instead of `y - 1'.
33289
33290 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
33291
33292 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
33293
33294 From Hollis Blanchard <hollis@penguinppc.org>:
33295 * kern/misc.c (memmove): New alias for grub_memmove.
33296 (memcmp): New alias for grub_memcmp.
33297 (memset): New alias for grub_memset.
33298 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33299 Change "int handle" to "grub_ieee1275_phandle_t handle".
33300 * include/grub/powerpc/ieee1275/ieee1275.h
33301 (grub_ieee1275_get_property): Likewise.
33302
33303 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
33304
33305 Added normal mode command `chainloader' as module chain.mod, which
33306 depends on normal.mod and _chain.mod.
33307
33308 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
33309 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
33310 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
33311 Deleted prototype.
33312 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
33313 but arguments parsing moved to ...
33314 (grub_chainloader_cmd): ... here. New function.
33315 * include/grub/i386/pc/chainloader.h: New file.
33316 * loader/i386/pc/chainloader_normal.c: Likewise.
33317
33318 2004-09-11 Marco Gerards <metgerards@student.han.nl>
33319
33320 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
33321 (grub_mkimage_LDFLAGS): Likewise.
33322 (grub_emu_SOURCES): Likewise.
33323 (kernel_img_HEADERS): Added fshelp.h.
33324 * fs/ext2.c: Include <grub/fshelp.h>.
33325 (FILETYPE_REG): New macro.
33326 (FILETYPE_INO_REG): Likewise.
33327 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
33328 Changed all users.
33329 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
33330 all users.
33331 (grub_fshelp_node): New struct.
33332 (grub_ext2_data): Added member `diropen'. Changed member `inode'
33333 to a pointer.
33334 (grub_ext2_get_file_block): Removed function.
33335 (grub_ext2_read_block): New function.
33336 (grub_ext2_read_file): Replaced parameter `data' by `node'.
33337 This function was written.
33338 (grub_ext2_mount): Read the root inode. Create a diropen struct.
33339 (grub_ext2_find_file): Removed function.
33340 (grub_ext2_read_symlink): New function.
33341 (grub_ext2_iterate_dir): Likewise.
33342 (grub_ext2_open): Rewritten.
33343 (grub_ext2_dir): Rewritten.
33344 * include/grub/fshelp.h: New file.
33345 * fs/fshelp.c: Likewise.
33346
33347 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
33348
33349 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
33350 (print_message): Add a missing newline.
33351 (run_menu): Added timeout support.
33352 (run_menu_entry): New local function.
33353 (grub_menu_run): Added support for booting.
33354
33355 * kern/loader.c (grub_loader_is_loaded): New function.
33356
33357 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
33358 (grub_get_rtc): Exported.
33359
33360 * include/grub/i386/pc/time.h: Include grub/symbol.h.
33361 (grub_get_rtc): Exported.
33362
33363 * include/grub/normal.h (struct grub_command_list): Remove
33364 constant from the member `command'.
33365
33366 * include/grub/loader.h (grub_loader_is_loaded): Declared.
33367
33368 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
33369
33370 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
33371
33372 2004-08-28 Marco Gerards <metgerards@student.han.nl>
33373
33374 Add support for the JFS filesystem.
33375
33376 * fs/jfs.c: New file.
33377 * include/grub/fs.h (grub_jfs_init): New prototype.
33378 (grub_jfs_fini): New prototype.
33379 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
33380 (grub_emu_SOURCES): Likewise.
33381 (pkgdata_MODULES): Add jfs.mod.
33382 (jfs_mod_SOURCES): New variable.
33383 (jfs_mod_CFLAGS): Likewise.
33384 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
33385 (grubof_SOURCES): Likewise.
33386 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
33387
33388 * fs/fat.c (grub_fat_find_dir): Convert the filename little
33389 endian to the host endian.
33390 (grub_fat_utf16_to_utf8): Move function from there...
33391 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
33392 the endianness of the source string anymore.
33393 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
33394
33395 2004-08-24 Marco Gerards <metgerards@student.han.nl>
33396
33397 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
33398 (grub_boot_fini) [GRUB_UTIL]: Likewise.
33399 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
33400 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
33401
33402 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
33403 (grub_hfs_iterate_dir): Make the function static. Add prototypes
33404 for `node_found' and `it_dir'.
33405 (grub_hfs_dir): Add prototype for `dir_hook'.
33406
33407 * fs/minix.c (grub_minix_get_file_block): Add prototype for
33408 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
33409 and `indir32' to silence a gcc warning.
33410
33411 * include/grub/fs.h (grub_hfs_init): New prototype.
33412 (grub_hfs_fini): Likewise.
33413
33414
33415 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
33416
33417 Each disk device has its own id now. This is useful to make use
33418 of multiple disk devices.
33419
33420 * include/grub/disk.h (grub_disk_dev_id): New enum.
33421 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
33422 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
33423
33424 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
33425 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33426
33427 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
33428 GRUB_DISK_DEVICE_OFDISK_ID as an id.
33429
33430 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
33431 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33432
33433 * include/grub/disk.h (struct grub_disk_dev): Added a new member
33434 "id" which is used by the cache manager.
33435
33436 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
33437 of just "GRUB".
33438
33439 2004-08-18 Marco Gerards <metgerards@student.han.nl>
33440
33441 * fs/hfs.c: New file.
33442 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
33443 (grub_emu_SOURCES): Likewise.
33444 (pkgdata_MODULES): Add hfs.mod.
33445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
33446 (grubof_SOURCES): Likewise.
33447 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
33448
33449 * include/grub/misc.h (grub_strncasecmp): Add prototype.
33450 * kern/misc.c (grub_strncasecmp): Add function.
33451
33452 2004-08-14 Marco Gerards <metgerards@student.han.nl>
33453
33454 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
33455 with parentheses.
33456
33457 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
33458 (grub_ext2_dir): In case the directory entry type is unknown, read
33459 it from the inode.
33460
33461 2004-08-02 Peter Bruin <pjbruin@dds.nl>
33462
33463 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
33464 grub_load_linux instead of grub_rescue_cmd_linux as second
33465 argument of grub_rescue_register_command.
33466
33467 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
33468
33469 2004-07-27 Marco Gerards <metgerards@student.han.nl>
33470
33471 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
33472 function.
33473 * commands/boot.c: Remove the check for `GRUB_UTIL'.
33474 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33475 `loader/powerpc/ieee1275/linux.c',
33476 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
33477 * include/grub/powerpc/ieee1275/ieee1275.h
33478 (grub_ieee1275_release): New prototype.
33479 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
33480 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
33481 normal, boot, linux and linux_normal.
33482 * loader/powerpc/ieee1275/linux.c: New file.
33483 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33484
33485 2004-07-12 Marco Gerards <metgerards@student.han.nl>
33486
33487 * normal/arg.c (grub_arg_parse): Correct error handling after
33488 reallocating the argumentlist (check if `argl' is not null instead
33489 of checking if `args' is not null).
33490 * kern/mm.c (grub_realloc): Return the same pointer when using the
33491 same region, instead of returning the header address.
33492
33493 2004-07-11 Marco Gerards <metgerards@student.han.nl>
33494
33495 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
33496 one block instead of two when looking for the initial partition.
33497 (grub_partition_probe): Initialize the local variable `p' with 0.
33498 Use base 10 for the grub_strtoul call.
33499 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
33500 need for one local variable.
33501 (grub_strtoul): Don't add the new value to `num', instead of that
33502 just assign it.
33503
33504 2004-07-11 Marco Gerards <metgerards@student.han.nl>
33505
33506 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
33507 (pxeboot_img_SOURCES): New variable.
33508 (pxeboot_img_ASFLAGS): Likewise.
33509 (pxeboot_img_LDFLAGS): Likewise.
33510 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
33511 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
33512 <lode_leroy@hotmail.com>.
33513
33514 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33515
33516 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
33517 there was no input.
33518
33519 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33520
33521 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
33522 the history buffer logic.
33523
33524 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33525
33526 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
33527 (FILETYPE_INO_SYMLINK): New macros.
33528 (grub_ext2_find_file): Check if the node is a directory using the
33529 inode stat information instead of using the filetype in the
33530 dirent. Exclude the first character of an absolute symlink.
33531 (grub_ext2_dir): Mask out the filetype part of the mode member of
33532 the inode.
33533
33534 2004-05-24 Marco Gerards <metgerards@student.han.nl>
33535
33536 Add support for UFS version 1 and 2. Add support for the minix
33537 filesystem version 1 and 2, both the variants with 14 and 30 long
33538 filenames.
33539
33540 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
33541 fs/minix.c.
33542 (grub_emu_SOURCES): Likewise.
33543 (pkgdata_MODULES): Add ufs.mod and minix.mod.
33544 (ufs_mod_SOURCES): New variable.
33545 (ufs_mod_CFLAGS): Likewise.
33546 (minix_mod_SOURCES): Likewise.
33547 (minix_mod_CFLAGS): Likewise.
33548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
33549 fs/minix.c.
33550 (grubof_SOURCES): Likewise.
33551 * fs/ufs.c: New file.
33552 * fs/minix.c: New file.
33553 * include/grub/fs.h (grub_ufs_init): New prototype.
33554 (grub_ufs_fini): Likewise.
33555 (grub_minix_init): Likewise.
33556 (grub_minix_fini): Likewise.
33557 * util/grub-emu.c (main): Initialize and deinitialize UFS and
33558 minix fs.
33559
33560 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
33561
33562 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
33563 commands/ls.c, commands/terminal.c, commands/boot.c,
33564 commands/cmp.c and commands/cat.c.
33565 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
33566
33567 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
33568 "env.h"
33569
33570 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33571
33572 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
33573 and grub_, respectively. Because the conversion is trivial and
33574 mechanical, I omit the details here. Please refer to the CVS
33575 if you need more information.
33576
33577 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33578
33579 * include/pupa: Renamed to ...
33580 * include/grub: ... this.
33581 * util/i386/pc/pupa-mkimage.c: Renamed to ...
33582 * util/i386/pc/grub-mkimage.c: ... this.
33583 * util/i386/pc/pupa-setup.c: Renamed to ...
33584 * util/i386/pc/grub-setup.c: ... this.
33585 * util/pupa-emu.c: Renamed to ...
33586 * util/grub-emu.c: ... this.
33587
33588 2004-03-29 Marco Gerards <metgerards@student.han.nl>
33589
33590 Add support for the newworld apple macintosh (PPC). This has been
33591 tested on the powerbook 2000 only. It only adds support for
33592 generic ieee1275 functions, console and disk support. This should
33593 be easy to port to other architectures with support for Open
33594 Firmware.
33595
33596 * configure.ac: Accept the powerpc as host_cpu. In the case of
33597 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
33598 specific tests are only executed while building for the i386.
33599 Inverse test for crosscompile.
33600 * genmk.rb (Utility): Allow assembler files.
33601 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
33602 * conf/powerpc-ieee1275.rmk: New file.
33603 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
33604 * disk/powerpc/ieee1275/partition.c: Likewise.
33605 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
33606 * include/pupa/powerpc/ieee1275/console.h: Likewise.
33607 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
33608 * include/pupa/powerpc/ieee1275/time.h: Likewise.
33609 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
33610 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
33611 * include/pupa/powerpc/ieee1275/loader.h
33612 * include/pupa/powerpc/setjmp.h: Likewise.
33613 * include/pupa/powerpc/types.h: Likewise.
33614 * kern/powerpc/ieee1275/init.c: Likewise.
33615 * kern/powerpc/ieee1275/openfw.c: Likewise.
33616 * term/powerpc/ieee1275/ofconsole.c: Likewise.
33617
33618 These files were written by Johan Rydberg
33619 (jrydberg@night.trouble.net) and I only modified them slightly.
33620
33621 * boot/powerpc/ieee1275/cmain.c: New file.
33622 * boot/powerpc/ieee1275/crt0.S: Likewise.
33623 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
33624 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
33625
33626 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
33627
33628 * Makefile.in: Update copyright.
33629 * genmodsrc.sh: Likewise.
33630 * gensymlist.sh: Likewise.
33631 * term/i386/pc/vga.c: Indent correctly.
33632
33633 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
33634 bugreporting address.
33635 * util/i386/pc/pupa-setup.c (usage): Likewise,
33636 (main): Call pupa_ext2_init and pupa_ext2_fini.
33637
33638 * fs/fat.c (log2): Renamed to ...
33639 (fat_log2): ... this.
33640 All callers changed.
33641 * kern/misc.c (memcpy): Alias to pupa_memmove.
33642 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
33643 lvalue cast.
33644 * util/console.c (pupa_ncurses_fini): Return 0.
33645
33646 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
33647 Move fail label here.
33648 [__GNU__]: Don't warn when using stat.
33649 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
33650 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
33651 long int. Use strtol instead of strtoul.
33652
33653 2004-03-14 Marco Gerards <metgerards@student.han.nl>
33654
33655 * commands/boot.c: New file.
33656 * commands/cat.c: Likewise.
33657 * commands/cmp.c: Likewise.
33658 * commands/ls.c: Likewise.
33659 * commands/terminal.c: Likewise.
33660 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
33661 (pupa_register_command): Changed interface to match the new
33662 argument parser.
33663 (pupa_command_execute): Changed (almost rewritten) so it uses
33664 pupa_split_command. Added support for setting variables using the
33665 syntax `foo=bar'.
33666 (rescue_command): Changed to work with the new argument parser.
33667 (terminal_command): Moved from here to commands/terminal.c.
33668 (set_command): New function.
33669 (unset_command): New function.
33670 (insmod_command): New function.
33671 (rmmod_command): New function.
33672 (lsmod_command): New function.
33673 (pupa_command_init): Don't initialize the command terminal
33674 anymore. Initialize the commands set, unset, insmod, rmmod and
33675 lsmod.
33676 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
33677 (kernel_img_HEADERS): Add arg.h and env.h.
33678 (pupa_mkimage_LDFLAGS): Add kern/env.c.
33679 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
33680 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
33681 normal/arg.c.
33682 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
33683 terminal.mod.
33684 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
33685 (boot_mod_SOURCES): New variable.
33686 (terminal_mod_SOURCES): Likewise.
33687 (ls_mod_SOURCES): Likewise.
33688 (cmp_mod_SOURCES): Likewise.
33689 (cat_mod_SOURCES): Likewise.
33690
33691 * normal/arg.c: New file.
33692 * kern/env.c: Likewise.
33693 * include/pupa/arg.h: Likewise.
33694 * include/pupa/env.h: Likewise.
33695 * font/manager.c (font_command): Changed to match argument parsing
33696 interface changes.
33697 (PUPA_MOD_INIT): Likewise.
33698 * hello/hello.c (pupa_cmd_hello): Likewise.
33699 (PUPA_MOD_INIT): Likewise.
33700 * include/pupa/disk.h: Include <pupa/device.h>.
33701 (pupa_print_partinfo): New prototype.
33702 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
33703 (pupa_dl_get_prefix): Likewise.
33704 * include/pupa/misc.h: Include <pupa/err.h>.
33705 (pupa_isgraph): New prototype.
33706 (pupa_isdigit): Likewise.
33707 (pupa_split_cmdline): Likewise.
33708 * include/pupa/normal.h: Include <pupa/arg.h>.
33709 (pupa_command): Changed the prototype of the member `func' to
33710 match the argument parsing interface. Added member `options'.
33711 (pupa_register_command): Updated to match function.
33712 (pupa_arg_parse): New prototype.
33713 (pupa_hello_init) [PUPA_UTIL]: New prototype.
33714 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
33715 (pupa_ls_init) [PUPA_UTIL]: Likewise.
33716 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
33717 (pupa_cat_init) [PUPA_UTIL]: Likewise.
33718 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
33719 (pupa_boot_init) [PUPA_UTIL]: Likewise.
33720 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
33721 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
33722 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
33723 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
33724 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
33725 * kern/disk.c: Include <pupa/file.h>.
33726 (pupa_print_partinfo): New function.
33727 * kern/dl.c: Include <pupa/env.h>.
33728 (pupa_dl_dir): Variable removed.
33729 (pupa_dl_load): Use the environment variable `prefix' instead of
33730 the variable pupa_dl_dir.
33731 (pupa_dl_set_prefix): Function removed.
33732 (pupa_dl_get_prefix): Likewise.
33733 * kern/i386/pc/init.c: Include <pupa/env.h>.
33734 (pupa_machine_init): Use the environment variable `prefix' instead of
33735 using pupa_dl_set_prefix to set the prefix.
33736 * kern/main.c: Include <pupa/env.h>.
33737 (pupa_set_root_dev): Use the environment variable `prefix' instead of
33738 using pupa_dl_get_prefix to get the prefix.
33739 * kern/misc.c: Include <pupa/env.h>.
33740 (pupa_isdigit): New function.
33741 (pupa_isgraph): Likewise.
33742 (pupa_ftoa): Likewise.
33743 (pupa_vsprintf): Added support for printing values of the type
33744 `double'. Make it possible to format variable output when using
33745 formatting like `%1.2%f'.
33746 (pupa_split_cmdline): New function.
33747 * kern/rescue.c: Include <pupa/env.h>.
33748 (next_word): Removed function.
33749 (pupa_rescue_cmd_prefix): Likewise.
33750 (pupa_rescue_cmd_set): New function.
33751 (pupa_rescue_cmd_unset): New function.
33752 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
33753 split the command line instead of splitting it here. Added
33754 support for setting variables using the syntax `foo=bar'. Don't
33755 initialize the prefix command anymore. Initialized the set and
33756 unset commands.
33757 * normal/cmdline.c: Include <pupa/env.h>.
33758 (pupa_tab_complete): Added prototypes for print_simple_completion,
33759 print_partition_completion, add_completion, iterate_commands,
33760 iterate_dev, iterate_part and iterate_dir. Moved code to print
33761 partition information from here to kern/disk.c.
33762 (pupa_cmdline_run): Don't check if the function exists anymore.
33763 * normal/main.c: Include <pupa/env.h>.
33764 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
33765 instead of using pupa_dl_get_prefix to get the prefix.
33766 * term/i386/pc/vga.c: Include <pupa/arg.h>.
33767 (check_vga_mem): Cast pointers to `void *' to silence a gcc
33768 warning.
33769 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
33770 (pupa_vga_setcolor): Declare unused variables with `__attribute__
33771 ((unused))' to silence a gcc warning.
33772 (pupa_vga_setcolor): Likewise.
33773 (debug_command): Changed to match argument parsing
33774 interface changes.
33775 * util/pupa-emu.c: Include <pupa/env.h>.
33776 (options): Added 0's for unused fields to silence a gcc warning.
33777 (argp): Likewise.
33778 (main): Use the environment variable `prefix' instead of using
33779 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
33780 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
33781 and terminal.
33782
33783 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
33784 * util/misc.c: Include <malloc.h>.
33785 (pupa_malloc): Rewritten so errors are correctly reported.
33786 (pupa_realloc): Likewise.
33787 (pupa_memalign): Likewise.
33788 (pupa_mm_init_region): Declare unused variables with
33789 `__attribute__ ((unused))' to silence a gcc warning.
33790 * normal/i386/setjmp.S: Remove tab at the end of the file to
33791 silence a gcc warning.
33792 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
33793 variables with `__attribute__ ((unused))' to silence a gcc
33794 warning.
33795 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
33796 local variable i unsigned to silence a gcc warning.
33797
33798 * kern/term.c: Include <pupa/misc.h>.
33799 (pupa_more_lines): New variable.
33800 (pupa_more): Likewise.
33801 (pupa_putcode): When the pager is active pause at the end of every
33802 screen.
33803 (pupa_set_more): New function.
33804 * include/pupa/term.h (pupa_set_more): New prototype.
33805
33806
33807 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
33808
33809 Now this project is GRUB 2 rather than PUPA. The location of
33810 the CVS repository was moved to GRUB's.
33811
33812 * configure.ac: Use bug-grub as the reporting address.
33813 Use GRUB instead of PUPA.
33814 Change the version number to 1.90.
33815
33816 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
33817
33818 * genkernsyms.sh: Updated copyright information.
33819 * genmk.rb: Likewise.
33820 * genmodsrc.sh: Likewise.
33821 * gensymlist.sh: Likewise.
33822 * boot/i386/pc/boot.S: Likewise.
33823 * boot/i386/pc/diskboot.S: Likewise.
33824 * disk/i386/pc/biosdisk.c: Likewise.
33825 * disk/i386/pc/partition.c: Likewise.
33826 * font/manager.c: Likewise.
33827 * fs/ext2.c: Likewise.
33828 * fs/fat.c: Likewise.
33829 * include/pupa/boot.h: Likewise.
33830 * include/pupa/device.h: Likewise.
33831 * include/pupa/disk.h: Likewise.
33832 * include/pupa/dl.h: Likewise.
33833 * include/pupa/elf.h: Likewise.
33834 * include/pupa/err.h: Likewise.
33835 * include/pupa/file.h: Likewise.
33836 * include/pupa/font.h: Likewise.
33837 * include/pupa/fs.h: Likewise.
33838 * include/pupa/kernel.h: Likewise.
33839 * include/pupa/loader.h: Likewise.
33840 * include/pupa/misc.h: Likewise.
33841 * include/pupa/mm.h: Likewise.
33842 * include/pupa/net.h: Likewise.
33843 * include/pupa/normal.h: Likewise.
33844 * include/pupa/rescue.h: Likewise.
33845 * include/pupa/setjmp.h: Likewise.
33846 * include/pupa/symbol.h: Likewise.
33847 * include/pupa/term.h: Likewise.
33848 * include/pupa/types.h: Likewise.
33849 * include/pupa/i386/setjmp.h: Likewise.
33850 * include/pupa/i386/types.h: Likewise.
33851 * include/pupa/i386/pc/biosdisk.h: Likewise.
33852 * include/pupa/i386/pc/boot.h: Likewise.
33853 * include/pupa/i386/pc/console.h: Likewise.
33854 * include/pupa/i386/pc/init.h: Likewise.
33855 * include/pupa/i386/pc/kernel.h: Likewise.
33856 * include/pupa/i386/pc/linux.h: Likewise.
33857 * include/pupa/i386/pc/loader.h: Likewise.
33858 * include/pupa/i386/pc/memory.h: Likewise.
33859 * include/pupa/i386/pc/multiboot.h: Likewise.
33860 * include/pupa/i386/pc/partition.h: Likewise.
33861 * include/pupa/i386/pc/time.h: Likewise.
33862 * include/pupa/i386/pc/vga.h: Likewise.
33863 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
33864 * include/pupa/util/getroot.h: Likewise.
33865 * include/pupa/util/misc.h: Likewise.
33866 * include/pupa/util/resolve.h: Likewise.
33867 * kern/device.c: Likewise.
33868 * kern/disk.c: Likewise.
33869 * kern/dl.c: Likewise.
33870 * kern/err.c: Likewise.
33871 * kern/file.c: Likewise.
33872 * kern/fs.c: Likewise.
33873 * kern/loader.c: Likewise.
33874 * kern/main.c: Likewise.
33875 * kern/misc.c: Likewise.
33876 * kern/mm.c: Likewise.
33877 * kern/rescue.c: Likewise.
33878 * kern/term.c: Likewise.
33879 * kern/i386/dl.c: Likewise.
33880 * kern/i386/pc/init.c: Likewise.
33881 * kern/i386/pc/lzo1x.S: Likewise.
33882 * kern/i386/pc/startup.S: Likewise.
33883 * loader/i386/pc/chainloader.c: Likewise.
33884 * loader/i386/pc/linux.c: Likewise.
33885 * loader/i386/pc/multiboot.c: Likewise.
33886 * normal/cmdline.c: Likewise.
33887 * normal/command.c: Likewise.
33888 * normal/main.c: Likewise.
33889 * normal/menu.c: Likewise.
33890 * normal/i386/setjmp.S: Likewise.
33891 * term/i386/pc/console.c: Likewise.
33892 * term/i386/pc/vga.c: Likewise.
33893 * util/console.c: Likewise.
33894 * util/genmoddep.c: Likewise.
33895 * util/misc.c: Likewise.
33896 * util/pupa-emu.c: Likewise.
33897 * util/resolve.c: Likewise.
33898 * util/unifont2pff.rb: Likewise.
33899 * util/i386/pc/biosdisk.c: Likewise.
33900 * util/i386/pc/getroot.c: Likewise.
33901 * util/i386/pc/pupa-mkimage.c: Likewise.
33902 * util/i386/pc/pupa-setup.c: Likewise.
33903
33904 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
33905
33906 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
33907 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
33908 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
33909 reading and reset it after reading.
33910 (pupa_ext2_close): Return PUPA_ERR_NONE.
33911
33912 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
33913 Correct value.
33914 (struct linux_kernel_header): Add kernel_version and
33915 initrd_addr_max.
33916 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
33917 pupa_file_read succeeds.
33918 (pupa_rescue_cmd_initrd): Implement.
33919
33920 2003-12-03 Marco Gerards <metgerards@student.han.nl>
33921
33922 * fs/ext2.c (pupa_ext2_label): New function.
33923 (pupa_ext2_fs): Added label.
33924 * fs/fat.c (pupa_fat_label): New function.
33925 (pupa_fat_fs): Added label.
33926 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
33927
33928 * kern/misc.c (pupa_strndup): New function.
33929 * include/pupa/misc.h (pupa_strndup): New prototype.
33930
33931 * include/pupa/normal.h: Include <pupa/err.h>.
33932 (pupa_set_history): New prototype.
33933 (pupa_iterate_commands): New prototype.
33934 * normal/cmdline.c: Include <pupa/machine/partition.h>,
33935 <pupa/disk.h>, <pupa/file.h>.
33936 (hist_size): New variable.
33937 (hist_lines): Likewise.
33938 (hist_end): Likewise.
33939 (hist_used): Likewise.
33940 (pupa_set_history): New function.
33941 (pupa_history_get): Likewise.
33942 (pupa_history_add): Likewise.
33943 (pupa_history_replace): Likewise.
33944 (pupa_tab_complete): Likewise.
33945 (pupa_cmdline_run): Added tab completion and history buffer. Tab
33946 completion shows partitionnames while completing partitions, this
33947 feature was suggested by Jeff Bailey.
33948 * normal/command.c (pupa_iterate_commands): New function.
33949 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
33950 (pupa_normal_init): Initialize history buffer.
33951 (PUPA_MOD_INIT): Likewise.
33952 (pupa_normal_fini): Free the history buffer.
33953 (PUPA_MOD_FINI): Likewise.
33954
33955 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
33956 key.
33957
33958 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
33959 * configure.ac [i386]: Check for regparam bug.
33960 (NESTED_FUNC_ATTR) [! i386]: Defined.
33961
33962 2003-11-17 Marco Gerards <metgerards@student.han.nl>
33963
33964 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
33965 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
33966 (pupa_emu_SOURCES): New variable.
33967 (pupa_emu_LDFLAGS): Likewise.
33968 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
33969 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
33970 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
33971 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
33972 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
33973 (pupa_jmp_buf): New typedef.
33974 (pupa_setjmp) [PUPA_UTIL]: New macro.
33975 (pupa_longjmp) [PUPA_UTIL]: Likewise.
33976 * include/pupa/term.h (struct pupa_term): New member `refresh'.
33977 (pupa_refresh): New prototype.
33978 * include/pupa/util/getroot.h: New file.
33979 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
33980 it.
33981 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
33982 (pupa_rescue_cmd_cat): Likewise.
33983 (pupa_rescue_cmd_ls): Likewise.
33984 (pupa_rescue_cmd_testload): Likewise.
33985 (pupa_rescue_cmd_lsmod): Likewise.
33986 * normal/cmdline.c (pupa_cmdline_get): Likewise.
33987 * normal/menu.c (run_menu): Likewise.
33988 * kern/term.c (pupa_cls): Likewise.
33989 (pupa_refresh): New function.
33990 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
33991 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
33992 * util/console.c: New file.
33993
33994 * util/i386/pc/getroot.c: New file.
33995 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
33996 (pupa_putchar): New function.
33997 (pupa_refresh): Likewise.
33998 (xgetcwd): Function moved to ...
33999 (strip_extra_slashes): Likewise.
34000 (get_prefix): Likewise.
34001 * util/i386/pc/getroot.c: ... here.
34002 (find_root_device): Function moved and renamed to...
34003 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
34004 Changed all callers.
34005 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
34006 and renamed to...
34007 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
34008 Changed all callers.
34009 * util/misc.c (pupa_memalign): New function.
34010 (pupa_mm_init_region): Likewise.
34011 (pupa_register_exported_symbols): Likewise.
34012 (pupa_putchar): Function removed.
34013 * util/pupa-emu.c: New file.
34014
34015 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
34016
34017 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
34018 (_multiboot_mod_SOURCES): New variable.
34019 (_multiboot_mod_CFLAGS): Likewise.
34020 * loader/i386/pc/multiboot.c: New file.
34021 * include/pupa/i386/pc/multiboot.h: Likewise.
34022 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
34023 (pupa_multiboot_real_boot): New function.
34024 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
34025 (pupa_multiboot_real_boot): New prototype.
34026 (pupa_rescue_cmd_multiboot): Likewise
34027 (pupa_rescue_cmd_module): Likewise.
34028
34029 * kern/loader.c (pupa_loader_set): Continue when
34030 pupa_loader_unload_func() fails.
34031 (pupa_loader_unset): New function.
34032 * include/pupa/loader.h (pupa_loader_unset): New prototype.
34033
34034 * kern/misc.c (pupa_stpcpy): New function.
34035 * include/pupa/misc.h (pupa_stpcpy): New prototype.
34036
34037 2003-11-12 Marco Gerards <metgerards@student.han.nl>
34038
34039 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
34040 for available extensions.
34041
34042 * include/pupa/i386/pc/time.h: New file.
34043 * kern/disk.c: Include <pupa/machine/time.h>.
34044 (PUPA_CACHE_TIMEOUT): New macro.
34045 (pupa_last_time): New variable.
34046 (pupa_disk_open): Flush the cache when there was a timeout.
34047 (pupa_disk_close): Reset the timer.
34048 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
34049 pupa_currticks.
34050 * util/misc.c: Include <sys/times.h>
34051 (pupa_get_rtc): New function.
34052
34053 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34054
34055 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
34056 as blocks.
34057 (pupa_ext2_get_file_block): Use blocks member.
34058
34059 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
34060 first block. Return -1 instead of pupa_errno on error.
34061
34062 2003-10-27 Marco Gerards <metgerards@student.han.nl>
34063
34064 * README: In the pupa-mkimage example use _chain instead of chain
34065 and ext2 instead of fat.
34066 * TODO: Replace ext2fs with jfs as an example. Add an item for
34067 adding journal playback for ext2fs.
34068 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
34069 (pkgdata_MODULES): Added ext2.mod.
34070 (ext2_mod_SOURCES): New variable.
34071 (ext2_mod_CFLAGS): Likewise.
34072 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
34073 * include/pupa/misc.h (pupa_strncpy): New prototype.
34074 (pupa_strcat): Likewise.
34075 (pupa_strncmp): Likewise.
34076 * kern/misc.c (pupa_strcat): Enable function.
34077 (pupa_strncpy): New function.
34078 (pupa_strncmp): Likewise.
34079 * fs/ext2.c: New file.
34080
34081 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
34082 when the read failed before retrying.
34083 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
34084 (_FILE_OFFSET_BITS): Likewise.
34085 * configure.ac: Added AC_SYS_LARGEFILE.
34086
34087 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34088
34089 * genmk.rb (PModule#rule): Make sure to get only symbol names
34090 from the output of nm.
34091 Reported by Robert Millan <rmh.grub@aybabtu.com>.
34092
34093 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34094
34095 I forgot to check in these changes for a long time. This adds
34096 incomplete support for VGA console, and this is still very
34097 buggy. Also, a lot of consideration is required for I18N,
34098 UNICODE, and VGA font issues. Therefore, assume that this is
34099 such that "better than nothing".
34100
34101 * font/manager.c: New file.
34102 * include/pupa/font.h: Likewise.
34103 * include/pupa/i386/pc/vga.h: Likewise.
34104 * term/i386/pc/vga.c: Likewise.
34105 * util/unifont2pff.rb: Likewise.
34106
34107 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
34108 (pkgdata_MODULES): Added vga.mod and font.mod.
34109 (vga_mod_SOURCES): New variables.
34110 (vga_mod_CFLAGS): Likewise.
34111 (font_mod_SOURCES): Likewise.
34112 (font_mod_CFLAGS): Likewise.
34113
34114 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
34115
34116 * include/pupa/term.h: Include pupa/err.h.
34117 (struct pupa_term): Added init and fini.
34118 Changed the argument of putchar to pupa_uint32_t.
34119
34120 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
34121 (pupa_console_real_putchar): New prototype.
34122 (pupa_console_putchar): Removed.
34123 (pupa_console_checkkey): Exported.
34124 (pupa_console_getkey): Likewise.
34125
34126 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
34127 characters.
34128
34129 * kern/term.c (pupa_term_set_current): Rewritten.
34130 (pupa_putchar): Likewise.
34131 (pupa_putcode): New function.
34132
34133 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
34134 (pupa_console_real_putchar): ... this.
34135 (pupa_vga_set_mode): New function.
34136 (pupa_vga_get_font): Likewise.
34137
34138 * normal/command.c: Include pupa/term.h.
34139 (terminal_command): New function.
34140 (pupa_command_init): Register the command "terminal".
34141
34142 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
34143 (DISP_UP): Likewise.
34144 (DISP_RIGHT): Likewise.
34145 (DISP_DOWN): Likewise.
34146 (DISP_HLINE): Likewise.
34147 (DISP_VLINE): Likewise.
34148 (DISP_UL): Likewise.
34149 (DISP_UR): Likewise.
34150 (DISP_LL): Likewise.
34151 (DISP_LR): Likewise.
34152
34153 * term/i386/pc/console.c (pupa_console_putchar): New function.
34154
34155 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
34156
34157 * util/resolve.c (pupa_util_resolve_dependencies): BUG
34158 FIX. Reverse the path_list.
34159
34160 * include/pupa/normal.h: Export pupa_register_command and
34161 pupa_unregister_command.
34162
34163 * hello/hello.c (pupa_cmd_hello): New module.
34164 * conf/i386-pc.rmk: Added hello.mod.
34165
34166 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
34167
34168 * kern/i386/pc/lzo1x.S: New file.
34169
34170 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
34171 (compress_kernel): New variable.
34172 (generate_image): Heavily modified to support compressing a
34173 large part of the core image.
34174
34175 * util/misc.c (pupa_util_read_image): Fix a file descriptor
34176 leak.
34177 (pupa_util_load_image): New function.
34178
34179 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
34180 (pupa_compressed_size): New variable.
34181 (codestart): Enable Gate A20 here.
34182 Decompress the compressed part of the core image.
34183 Rearrange the code to put functions and variables which are
34184 required for initialization in the non-compressed part.
34185 Include lzo1x.S.
34186
34187 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
34188 here.
34189
34190 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
34191
34192 * include/pupa/i386/pc/kernel.h
34193 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
34194 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
34195 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34196 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34197 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
34198
34199 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
34200
34201 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
34202 (Utility#rule): Likewise.
34203
34204 * configure.ac: Check if LZO is available.
34205
34206 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
34207
34208 * include/pupa/normal.h: New file.
34209 * include/pupa/setjmp.h: Likewise.
34210 * include/pupa/i386/setjmp.h: Likewise.
34211 * normal/cmdline.c: Likewise.
34212 * normal/command.c: Likewise.
34213 * normal/main.c: Likewise.
34214 * normal/menu.c: Likewise.
34215 * normal/i386/setjmp.S: Likewise.
34216
34217 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
34218 (pupa_rescue_cmd_initrd): Likewise.
34219
34220 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
34221 Likewise.
34222
34223 * kern/i386/pc/startup.S (translation_table): New variable.
34224 (translate_keycode): New function.
34225 (pupa_console_getkey): Call translate_keycode.
34226
34227 * kern/rescue.c (attempt_normal_mode): New function.
34228 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
34229 it failed, print a message.
34230
34231 * kern/mm.c (pupa_real_malloc): Print more information when a
34232 free magic is broken.
34233 (pupa_free): If the first free header is not free actually, set
34234 it to P.
34235
34236 * kern/main.c (pupa_load_normal_mode): Just load the module
34237 "normal".
34238 (pupa_main): Don't print the message
34239 "Entering into rescue mode..." here.
34240
34241 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
34242 Declared.
34243 (pupa_rescue_cmd_initrd): Likewise.
34244 (pupa_rescue_cmd_initrd): Likewise.
34245
34246 * include/pupa/symbol.h (FUNCTION): Specify the type.
34247 (VARIABLE): Likewise.
34248
34249 * include/pupa/err.h (pupa_err_t): Added
34250 PUPA_ERR_UNKNOWN_COMMAND.
34251
34252 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
34253 (pupa_dl_get_prefix): Likewise.
34254
34255 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
34256 Added _chain.mod and _linux.mod instead of chain.mod and
34257 linux.mod.
34258 (chain_mod_SOURCES): Renamed to ...
34259 (_chain_mod_SOURCES): ... this.
34260 (chain_mod_CFLAGS): Renamed to ...
34261 (_chain_mod_CFLAGS): ... this.
34262 (linux_mod_SOURCES): Renamed to ...
34263 (_linux_mod_SOURCES): ... this.
34264 (linux_mod_CFLAGS): Renamed to ...
34265 (_linux_mod_CFLAGS): ... this.
34266 (normal_mod_SOURCES): New variable.
34267 (normal_mod_CFLAGS): Likewise.
34268 (normal_mod_ASFLAGS): Likewise.
34269
34270 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
34271
34272 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
34273 possible.
34274
34275 * kern/dl.c (pupa_dl_ref): Refer depending modules
34276 recursively.
34277 (pupa_dl_unref): Unrefer depending modules recursively.
34278 Don't call pupa_dl_unload implicitly, because PUPA can crash if
34279 a module is unloaded before one depending on that module is
34280 unloaded.
34281 (pupa_dl_unload): Unload depending modules explicitly,
34282 if possible.
34283
34284 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
34285
34286 * include/pupa/i386/pc/linux.h: New file.
34287 * loader/i386/pc/linux.c: Likewise.
34288
34289 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
34290 Removed.
34291 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
34292 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
34293 of PUPA_CHAINLOADER_BOOT_SECTOR.
34294
34295 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
34296 (pupa_linux_prot_size): New variable.
34297 (pupa_linux_tmp_addr): Likewise.
34298 (pupa_linux_real_addr): Likewise.
34299 (pupa_linux_boot_zimage): New function.
34300 (pupa_linux_boot_bzimage): Likewise.
34301
34302 * kern/i386/pc/init.c (struct mem_region): New structure.
34303 (MAX_REGIONS): New macro.
34304 (mem_regions): New variable.
34305 (num_regions): Likewise.
34306 (pupa_os_area_addr): Likewise.
34307 (pupa_os_area_size): Likewise.
34308 (pupa_lower_mem): Likewise.
34309 (pupa_upper_mem): Likewise.
34310 (add_mem_region): New function.
34311 (compact_mem_regions): Likewise.
34312 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
34313 the size of the conventional memory and that of so-called upper
34314 memory (before the first memory hole).
34315 Instead of adding each found region to free memory, use
34316 add_mem_region and add them after removing overlaps.
34317 Also, add only 1/4 of the upper memory to free memory. The rest
34318 is used for loading OS images. Maybe this is ad hoc, but this
34319 makes it much easier to relocate OS images when booting.
34320
34321 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
34322 (pupa_enter_rescue_mode): Don't register initrd and module.
34323
34324 * kern/mm.c: Include pupa/dl.h.
34325
34326 * kern/main.c: Include pupa/file.h and pupa/device.h.
34327
34328 * kern/loader.c (pupa_loader_load_module_func): Removed.
34329 (pupa_loader_load_module): Likewise.
34330
34331 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
34332 ``.o''.
34333
34334 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
34335 (pupa_linux_tmp_addr): Likewise.
34336 (pupa_linux_real_addr): Likewise.
34337 (pupa_linux_boot_zimage): Likewise.
34338 (pupa_linux_boot_bzimage): Likewise.
34339
34340 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
34341 (pupa_upper_mem): Likewise.
34342 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
34343 module is too dangerous.
34344
34345 * include/pupa/loader.h (pupa_os_area_addr): Declared.
34346 (pupa_os_area_size): Likewise.
34347 (pupa_loader_set): Remove the first argument. Loader doesn't
34348 manage modules or initrd any longer.
34349 (pupa_loader_load_module): Removed.
34350
34351 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
34352 (linux_mod_SOURCES): New variable.
34353 (linux_mod_CFLAGS): Likewise.
34354
34355 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
34356
34357 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
34358 the length of a blocklist correctly.
34359
34360 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
34361 Use ioctl only if the OS file is a block device.
34362 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
34363 not very useful for normal files.
34364
34365 * kern/main.c (pupa_set_root_dev): New function.
34366 (pupa_load_normal_mode): Likewise.
34367 (pupa_main): Call those above.
34368
34369 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
34370 pupa_uint16_t.
34371
34372 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
34373
34374 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34375
34376 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
34377 (setup): Configure the installed partition information and the
34378 dl prefix.
34379
34380 * loader/i386/pc/chainloader.c (my_mod): New variable.
34381 (pupa_chainloader_unload): New function.
34382 (pupa_rescue_cmd_chainloader): Refer itself.
34383 (PUPA_MOD_INIT): Save its own module in MY_MOD.
34384
34385 * kern/i386/pc/startup.S (install_partition): Removed.
34386 (version_string): Likewise.
34387 (config_file): Likewise.
34388 (pupa_install_dos_part): New variable.
34389 (pupa_install_bsd_part): Likewise.
34390 (pupa_prefix): Likewise.
34391 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
34392
34393 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
34394 and pupa/misc.h.
34395 (make_install_device): New function.
34396 (pupa_machine_init): Set the dl prefix.
34397
34398 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
34399 (buf): Renamed to ...
34400 (linebuf): ... this.
34401 (pupa_rescue_cmd_prefix): New function.
34402 (pupa_rescue_cmd_insmod): Likewise.
34403 (pupa_rescue_cmd_rmmod): Likewise.
34404 (pupa_rescue_cmd_lsmod): Likewise.
34405 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
34406 rmmod and lsmod.
34407
34408 * kern/mm.c (pupa_memalign): If failed even after invalidating
34409 disk caches, unload unneeded modules and retry.
34410
34411 * kern/misc.c (pupa_memmove): New function.
34412 (pupa_memcpy): Removed.
34413 (pupa_strcpy): New function.
34414 (pupa_itoa): Made static.
34415
34416 * kern/dl.c (pupa_dl_iterate): New function.
34417 (pupa_dl_ref): Likewise.
34418 (pupa_dl_unref): Likewise.
34419 (pupa_dl_unload): Return if succeeded or not.
34420 (pupa_dl_unload_unneeded): New function.
34421 (pupa_dl_unload_all): Likewise.
34422 (pupa_dl_init): Renamed to ...
34423 (pupa_dl_set_prefix): ... this.
34424 (pupa_dl_get_prefix): New function.
34425
34426 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
34427 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
34428 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34429 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34430 (pupa_install_dos_part): Declared.
34431 (pupa_install_bsd_part): Likewise.
34432 (pupa_prefix): Likewise.
34433 (pupa_boot_drive): Likewise.
34434
34435 * include/pupa/types.h: Fix a typo.
34436
34437 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
34438 pupa_memmove.
34439 (pupa_memmove): Declared.
34440 (pupa_strcpy): Likewise.
34441
34442 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
34443 pupa_mod_init takes one argument, its own module.
34444 (pupa_dl_unload_unneeded): Declared.
34445 (pupa_dl_unload_all): Likewise.
34446 (pupa_dl_ref): Likewise.
34447 (pupa_dl_unref): Likewise.
34448 (pupa_dl_iterate): Likewise.
34449 (pupa_dl_init): Renamed to ...
34450 (pupa_dl_set_prefix): ... this.
34451 (pupa_dl_get_prefix): Declared.
34452
34453 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
34454 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
34455 unloaded.
34456 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
34457 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
34458
34459 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
34460 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
34461
34462 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34463
34464 * util/i386/pc/pupa-setup.c (setup): Define the internal
34465 function find_first_partition_start at the top level, because GCC
34466 3.0.x cannot compile internal functions in deeper scopes
34467 correctly.
34468 (find_root_device): Use lstat instead of stat.
34469 Don't follow symbolic links.
34470 Fix the path-constructing code.
34471
34472 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
34473 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
34474 by a BLKGETSIZE ioctl first, because block devices don't fill
34475 the member st_mode of the structure stat on Linux.
34476 [__linux__] (linux_find_partition): Use a temporary buffer
34477 REAL_DEV for the working space. Copy it to DEV before returning.
34478 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
34479 buffer cache consistent.
34480 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
34481 strncmp. The previous value was merely wrong.
34482 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
34483
34484 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
34485 FAT size is 12. The previous value was merely wrong.
34486
34487 * kern/main.c (pupa_main): Don't split the starting message from
34488 newlines.
34489
34490 * kern/term.c (pupa_putchar): Put CR after LF instead of before
34491 LF, because BIOS goes crazy about character attributes in this
34492 case.
34493
34494 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34495
34496 * include/i386/pc/util/biosdisk.h: New file.
34497 * util/i386/pc/biosdisk.c: Likewise.
34498 * util/i386/pc/pupa-setup.c: Likewise.
34499
34500 * Makefile.in (INCLUDE_DISTFILES): Added
34501 include/pupa/i386/pc/util/biosdisk.h.
34502 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
34503 directory util/i386/pc.
34504 (install-local): Added a rule for sbin_UTILITIES.
34505 (uninstall): Likewise.
34506
34507 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
34508
34509 * util/misc.c (xrealloc): New function.
34510 (pupa_malloc): Likewise.
34511 (pupa_free): Likewise.
34512 (pupa_realloc): Likewise.
34513 (pupa_stop): Likewise.
34514 (pupa_putchar): Likewise.
34515
34516 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
34517
34518 * include/pupa/util/misc.h (xrealloc): Declared.
34519
34520 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
34521 macro.
34522 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
34523 (PUPA_BOOT_MACHINE_BPB_END): ... this.
34524
34525 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
34526 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34527
34528 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
34529 way should be implemented.
34530 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34531
34532 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
34533 the size of NAME for safety.
34534 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
34535 0x88.
34536
34537 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
34538 (pupa_setup_SOURCES): Likewise.
34539
34540 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
34541
34542 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34543
34544 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
34545 bunch of pushl's from pusha, because this destroys the return
34546 value.
34547
34548 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34549
34550 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
34551 This means that any missing prototypes could be fatal. Also, you
34552 must take care when writing assembly code. See the comments at
34553 the beginning of startup.S, for more details.
34554
34555 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
34556 compilation mechanism.
34557 (pupa_chainloader_real_boot): Likewise.
34558 (pupa_biosdisk_rw_int13_extensions): Likewise.
34559 (pupa_biosdisk_rw_standard): Likewise.
34560 (pupa_biosdisk_check_int13_extensions): Likewise.
34561 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
34562 (pupa_biosdisk_get_diskinfo_standard): Likewise.
34563 (pupa_get_memsize): Likewise.
34564 (pupa_get_mmap_entry): Likewise.
34565 (pupa_console_putchar): Likewise.
34566 (pupa_console_setcursor): Likewise.
34567 (pupa_getrtsecs): Use pushl instead of push.
34568
34569 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
34570 memory instead of the stack for a mmap entry, because some
34571 BIOSes may ignore the maximum size and overflow.
34572
34573 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
34574
34575 * genmk.rb (PModule#rule): Compile automatically generated
34576 sources with module-specific CFLAGS as well as other sources.
34577
34578 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34579
34580 * configure.ac: Check ld.
34581 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
34582 respectively, before checking endianness and sizes.
34583
34584 * Makefile.in (LD): New variable.
34585
34586 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34587
34588 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
34589
34590 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34591
34592 * Changelog: New file.
34593