]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
[grub2.git] / ChangeLog
CommitLineData
5ee04984
VS
12011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
4
f4727da9
VS
52011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Use libgeom on FreeBSD to detect partitions.
8
9 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
10 (grub-mkrelpath): Likewise.
11 (grub-script-check): Likewise.
12 (grub-editenv): Likewise.
13 (grub-mkpasswd-pbkdf2): Likewise.
14 (grub-fstest): Likewise.
15 (grub-mkfont): Likewise.
16 (grub-mkdevicemap): Likewise.
17 (grub-probe): Likewise.
18 (grub-setup): Likewise.
19 (grub-ofpathname): Likewise.
20 (grub-mklayout): Likewise.
21 (example_unit_test): Likewise.
22 (grub-menulst2cfg): Likewise.
23 * grub-core/Makefile.core.def (grub-emu): Likewise.
24 (grub-emu-lite): Likewise.
25 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
26 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
27 define HAVE_DIOCGDINFO.
28 (follow_geom_up) [FreeBSD]: New function.
29 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
30 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
31 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
32 unconditionally of HAVE_DIOCGDINFO.
33
82fe6c75
VS
342011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
35
36 Fix FreeBSD compilation problem.
37
38 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
39 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
40
4c6c9431
CW
412011-03-24 Colin Watson <cjwatson@ubuntu.com>
42
43 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
44 Switch back to page zero before loading a kernel, since some kernel
45 drivers expect that.
46 Thanks to: Felix Kuehling.
47
c7064d94
VS
482011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
51 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
52 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
53
3f71cded
VS
542011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
57 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
58
ef6de21a
VS
592011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
62 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
63 malloc is disabled.
64
8bc66a2c
VS
652011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
68 for modules headers when counting the needed allocation size.
69
5657722c
VS
702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
73 if no ASCII character is found to prevent crash.
74
41a85f55
AK
752011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
76
77 * grub-core/video/bitmap.c (match_extension): Ignore case.
78
59e1e5f1
VS
792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
82
bd4d051a
VS
832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
84
85 * grub-core/script/parser.y: Declare "time" as valid argument.
86
bae7fcc1
PJ
872011-03-23 Peter Jones <pjones@redhat.com>
88
89 Fix incorrect assert failure reporting.
90
91 * grub-core/tests/example_functional_test.c (example_test): Add
92 a failure comment.
93 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
94 (failure_start): ...this. Check that malloc succeeded.
95 Don't call xvasprintf. Return failure struct.
96 (failure_append_vtext): New function.
97 (failure_append_text): Likewise.
98 (add_failure): Likewise.
99 (grub_test_assert_helper): Likewise.
100 * include/grub/test.h (grub_test_assert_helper): New declaration.
101 (grub_test_assert): Macro rewritten.
102
537dc9be
VS
1032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
106
fa3e01bf
VS
1072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
110
b1d28404
VS
1112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
114 into GRUB-style one.
115
2e3e2e09
VS
1162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
119 error and not grub_errno.
120 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
121
ed57e557
VS
1222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
125 GRUB_USB_SPEED_NONE in case of failure and not the error code.
126
d1611f01
VS
1272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * grub-core/efiemu/i386/pc/cfgtables.c
130 (grub_machine_efiemu_init_tables): Make declaration a prototype.
131 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
132 (grub_xnu_unlock): Likewise.
133 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
134
7d4e39d6
VS
1352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
138 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
139 * grub-core/commands/hashsum.c (aliases): Likewise.
140 * grub-core/commands/setpci.c (pci_registers): Likewise.
141 * grub-core/disk/usbms.c (attach_hook): Likewise.
142 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
143 (zio_checksum_table): Likewise.
144 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
145 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
146 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
147 * grub-core/lib/relocator.c (leftovers): Likewise.
148 (extra_blocks): Likewise.
149 * grub-core/loader/i386/bsd.c (relocator): Likewise.
150 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
151 (modules_last): Likewise.
152 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
153 (devices): Likewise.
154 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
155 (modules_last): Likewise.
156 * grub-core/normal/auth.c (users): Likewise.
157 * grub-core/normal/context.c (initial_menu): Likewise.
158 (current_menu): Likewise.
159 * grub-core/normal/crypto.c (crypto_specs): Likewise.
160 * grub-core/term/serial.c (grub_serial_ports): Likewise.
161 (grub_serial_terminfo_input_template): Likewise.
162 (grub_serial_terminfo_output_template): Likewise.
163 (grub_serial_terminfo_input): Likewise.
164 (grub_serial_terminfo_output): Likewise.
165 (registered): Likewise.
166 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
167
40fc4659
VS
1682011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
171 grub_video_mode_type_t.
172 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
173 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
174 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
175
2da48d28
VS
1762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * util/grub-install.in: Correct the x86-64 name as x86_64.
179
9b43bf39
CW
1802011-03-11 Colin Watson <cjwatson@ubuntu.com>
181
182 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
183 initial chunk read from the kernel always includes GRUB's multiboot
184 header, which is now outside the first sector.
185
be1a7ce0
CW
1862011-03-09 Colin Watson <cjwatson@ubuntu.com>
187
188 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
189 cached mmap_size, so that this works correctly when called multiple
190 times.
191 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
192
83a3c48d
CW
1932011-03-09 Colin Watson <cjwatson@ubuntu.com>
194
195 * docs/grub.texi (Simple configuration): Tidy up formatting.
196
57d75699
SJ
1972011-03-07 Szymon Janc <szymon@janc.net.pl>
198
199 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
200 Set-but-not-used variable removed.
201
028501a0
VS
2022011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
203
204 Workaround yet another IEEE1275 bug.
205
206 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
207 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
208 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
209 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
210 is set.
211 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
212 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
213
d998657d
VS
2142011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
217 error.
218
fee7cdd4
CW
2192011-02-11 Colin Watson <cjwatson@ubuntu.com>
220
221 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
222 empty, since in that case we can only generate either nothing or a
223 syntactically invalid configuration file.
224 Reported by: Michal Suchanek. Fixes Debian bug #612898.
225
97286eb5
CW
2262011-02-09 Colin Watson <cjwatson@ubuntu.com>
227
228 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
229 (Making a GRUB bootable CD-ROM): Likewise.
230 (Invoking grub-mkrescue): New section.
231 Reported by: Yann Dirson. Fixes Debian bug #612585.
232
22b28eb3
CW
2332011-02-09 Colin Watson <cjwatson@ubuntu.com>
234
235 * util/grub-install.in: Remove unnecessary brackets from tr
236 arguments.
237 * util/grub.d/10_hurd.in: Likewise.
238 * util/grub.d/10_kfreebsd.in: Likewise.
239 * util/grub.d/10_linux.in: Likewise.
240 * util/grub.d/20_linux_xen.in: Likewise.
241 Reported by: Jamie Heilman. Fixes Debian bug #612564.
242
7e735e43
CW
2432011-02-08 Colin Watson <cjwatson@ubuntu.com>
244
245 * include/grub/file.h (not_easly_seekable): Rename to ...
246 (not_easily_seekable): ... this. Update all users.
247
800f1881
CW
2482011-01-28 Colin Watson <cjwatson@ubuntu.com>
249
250 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
251 grub-mkrescue.
252
3281d3d6
VS
2532011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * util/grub-mkimage.c (generate_image): Refuse to create the images
256 bigger than the actual flash (512K) in Loongson machines. 512K is also
257 the biggest chip supported by them.
258
3533413c
VS
2592011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
262
73ae4f4f
VS
2632011-01-22 Anthony DeRobertis <anthony@derobert.net>
264
265 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
266 super_offset field.
267
37f4f608
VS
2682011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * util/grub-install.in: Ignore install device on platforms
271 where it doesn't make sense. Always use UUIDs except on pc, efi and
272 sparc64.
273 Reported by: Daniel Kahn Gillmor.
274
03a4ccb5
VS
2752011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
278
ffc8f4d8
VS
2792011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
282 (iterate_real): Don't rely on partition being non-NULL.
283
80f23be7
VS
2842011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
287 supported platforms. Put a compile time assert for this rather than
288 generate a warning with 32-bit shift.
289
5d4f4dd5
VS
2902011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
293 logical expression more readable.
294
e489601a
VS
2952011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
298 even if some elements have a name.
299 Reported by: Alexander GQ Gerasiov.
300
96e0a6ea
CW
3012011-01-22 Colin Watson <cjwatson@ubuntu.com>
302
303 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
304 path unreadable if `grub-probe -t abstraction' fails, for example if
305 memberlist fails on an LVM volume group.
306 Reported by: Darius Jahandarie.
307
81431e2b
CW
3082011-01-22 Colin Watson <cjwatson@ubuntu.com>
309
310 * docs/grub.texi (Simple configuration): Document
311 GRUB_PRELOAD_MODULES.
312
5e79d66a
CW
3132011-01-17 Colin Watson <cjwatson@ubuntu.com>
314
315 * .bzrignore: Remove nonexistent grub-pbkdf2.
316
646ada34
VS
3172011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * configure.ac: Bump version to 1.99~rc1.
320
04360337
VS
3212011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
324 for safety.
325
46c9db88
VS
3262011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
329 module.
330
3312011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
332
333 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
334
4fbf1852
VS
3352011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
338 diskdevid.
339
f1632d4d
VS
3402011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
341
342 Fix compilation on cygwin.
343
344 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
345 -R .drectve on cygwin.
346 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
347 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
348 (COND_CYGWIN): New condition.
349 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
350 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
351 not @TARGET_OBJ2ELF@.
352 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
353 type to determine whether aux is to be used.
354
0b5e127b
VS
3552011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
358 realpath'ed device string.
359 Handle floppy (somewhat).
360 Issue error in unknown case rather than garbage.
361 Reported by: Axel Beckert.
362
173b71e9
VS
3632011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * util/grub.d/00_header.in (load_video): Handle the case when no video
366 drivers available.
367 Thanks to: Axel Beckert.
368
f8f479db
VS
3692011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
372 variable. Fixes problem on big endian platforms.
373
8fc0a245
VS
3742011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
377 It doesn't work well there.
378
b8494fbe
VS
3792011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
380
381 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
382 warning.
383 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
384 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
385 counter.
386
b44a558c
VS
3872011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
388
389 Use alias->path rather than buggy "canon".
390
391 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
392 (ofdisk_hash_add): New argument curcan. All users updated.
393
51fa856c
CW
3942011-01-11 Colin Watson <cjwatson@ubuntu.com>
395
396 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
397
9da068a5
VS
3982011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
401 loadmask before doing any calculations. Use correct type for offset.
402 (grub_linux_load64): Likewise.
403
86205c94
CW
4042011-01-11 Colin Watson <cjwatson@ubuntu.com>
405
406 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
407 with NULL.
408 (console_grub_equivalences_unshift): Likewise.
409 Reported by: Daniel Dehennin.
410
4531a206
VS
4112011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
414 (set_env_limn_ro): Likewise.
415 (GRUB_MOD_INIT): Likewise.
416 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
417 ARRAY_SIZE while on it.
418 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
419 * grub-core/normal/context.c (grub_env_export): Move from here ...
420 * grub-core/kern/env.c (grub_env_export): ... here.
421 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
422 prefix.
423 * grub-core/kern/main.c (grub_main): Export root and prefix.
424 * include/grub/env.h (grub_env_export): Export.
425 Reported by: Seth Goldberg.
426
45146057
VS
4272011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
430 Take into account space used by ELF sections and multiboot palette.
431 Reported by: Grégoire Sutre.
432
f093110b
VS
4332011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * BUGS: New file.
436
3395fe52
VS
4372011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
438
439 Pass more appropriate video id to Linux.
440
441 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
442 grub_video_get_driver_id and variable gfxpayloadforcelfb to
443 fill have_vga.
444 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
445 shift params->lfb_size.
446 * include/grub/i386/linux.h: Make an enume out of have_vga values.
447
c2fa6cbb
VS
4482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * util/grub-menulst2cfg.c: Add missing include of misc.h.
451
b3ff6ff0
VS
4522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
455 separator and pass bootpath/devid even if only one of them is available.
456 Reported by: Seth Goldberg.
457
ae67942e
VS
4582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
459
460 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
461 implementations bug on them.
462
463 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
464 memory.
465 (filter_memory_map): Likewise.
466
d570097a
VS
4672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
470 Reported by: nebuchadnezzar.
471
a508e776
VS
4722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
475 Reported by: nebuchadnezzar.
476
dcb883b1
VS
4772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
478
479 Submenu default support.
480
481 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
482 auto_boot. All users updated.
483 Declared static.
484 Handle chosen and default with submenus.
485 (grub_menu_execute_with_fallback): Declared static.
486 Don't notify failure if autobooted. Upper level does it.
487 (menuentry_eq): New function.
488 (get_entry_number): Use menuentry_eq.
489 (show_menu): New parameter "autobooted". All users updated.
490 (grub_show_menu): Likewise.
491 * include/grub/normal.h (grub_show_menu): Likewise.
492 * include/grub/menu.h (grub_menu_execute_entry): Removed.
493 (grub_menu_execute_with_fallback): Likewise.
494
6fef99b4
VS
4952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * util/grub-mklayout.c (usage): Update help text.
498
47a77af5
VS
4992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
502
ce6bb3ee
VS
5032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * util/grub-menulst2cfg.c (main): Trim the line.
506
db87be2a
VS
5072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
510 (grub_machine_init): Don't check amount of low memory as reportedly
511 INT 12h can be broken and if low memory is too low we wouldn't have
512 gotten into grub_machine_init anyway.
513
c49849cc
VS
5142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
517 (grub_machine_mmap_iterate): Take low memory into account
518
b1969b30
VS
5192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
522 badfs.
523 Reported by: TiCPU.
524
cf0eaf13
VS
5252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
528 members errors.
529
1f060f39
GS
5302011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
531
532 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
533 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
534
a21e5672
GS
5352011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
536
537 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
538 openbsd and netbsd types being in part_bsd module.
539
c88172fa
VS
5402011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
543 (_FILE_OFFSET_BITS): Likewise.
544 Reported by: Seth Goldberg.
545
53798c4b
GS
5462011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
547
548 * configure.ac: Check for libdevmapper header.
549
e7121b69
VS
5502011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
553 avoid aliasing.
554 (fzap_lookup): Likewise.
555 (dnode_get): Likewise.
556 (make_mdn): Likewise.
557 (zfs_mount): Likewise.
558 (fzap_iterate): Use temporary pointer to avoid aliasing.
559 (grub_zfs_read): Likewise.
560 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
561 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
562 pointers to avoid aliasing.
563 (grub_cmd_xnu_kernel64): Likewise.
564 (grub_xnu_load_driver): Likewise.
565
fc836af9
VS
5662011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
569 aliasing warning.
570 (grub_cmd_terminal_output): Likewise.
571 Reported and tested by: Grégoire Sutre.
572
f9f37648
VS
5732011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
576 warning.
577 Reported and tested by: Grégoire Sutre.
578
ec1dfd63
VS
5792011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * configure.ac: Do CPU substitution even if it's specified explicitly.
582 Reported and tested by: Alain Greppin.
583
9462775a
VS
5842011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
587 Reported and tested by: Alain Greppin.
588
0fd48e35
VS
5892011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
590
591 Satisfy some bison versions need for inttypes.h.
592
593 * grub-core/lib/posix_wrap/inttypes.h: New file.
594 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
595 (int16_t): Likewise.
596 (int32_t): Likewise.
597 (int64_t): Likewise.
598 Reported and tested by: Alain Greppin.
599
43f1bc83
VS
6002011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
603 Silence spurious warning.
604 Reported and tested by: Alain Greppin.
605
64d1f041
SJ
6062011-01-07 Szymon Janc <szymon@janc.net.pl>
607
608 * docs/grub.texi (Support automatic decompression): Update with xz
609 decompression support.
610
25953e10
SJ
6112011-01-07 Szymon Janc <szymon@janc.net.pl>
612
613 Improve loaders' kernel command line handling.
614
615 * grub-core/lib/cmdline.c: New file.
616 * include/grub/lib/cmdline.h: Likewise.
617 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
618 grub_create_loader_cmdline to create kernel command line.
619 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
620 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
621 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
622 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
623 (linux): Add lib/cmdline.c on common.
624
e72d259f
VS
6252011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
628 inopos might be unaligned.
629
c0cf26da
VS
6302011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
633 endian transformations.
634 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
635 Based on report by: Doug Nazar.
636
0ca09e6c
DN
6372011-01-07 Doug Nazar <nazard.michi@gmail.com>
638
639 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
640 array->members[i].start_sector.
641 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
642
014b6806
VS
6432011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
646 Reported and tested by: Grégoire Sutre.
647
415502c2
CW
6482011-01-06 Colin Watson <cjwatson@ubuntu.com>
649
650 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
651 avoid causing test failures by clearing the screen.
652
71b6a2b7
CW
6532011-01-06 Colin Watson <cjwatson@ubuntu.com>
654
655 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
656 Fix prefix check to handle the case where dir ends with a slash
657 (most significantly, "/" itself).
658 Reported by: Michael Vogt.
659
b3f8d28a
VS
6602011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
661
662 Run terminfo_cls on initing terminfo output to clear the screen and
663 move the cursor to (0,0).
664
665 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
666 Call grub_terminfo_output_init.
667 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
668 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
669 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
670
4c3e4f37
VS
6712011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
674 only when needed.
675
488f71f1
VS
6762011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
679 CTRL.
680
18a38098
VS
6812011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
682
683 The E820 type 5 is BADRAM, not EXEC_CODE.
684
685 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
686 (GRUB_E820_BADRAM): New define.
687 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
688 into reserved. Propagate BADRAM.
689 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
690 (GRUB_E820_BADRAM): New define.
691
9eae2084
VS
6922011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
695 Ignore the memory post-4G.
696 (grub_relocator_firmware_alloc_region): Additional debug statement.
697
ebc71d28
VS
6982011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
701 names.
702 Reported by: David Pravec.
703
446fa400
VS
7042011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
707 BIOSes.
708
a0159f37
VS
7092011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
712 Prevent overflow.
713 (grub_reed_solomon_recover): Likewise.
714
e5146ca1
VS
7152011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
718
7192011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
720
721 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
722 variable.
723
5b1bdf12
CW
7242011-01-04 Colin Watson <cjwatson@ubuntu.com>
725
726 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
727 descriptions of extract_legacy_entries_source and
728 extract_legacy_entries_configfile.
729 Reported by: Seung Soo, Ha.
730
99d925aa
CW
7312011-01-03 Colin Watson <cjwatson@ubuntu.com>
732
733 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
734 on devices that do not implement function 0.
735
4af0504b
DV
7362011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
737
738 * grub-core/fs/hfsplus.c: Make parent unsigned.
739 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
740 overflows.
741 (grub_hfsplus_cmp_extkey): Likewise
742
469ee10a
VS
7432011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * util/grub-install.in: Correctly use bootloader_id and not
746 GRUB_DISTRIBUTOR on efibootmgr line.
747
323a8e9c
VS
7482011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
751
1b394975
IC
7522010-12-31 Ian Campbell <ijc@hellion.org.uk>
753
754 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
755 Xen and reorder menu item wording to make it clearer that this entry
756 will launch Xen. Print separate messages when loading Xen and
757 Linux.
758
275bff5f
VS
7592010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
762 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
763 loop in case of incorrect amiga partmap.
764
307806cb
VS
7652010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
768 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
769 Reported by:EHeM.
770
b12b923e
VS
7712010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
774 spurious warning.
775 Reported by: crocket
776
14b48a19
VS
7772010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
780 Preload EFIemu.
781 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
782
693db2df
VS
7832010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
786 is loaded
787 (grub_cmd_xnu_kextdir): Likewise.
788 (grub_cmd_xnu_splash): Likewise.
789
c7638645
VS
7902010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
791
792 Avoid using Reed-Solomon with 0 redundancy.
793
794 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
795 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
796 or 0 redundancy.
797 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
798 (grub_reed_solomon_recover): Likewise.
799
25dd4780
VS
8002010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
801
802 Don't use disk subsystem in freebsd_boot.
803
804 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
805 (freebsd_biosdev): Likewise.
806 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
807 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
808
0b2db943
VS
8092010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
810
811 Handling of files of unknown size is currently limited. They can't be
812 used e.g. for initrd or modules. Moreover gzip handling of not
813 easily seekable files is buggy. Disable unknown file size for now. May
814 be inefficient but works.
815
816 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
817 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
818
5c408d0f
MP
8192010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
820
821 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
822 floppy probe.
823
190a011a
JD
8242010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
825
826 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
827
022d01b8
SL
8282010-12-25 Shea Levy <shlevy>
829
830 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
831
c4855fdc
VS
8322010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
835 Windows Server 2008.
836 Reported by: Devin Giddings.
837
0354b867
VS
8382010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
841 writing an error message because of async power management.
842 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
843 (grub_reboot): Likewise.
844
ab66c69f
JU
8452010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
846
847 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
848 keep unit tests from failing when they shouldn't.
849
1426ef35
CW
8502010-12-21 Colin Watson <cjwatson@ubuntu.com>
851
852 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
853 previous patch increased the size of the RS code by 20 bytes (at
854 least with gcc-4.4), so increase this by 20 bytes to match.
855 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
856
20641b6b
CW
8572010-12-21 Colin Watson <cjwatson@ubuntu.com>
858
859 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
860 scratch area. Make sure to initialise chosen in standalone mode as
861 well as non-standalone.
862 Reported by: Robert Hooker and Andy Whitcroft.
863 Tested by: Andy Whitcroft.
864
d060ad60
CW
8652010-12-21 Colin Watson <cjwatson@ubuntu.com>
866
867 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
868 constructing a new unescaped string and passing it to grub_xputs in
869 one go, rather than passing characters to grub_printf one at a time.
870
b889cfad
CW
8712010-12-21 Colin Watson <cjwatson@ubuntu.com>
872
873 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
874 initialising utf16.
875
4e01b6c8
CW
8762010-12-21 Colin Watson <cjwatson@ubuntu.com>
877
878 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
879 comment. Add an extra layer of quotation, requiring the output of
880 this function to be used in a printf format string.
881 (gettext_printf): New function.
882 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
883 Extract translatable strings from here-documents and use a temporary
884 variable instead, so that xgettext can find them.
885 * util/grub.d/10_kfreebsd.in: Likewise.
886 * util/grub.d/10_linux.in: Likewise.
887 * util/grub.d/20_linux_xen.in: Likewise.
888
889 * po/grub.d.sed: New file.
890 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
891 arguments. Set c-format flags on all strings extracted from
892 util/grub.d/ (xgettext refuses to include these itself for strings
893 it extracted from a shell file, but these really are c-format).
894
5318fe98
VS
8952010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
898 Avoid next pointing to nowhere.
899
6c85b743
VS
9002010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
903 rather than assuming than rootblock is exactly in the middle.
904 (grub_affs_label): Likewise.
905
a2a08a35
VS
9062010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
909 reserved_first_sector to 0.
910 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
911 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
912 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
913
7059d1ec
VS
9142010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
915
916 Fix handling of UTF-16 UDF labels.
917
918 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
919 (read_string): .. here.
920 (grub_udf_label): Use read_string.
921
30aff4cb
BC
9222010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
923
924 * grub-core/normal/menu_entry.c (run): Execute commands from menu
925 editor under argument scope.
926 Reported by: Jordan Uggla
927
5cf86f4b
VS
9282010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
931
32570200
CW
9322010-12-18 Colin Watson <cjwatson@ubuntu.com>
933
934 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
935 line, and other keys scroll an entire page (previous handling was
936 for \r and \n to scroll a page and other keys to scroll two lines).
937
e1dffcf2
VS
9382010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
941 Set ptrdest to correct get_physical_target_address rather than
942 incorrect get_virtual_current_address.
943
b04298cf 9442010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
945
946 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
947 correct cat to grub_uint8_t * rather than grub_uint32_t *.
948
5367ecd3
CW
9492010-12-10 Colin Watson <cjwatson@ubuntu.com>
950
951 * .bzrignore: Ignore grub-core/rs_decoder.S.
952
1fb430f8
CW
9532010-12-10 Colin Watson <cjwatson@ubuntu.com>
954
955 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
956 .mo/.mo.gz opening sequence to ...
957 (grub_mofile_open_lang): ... here.
958 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
959 * util/grub.d/00_header.in (grub_lang): Include country part of
960 locale.
961 Reported by: Mario Limonciello.
962
a94a6671
RM
9632010-12-09 Robert Millan <rmh@gnu.org>
964
965 * NEWS: Document addition of ZFS support.
966
24b7938b
CW
9672010-12-04 Colin Watson <cjwatson@ubuntu.com>
968
969 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
970 rather than `/ 2', as the latter requires -Wa,--divide which would
971 require bumping our minimum binutils version.
972
bddc3ef6
BC
9732010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
974
975 * util/grub-script-check.c (main): Print script line number on
976 error.
977
bf78d5b2
RM
9782010-12-01 Robert Millan <rmh@gnu.org>
979
980 * grub-core/fs/zfs/zfs.c: New file.
981 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
982 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
983 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
984 * grub-core/fs/zfs/zfsinfo.c: Likewise.
985
986 * include/grub/zfs/dmu.h: Likewise.
987 * include/grub/zfs/dmu_objset.h: Likewise.
988 * include/grub/zfs/dnode.h: Likewise.
989 * include/grub/zfs/dsl_dataset.h: Likewise.
990 * include/grub/zfs/dsl_dir.h: Likewise.
991 * include/grub/zfs/sa_impl.h: Likewise.
992 * include/grub/zfs/spa.h: Likewise.
993 * include/grub/zfs/uberblock_impl.h: Likewise.
994 * include/grub/zfs/vdev_impl.h: Likewise.
995 * include/grub/zfs/zap_impl.h: Likewise.
996 * include/grub/zfs/zap_leaf.h: Likewise.
997 * include/grub/zfs/zfs.h: Likewise.
998 * include/grub/zfs/zfs_acl.h: Likewise.
999 * include/grub/zfs/zfs_znode.h: Likewise.
1000 * include/grub/zfs/zil.h: Likewise.
1001 * include/grub/zfs/zio.h: Likewise.
1002 * include/grub/zfs/zio_checksum.h: Likewise.
1003
1004 * Makefile.util.def: Build ZFS into libgrubmods.
1005 * grub-core/Makefile.core.def: Build zfs.mod.
1006
3f0f3831
SJ
10072010-11-30 Szymon Janc <szymon@janc.net.pl>
1008
1009 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
1010 variable.
1011 * grub-core/commands/wildcard.c (match_files): Likewise.
1012
3a4253b2
RM
10132010-11-30 Robert Millan <rmh@gnu.org>
1014
1015 * grub-core/loader/i386/bsd.c
1016 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
1017 whether kernel is loaded using grub_loader_is_loaded(), rather
1018 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
1019 certain error conditions.
1020
8c317b27
RM
10212010-11-30 Robert Millan <rmh@gnu.org>
1022
c5c9cd3e
RM
1023 * grub-core/commands/echo.c: Include `<grub/term.h>'.
1024 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 1025
49d3ab46
VS
10262010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 Avoid using tricks for initialising endian variables.
1029
1030 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
1031 Make const.
1032 (GRUB_MOD_INIT): Don't byte-swap.
1033 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1034 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
1035 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
1036 (grub_swap_bytes32_compile_time): Likewise.
1037 (grub_cpu_to_le32_compile_time): Likewise.
1038 (grub_cpu_to_le16_compile_time): Likewise.
1039
f420a804
VS
10402010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * util/grub-setup.c (setup): Stop recommending --force. People who
1043 understand the dangers of blocklists are able to find this option
1044 anyway and the ones who don't shouldn't use it anyway.
1045
4e7db17b
RM
10462010-11-26 Robert Millan <rmh@gnu.org>
1047
1048 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
1049 Update all users.
1050
9be57a0d
CW
10512010-11-26 Colin Watson <cjwatson@ubuntu.com>
1052
1053 Fix LVM-on-RAID probing.
1054
1055 * util/grub-probe.c (probe): Remember which disk was detected as
1056 RAID (perhaps an LVM physical volume). Use that disk's raidname
1057 rather than that of the top-level disk.
1058
2c7859b3 10592010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 1060
d7647bb6
BC
1061 Fix cmdline argument quotes for setparams command of menuentry
1062 definitions.
7e623b0d
BC
1063
1064 * grub-core/commands/menuentry.c (setparams_prefix): Use single
1065 quotes for arguments.
f866fe80 1066 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 1067 grub_strchrsub function instead.
f866fe80 1068
7955bea0 1069 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 1070
74f72a64
CW
10712010-11-24 Colin Watson <cjwatson@ubuntu.com>
1072
1073 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
1074 effort by skipping "." and ".." entries up-front.
1075 Suggested by: Michael Lazarev.
1076
5a407278
CW
10772010-11-24 Colin Watson <cjwatson@ubuntu.com>
1078
1079 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
1080 ldflags to ldadd, to fix link line ordering.
1081 (none_decompress): Likewise.
1082
3030d8ec
CW
10832010-11-24 Colin Watson <cjwatson@ubuntu.com>
1084
1085 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
1086 platforms.
1087 (grub-emu-lite): Remove kern/emu/cache.S.
1088
b7fbac12
CW
10892010-11-23 Colin Watson <cjwatson@ubuntu.com>
1090
1091 * util/deviceiter.c (compare_devices): If the by-id link for a
1092 device couldn't be resolved, fall back to sorting by the by-id link
1093 rather than segfaulting.
1094 Reported and tested by: Daniel Mierswa.
1095
5225f328
CW
10962010-11-23 Colin Watson <cjwatson@ubuntu.com>
1097
1098 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
1099 ldflags, to fix link line ordering.
1100
038b3ce8
CW
11012010-11-23 Colin Watson <cjwatson@ubuntu.com>
1102
1103 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
1104 linkers are picky about this.
1105
bf16e98e
CW
11062010-11-23 Colin Watson <cjwatson@ubuntu.com>
1107
1108 * grub-core/Makefile.am (command.lst): Adjust sed expression
1109 ordering so that extended and priority commands aren't treated as
1110 ordinary commands.
1111
7242bab6
CW
11122010-11-23 Colin Watson <cjwatson@ubuntu.com>
1113
1114 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1115 Remove byte-swapping function calls, which are not valid in
1116 structure initialisers.
1117 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
1118 non-const.
1119 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
1120 grub_gpt_partition_type_bios_boot.
1121
14e8b279
CW
11222010-11-22 Colin Watson <cjwatson@ubuntu.com>
1123
1124 Fix test program build on GNU/kFreeBSD.
1125
1126 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
1127 $(LIBNVPAIR)' library dependencies.
1128
e6f63338 11292010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
1130
1131 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
1132
cf8ffc38
CW
11332010-11-22 Colin Watson <cjwatson@ubuntu.com>
1134
1135 * util/grub-install.in: Remove excessive quoting that broke
1136 installations to RAID devices.
1137
7f8b0fd7
VS
11382010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
1141 bootloader version instead of 0.
1142
dfd240b1
VS
11432010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
1146 warning.
1147
7b61e609
VS
11482010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
1151 retrieve the metadat sector if size isn't known.
1152 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1153
9dfe92d0
RM
11542010-11-18 Robert Millan <rmh@gnu.org>
1155
1156 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
1157 with grub_memcmp().
1158
41cc919e
VS
11592010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
1162 arrow.
1163 Reported by: Jordan Uggla.
1164
1afcc914
VS
11652010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 Make better UTF compliant.
1168
1169 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
1170 sequences as incorrect.
1171 (grub_is_valid_utf8): Likewise.
1172 (grub_utf8_to_ucs4): Likewise.
1173 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
1174 (grub_ucs4_to_utf8_alloc): Likewise.
1175 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
1176
f1808884
VS
11772010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 Make legacy_source behave like source.
1180
1181 * grub-core/commands/legacycfg.c (legacy_file): Don't call
1182 grub_show_menu.
1183 (grub_cmd_legacy_source): Call grub_show_menu if needed.
1184
24ec575b
CW
11852010-11-16 Colin Watson <cjwatson@debian.org>
1186
1187 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
1188 (-Wunused implies -Wunused-parameter, but not vice versa).
1189
72b7c7aa
CW
11902010-11-16 Colin Watson <cjwatson@ubuntu.com>
1191
1192 * configure.ac: Make error messages less confusing by testing for
1193 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
1194 accepted, but produces a diagnostic if something else is wrong).
1195
e98937aa
VS
11962010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
1199 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
1200 (now unused).
1201 (grub_keyboard_controller_init)
1202 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
1203 read the initial state since controller isn't inited yet.
1204
f6bbabc3
VS
12052010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
1208 allocate_regbeg may need to create new chunk header.
1209
22e7dbb2
VS
12102010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 Fix quoting in legacy parser.
1213
1214 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
1215 single quotes.
1216 (grub_legacy_parse): Likewise.
1217 Reported by: Jordan Uggla.
1218 Tested by: Jordan Uggla.
1219
03f80960
VS
12202010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 Don't add -lgcc on i386 and x86_64.
1223
1224 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
1225 * conf/Makefile.common (LDADD_KERNEL): Likewise.
1226 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
1227
779dc15b
VS
12282010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * configure.ac: Add -Wno-trampolines when supported.
1231
d20a3b37
MV
12322010-11-14 Modestas Vainius <modax@debian.org>
1233
1234 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
1235 fakeraid.
1236
e5360933
GC
12372010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1238
1239 Add generic logical block size support for UDF.
1240
1241 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
1242 (GRUB_UDF_BLKSZ): Removed.
1243 (struct grub_udf_data): New field "lbshift" to hold the logical block
1244 size of the file system in log2 format. All users updated.
1245 (sblocklist): Change type to unsigned.
1246 (grub_udf_mount): Change type of "sblklist" to unsigned.
1247 Move AVDP search before VRS recognition, because the latter requires
1248 knowledge of the logical block size, which is detected during the
1249 former.
1250 Detect and validate logical block size during AVDP search, adding
1251 support for block sizes 512, 1024 and 4096.
1252 Make VRS recognition independent of block size.
1253
cb0229c5
GC
12542010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1255
1256 Properly handle deleted files on UDF.
1257
1258 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
1259 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
1260 set.
1261
406858a8
GC
12622010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1263
1264 Support reading files larger than 2 GiB.
1265
1266 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
1267 "offset" to grub_off_t.
1268 (grub_udf_read_file): Likewise for parameter "pos".
1269
130da6a7
VS
12702010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
1273 unavailable.
1274 (Simple configuration): Refer to Changes from GRUB Legacy about
1275 save_env availability.
1276
65e93f6b
VS
12772010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * util/grub-install.in: Ignore empty partition table detection
1280 instead of trying to include part_ module.
1281
1fd08bf1
VS
12822010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
1285 LVM on RAID support.
1286
de1a024f
VS
12872010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 Properly define WORDS_BIGENDIAN in wrapped environments.
1290
1291 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
1292 definition.
1293 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
1294
1295 Reported by: Manoel Rebelo Abranches.
1296 Tested by: Manoel Rebelo Abranches.
1297
bc5dd0b9
VS
12982010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * util/grub-mkconfig.in: Fix quoting.
1301
58c184be
VS
13022010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 Support big ext2 files.
1305
1306 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
1307 (grub_ext2_read_block): Support triple indirect blocks.
1308 (grub_ext2_read_file): Use 64-bit types and read size_high.
1309 (grub_ext2_open): Read size_high.
1310 Reported by: Ximin Luo.
1311 Tested by: Manoel Rebelo Abranches.
1312
5f0c02b3
VS
13132010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * util/grub-install.in: Handle filenames containing spaces.
1316 Reported by: Jordan Uggla.
1317 Tested by: Jordan Uggla.
1318
4417aae6
VS
13192010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * util/grub-mkconfig.in (grub_script_check): New variable.
1322 Use grub_script_check instead of grub-script-check.
1323 Reported by: Barry Jackson.
1324
7625a68e
VS
13252010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * docs/grub.texi (menu): Correct the order.
1328 Reported by: D. Hugh Redelmeier.
1329
10001ac5
VS
13302010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
1333 jump.
1334
9c4cf53b
MRA
13352010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
1336
10001ac5
VS
1337 * include/grub/elfload.h (grub_elf32_size): New parameter.
1338 All users updated.
9c4cf53b
MRA
1339 Return maximum segments alignment.
1340 (grub_elf64_size): Likewise.
1341 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
1342 Return maximum segments alignment.
1343 (grub_elf64_size): Likewise.
1344 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
1345 (grub_linux_claimmap_iterate): New function. Uses the
1346 "available" property in the "memory" node for memory allocation
1347 for kernel in the PowerPC loader.
9c4cf53b
MRA
1348 (grub_linux_load32): Correctly find linux entry point offset.
1349 (grub_linux_load64): Likewise.
1350
d2bf06bf
RM
13512010-11-07 Robert Millan <rmh@gnu.org>
1352
1353 On mips-yeeloong, build with -march=loongson2f when this flag is
1354 available (GCC >= 4.4).
1355 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
1356 `-march=mips3'.
1357 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
1358 or otherwise add -march=mips3.
1359
898c99a2
BC
13602010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
1361
87220a68
BC
1362 Suppress shell expansion on echo '*' and echo "*" like cases.
1363 Reported by: Jordan Uggla.
898c99a2
BC
1364
1365 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1366 string arguments before shell expansion.
1367 * tests/grub_cmd_echo.in: New testcases.
1368
4f9b406a
RM
13692010-11-07 Robert Millan <rmh@gnu.org>
1370
1371 * conf/mips-qemu-mips.rmk: Remove stale file from previous
1372 transition.
1373
80c6d25e
VS
13742010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * grub-core/kern/emu/hostdisk.c
1377 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
1378
4a1a0153
VS
13792010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
1382 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
1383 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
1384
34706ddc
VS
13852010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
1388
6972dea9
VS
13892010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * util/grub-install.in: Replace useless recomendation to pass
1392 --modules with a recomendation to report a bug.
1393
9c693bd6
VS
13942010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 Properly register serial terminfo.
1397 Reported by: Jordan Uggla
1398
1399 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
1400 const.
1401 (grub_serial_terminfo_output_template): Likewise.
1402 (grub_cmd_serial): Register "serial" with terminfo.
1403 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
1404 grub_serial_terminfo_output.
1405
6c9e4c0c
RM
14062010-11-05 Robert Millan <rmh@gnu.org>
1407
1408 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
1409 needed).
1410
b9b3839f
RM
14112010-11-05 Robert Millan <rmh@gnu.org>
1412
1413 On Yeeloong, pass machine type information to Linux.
1414
1415 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
1416 (LOONGSON_MACHTYPE): New macro, set to
1417 "machtype=lemote-yeeloong-2f-8.9inches".
1418 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
1419 additional argument to Linux.
1420
1a3aaff4
RM
14212010-11-04 Robert Millan <rmh@gnu.org>
1422
1423 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
1424 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
1425 (its SATA disks are detected as slaveless IDE master drives on
1426 kFreeBSD).
1427 Reported by Carsten Aulbert.
1428
a75f4f62
CW
14292010-11-02 Colin Watson <cjwatson@ubuntu.com>
1430
1431 * util/bin2h.c (main): Fix spelling error in generated output.
1432
33b4b0c6
GS
14332010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
1434
1435 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
1436
2b36fbf4
VS
14372010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
1440 vga= option is supplied.
1441
74aaf558
VS
14422010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
1445 * util/grub.d/10_kfreebsd.in: Likewise.
1446 * util/grub.d/10_linux.in: Likewise.
1447 * util/grub.d/20_linux_xen.in: Likewise.
1448
6428dec3
VS
14492010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
1452 argument as an argument to no-argument option.
1453
f8729d98
VS
14542010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * util/grub.d/10_linux.in: Add missing load_video with explicit
1457 GRUB_GFXPAYLOAD_LINUX.
1458
89d68fa6
VS
14592010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
1462
3a1197cd
VS
14632010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
1466 elements with invlid index.
1467 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1468 * grub-core/disk/raid.c (insert_array): Automatically reallocate
1469 members.
1470 * include/grub/raid.h (grub_raid_member): New struct.
1471 (grub_raid_array): Transform devices and start_sector into usage of
1472 grub_raid_member. All users updated
1473 (allocated_devs): New member.
1474
71574288
VS
14752010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
1478 is modified
1479
8d40ec65
BC
14802010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
1481
1482 NetBSD build fix for getline function conflict from gnulib.
1483
1484 * Makefile.util.def (libgrubkern.a): New library for grub kernel
1485 components that depend on gnulib headers.
1486 (libgrubmods.a): Renamed from earlier libgrub.a.
1487 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
1488
95b9257e
VS
14892010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
1492 install rather than creating a broken install.
1493
26c53dc6
VS
14942010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * util/grub-setup.c (argp): Remove misleading example of installing to
1497 a partition.
1498
4171b3c5
VS
14992010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * util/grub-setup.c (setup): Clarify the error message.
1502
18568d18
VS
15032010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
1506
4f6a2e21
VS
15072010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * grub-core/kern/emu/misc.c
1510 (grub_make_system_path_relative_to_its_root)
1511 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
1512
15132010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
1514
1515 * grub-core/kern/emu/misc.c
1516 (grub_make_system_path_relative_to_its_root): Revert r2882.
1517
e138c458
VS
15182010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
1521 useless field head. All users updated.
1522 (free_subchunk): Correct handling of IN_REGION subchunk.
1523
0cbcdf0e
CW
15242010-10-22 Colin Watson <cjwatson@ubuntu.com>
1525
1526 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
1527 (Supported kernels): Likewise.
1528
b65ea155
GS
15292010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1530
1531 Make mktemp invocations portable.
1532
1533 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
1534 exit if mktemp fails.
1535 * tests/grub_script_blockarg.in: Likewise.
1536 * tests/partmap_test.in: Likewise.
1537 * tests/util/grub-shell-tester.in: Likewise.
1538 * tests/util/grub-shell.in: Likewise.
1539 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1540 * Makefile.am: Likewise, and chain shell commands with `&&'
1541 instead of ';'.
1542 * util/grub-mkrescue.in: Use the same explicit template as above, and
1543 exit if mktemp fails.
1544
05f43cdd
BC
15452010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
1546
1547 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
1548 Linux kernel, reported by Dennis Schridde.
1549
800e6a9b
SJ
15502010-10-17 Szymon Janc <szymon@janc.net.pl>
1551
1552 * grub-core/normal/auth.c (grub_auth_check_authentication):
1553 Set-but-not-used variable removed.
1554
d82df574
VS
15552010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * docs/grub.texi (GNU/Linux): Document APM unavailability with
1558 32-bit linux protocol.
1559
7bced458
VS
15602010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
1563 cursor shape for sanity.
1564
5b027690
VS
15652010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * docs/grub.texi (Installation): Document buggy BIOS install.
1568
ba5f65cf
VS
15692010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * docs/grub.texi (Installation): Indent.
1572
fdf2ec9c
VS
15732010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * util/grub-setup.c (setup): New parameter allow_floppy.
1576 (arguments): New member allow_floppy.
1577 (argp_parser): Handle --allow-floppy.
1578 (main): Pass allow_floppy.
1579 * util/grub-install.in: New option --allow-floppy passed though to
1580 grub-setup.
1581
861dfd4c
VS
15822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * util/grub-install.in: Handle partitionless disks.
1585
f77a8c24
VS
15862010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * util/grub-setup.c (setup): Don't clean blocklists before readability
1589 verfification.
1590
27d9ee32
VS
15912010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * docs/grub.texi (Installation): Document embedding zone. Remove
1594 obsolete grub-install example.
1595
6bdda8f8
SJ
15962010-10-16 Szymon Janc <szymon@janc.net.pl>
1597
1598 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
1599 Set-but-not-used variable ifdef'ed.
1600 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
1601 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
1602 variable removed.
1603 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
1604 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
1605 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
1606 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
1607 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
1608 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
1609 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
1610 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
1611 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1612 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
1613 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
1614 Likewise.
1615
e19b016b
VS
16162010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
1619 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
1620 enum value.
1621
6c8d3002
VS
16222010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
1625 synonym to _S5_. Needed for some DSDTs.
1626
c32b51c9
VS
16272010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Userspace ACPI parser debugging.
1630
1631 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
1632 headers and add relevant defines. Don't include standard headers.
1633 (main) [GRUB_DSDT_TEST]: New function.
1634 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
1635 Don't declare functions.
1636
fbfbeb39
VS
16372010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 Remove dead grub_efi_mm_fini.
1640
1641 * grub-core/kern/efi/mm.c (allocated_page): Removed.
1642 (ALLOCATED_PAGES_SIZE): Likewise.
1643 (MAX_ALLOCATED_PAGES): Likewise.
1644 (allocated_pages): Likewise.
1645 (grub_efi_allocate_pages): Don't record allocated pages.
1646 (grub_efi_free_pages): Likewise.
1647 (grub_efi_mm_init): Likewise.
1648 (grub_efi_mm_fini): Removed.
1649
65f7ed7c
VS
16502010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
1653 (grub_efi_mm_init): Take into account the memory map size increase.
1654
24977b44
VS
16552010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
1658 (serial_hw_put): Wait based on real time rather than port reads. Don't
1659 roken ports.
1660 * include/grub/serial.h (grub_serial_port): New field broken.
1661
1eb01cd2
RM
16622010-10-16 Robert Millan <rmh@gnu.org>
1663
1664 * grub-core/kern/emu/misc.c
1665 (grub_make_system_path_relative_to_its_root): Fix premature return
1666 when processing non-root ZFS filesystems.
5f8b440b 1667 Reported by Sergio Talens-Oliag.
1eb01cd2 1668
2d5fed60
RM
16692010-10-15 Robert Millan <rmh@gnu.org>
1670
1671 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
1672 guarantee compressed ones are processed first.
1673
d0f4c1ea
VS
16742010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
1677 grub_efiemu_autocore.
1678
d87c681f
VS
16792010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
1682 rather than 0x1b.
1683 (grub_console_getkey): Use correct jae opcode rather than ja.
1684
219b3564
RM
16852010-10-12 Robert Millan <rmh@gnu.org>
1686
1687 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
1688 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
1689 variable. All references updated.
1690
1691 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
1692
20c6bb7e
VS
16932010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 Correctly distinguish mdraid flavours.
1696
1697 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
1698 (insert_array): New argument raid.
1699 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
1700 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
1701 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
1702
74baff84
VS
17032010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
1706 handling of special keys.
1707
3ef068df 17082010-10-02 Aleš Nesrsta <starous@volny.cz>
1709
c7980ad9
VS
1710 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
1711 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 1712
a9455194 17132010-10-02 Aleš Nesrsta <starous@volny.cz>
1714
c7980ad9
VS
1715 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
1716 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
1717 users updated.
a9455194 1718 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 1719 Use right endpoint when querying descriptor.
a9455194 1720
441cfe65
VS
17212010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 Clear out 0x80 color bit on EFI.
1724 Tested by: decoder
1725 Reported by: decoder and meta tech.
1726
1727 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
1728 (grub_console_setcolorstate): Clear out 0x80 bit.
1729 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
1730 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
1731 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
1732
bf26bcc4
VS
17332010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
1736 Set to "auto".
1737
6e3c515d
VS
17382010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
1741 mo_file after freeing.
1742
e6d983ba
VS
17432010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
1746
74ccb5b5
VS
17472010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
1750 flags.
1751
17821956
VS
17522010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
1755 usage.
1756
ee74fa48
VS
17572010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 Put terminfo into core on ieee1275 and yeeloong (needed for console).
1760
1761 * gentpl.py: New groups terminfoinkernel and terminfomodule.
1762 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
1763 and terminfo.h when needed.
1764 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
1765 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
1766 (terminfo): Enable only on terminfokernel.
1767 (extcmd): Likewise.
1768 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
1769 * include/grub/lib/arg.h: Likewise.
1770 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
1771 incorrect usage of ->.
1772
aa438e68
VS
17732010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
1776 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
1777
57994012
VS
17782010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 Fix coreboot compilation.
1781
1782 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1783 Take VBE info into account even if only text is supported.
1784 (fill_vbe_info): Take into account the case when only VGA text
1785 is supported.
1786 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
1787 on coreboot, multiboot and qemu.
1788
2a406611
VS
17892010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
1792 debug messages.
1793 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
1794
d33613fc
VS
17952010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
1798 parameters.
1799
44a1b432
VS
18002010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
1803 if they were BSD-style.
1804
edde54e6
VS
18052010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * grub-core/boot/i386/pc/lnxboot.S: Replace
1808 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
1809 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
1810
b65830fa
VS
18112010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 Write embedding zone using Reed-Solomon.
1814
1815 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
1816 * grub-core/Makefile.am (rs_decoder.S): New target.
1817 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
1818 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
1819 (multiboot): Move to RS part.
1820 (post_reed_solomon): New label.
1821 (grub_boot_drive): Move to non-RS part since it's modified in memory
1822 on boot.
1823 Include rs_decoder.S.
1824 * grub-core/lib/reed_solomon.c: New file.
1825 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
1826 New definition.
1827 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
1828 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
1829 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
1830 * include/grub/partition.h (grub_partition_map): Change prototype of
1831 embed to allow returning additional sectors.
1832 * include/grub/reed_solomon.h: New file.
1833 * util/grub-setup.c (setup): Handle Reed-Solomon.
1834
0b4b227f
CW
18352010-09-28 Colin Watson <cjwatson@ubuntu.com>
1836
1837 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
1838 i386 and x86-64 definedness tests.
1839
f772623b
YB
18402010-09-27 Yves Blusseau <blusseau@zetam.org>
1841
1842 Fix generation of kernel_syms.lst
1843
1844 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
1845 ASM_PREFIX
1846
8e57a6ca
RM
18472010-09-26 Robert Millan <rmh@gnu.org>
1848
1849 Support degraded ZFS arrays in "grub-probe -t device" resolution.
1850
1851 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
1852 the pool is an array of devices, iterate through it and return the
1853 first device that passes a stat() test (instead of blindly returning
1854 the first one).
1855
f9130836
RM
18562010-09-26 Robert Millan <rmh@gnu.org>
1857
1858 Build fixes for GNU/kFreeBSD.
1859
1860 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
1861 to programs that require ZFS conversion.
1862 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
1863 kernels that don't have FLOPPY_MAJOR.
1864
96510faf
BC
18652010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
1866
1867 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
1868
449333eb
BC
18692010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
1870
1871 Fix grub-emu build.
1872
1873 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
1874 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
1875 mdraid09 and mdraid1x.
1876
e1fd1939
CW
18772010-09-24 Colin Watson <cjwatson@ubuntu.com>
1878
1879 Re-enable grub-extras.
1880
1881 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
1882 avoid confusing Automake. Run autogen only twice, once for the top
1883 level and once for grub-core. Add Makefile.util.def and
1884 Makefile.core.def from extra modules to the appropriate autogen
1885 invocations. If Makefile.common exists in an extra module, include
1886 it in both Makefile.util.am and grub-core/Makefile.core.am;
1887 similarly, include any Makefile.util.common file in Makefile.util.am
1888 and any Makefile.core.common file in grub-core/Makefile.core.am.
1889 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
1890 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
1891 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
1892 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
1893
1894 * gentpl.py (gvar_add): Turn GVARS into a set.
1895 (global_variable_initializers): Sort global variables on output.
1896 (vars_init): New function.
1897 (first_time): Likewise.
1898 (library): Ensure that non-global variable initialisations are
1899 emitted before the first time we emit code for a library block.
1900 Append to variables rather than setting them. Only emit
1901 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
1902 each conditional path.
1903 (program): installdir() emits an Autogen macro, so must be passed to
1904 var_add rather than gvar_add.
1905 (data): Likewise.
1906 (script): Likewise.
1907 (rules): New function, centralising handling for different target
1908 types. Set up Guile association lists for first_time and vars_init,
1909 and send most output to a diversion so that variable initialisations
1910 can be emitted first.
1911 (module_rules): Use new rules function.
1912 (kernel_rules): Likewise.
1913 (image_rules): Likewise.
1914 (library_rules): Likewise.
1915 (program_rules): Likewise.
1916 (script_rules): Likewise.
1917 (data_rules): Likewise.
1918
1919 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
1920
1921 * .bzrignore: Add contrib and grub-core/contrib. Remove
1922 grub-core/Makefile.gcry.am.
1923
1d12cf29
YB
19242010-09-24 Yves Blusseau <blusseau@zetam.org>
1925
1926 * grub-core/lib/LzFind.c: Add missing include.
1927 * grub-core/lib/LzmaEnc.c: Likewise.
1928 * grub-core/script/lexer.c: Likewise.
1929 * grub-core/script/yylex.l: Likewise.
1930 * util/grub-macho2img.c: Likewise.
1931 * util/grub-menulst2cfg.c: Likewise.
1932 * util/grub-mklayout.c: Likewise.
1933 * util/grub-mkpasswd-pbkdf2.c
1934 * util/grub-mkrelpath.c: Likewise.
1935 * util/resolve.c: Likewise.
1936
dd363028
BC
19372010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
1938
1939 * Makefile.util.def (example_unit_test): Add
1940 grub-core/gnulib/libgnu.a.
1941
f5a109e2
GS
19422010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
1943
1944 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
1945
6d0fa83c
VS
19462010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 Support xz compression on yeeloong.
1949
1950 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
1951 * configure.ac: Check for LZMA.
1952 * grub-core/Makefile.core.def (xz_decompress): New target.
1953 (none_decompress): Likewise.
1954 * grub-core/boot/decompressor/minilib.c: New file.
1955 * grub-core/boot/decompressor/none.c: Likewise.
1956 * grub-core/boot/decompressor/xz.c: Likewise.
1957 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
1958 * grub-core/kern/mips/cache_flush.S: Likewise.
1959 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
1960 * grub-core/kern/mips/startup.S: Move first stage to ...
1961 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
1962 nomacro.
1963 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
1964 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
1965 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
1966 Allocate statically.
1967 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
1968 Allocate statically or use scratch. Don't check CRC32.
1969 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
1970 Allocate statically. Don't check CRC32.
1971 * include/grub/decompressor.h: New file.
1972 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
1973 Removed.
1974 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
1975 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
1976 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
1977 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
1978 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
1979 * util/grub-mkimage.c (grub_compression_t): New type.
1980 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
1981 (image_target_desc): New field default_compression.
1982 (image_targets): Adjust yeeloong targets.
1983 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
1984 (compress_kernel): New parameter comp.
1985 (generate_image): Likewise. Handle new compression case.
1986 (options): New option --compression
1987 (help): Likewise.
1988 (main): Handle new option.
1989
1b655af6
GS
19902010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
1991
1992 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
1993
8f03f0b5
CW
19942010-09-22 Colin Watson <cjwatson@ubuntu.com>
1995
1996 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
1997 typo in __i386__ conditional.
1998
7835dfd3
VS
19992010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
2002 include.
2003
e255597e
VS
20042010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2005
6d0fa83c 2006 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
2007
2008 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
2009 new tags as supported.
2010 (acpiv2_size): New function.
2011 (grub_multiboot_get_mbi_size): Take new tags into account.
2012 (grub_multiboot_make_mbi): Add new tags.
2013 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 2014
6cc14051 20152010-09-21 Aleš Nesrsta <starous@volny.cz>
2016
2017 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
2018 Added missing configuration of USB device.
2019
df7769d8
CW
20202010-09-21 Colin Watson <cjwatson@ubuntu.com>
2021
2022 * grub-core/normal/menu_entry.c (run): Make sure we always return
2023 a value.
2024
b031012d
CW
20252010-09-21 Colin Watson <cjwatson@ubuntu.com>
2026
2027 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
2028 NumberOfPages is UINT64 according to the UEFI specification, not
2029 UINTN. Fix printf format.
2030
174de8f3
CW
20312010-09-21 Colin Watson <cjwatson@ubuntu.com>
2032
2033 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
2034 `err' to grub_usb_err_t.
2035 Reported and tested by: KESHAV P.R.
2036
d7dbe923
CW
20372010-09-21 Colin Watson <cjwatson@ubuntu.com>
2038
2039 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
2040 tpart non-const, so that we can assign to it. (Since this is a
2041 typedef, the constness refers to the pointer rather than what it
2042 points to.)
2043
8d5e2af3
CW
20442010-09-21 Colin Watson <cjwatson@ubuntu.com>
2045
2046 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
2047 $(top_srcdir)/grub-core/gnulib as well as
2048 $(top_builddir)/grub-core/gnulib.
2049 Reported by: KESHAV P.R.
2050
5c527783
CW
20512010-09-21 Colin Watson <cjwatson@ubuntu.com>
2052
2053 * util/grub-install.in: Fix the bootloader ID option to be
2054 consistently --bootloader-id, not --bootloader_id.
2055 Reported by: KESHAV P.R.
2056
d309a16e
CW
20572010-09-21 Colin Watson <cjwatson@ubuntu.com>
2058
2059 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
2060 check hash checksum." consistently translatable.
2061
b830cd16
YB
20622010-09-21 Yves Blusseau <blusseau@zetam.org>
2063
2064 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
2065 $(top_builddir).
2066
c4fe27a8
CW
20672010-09-21 Colin Watson <cjwatson@ubuntu.com>
2068
2069 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
2070 (GRUB_MOD_INIT): Register sha1sum command.
2071 (GRUB_MOD_FINI): Unregister sha1sum command.
2072
a4c1d277
YB
20732010-09-21 Yves Blusseau <blusseau@zetam.org>
2074
2075 Keep boot and grub directory names in sync with utils scripts
2076
2077 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
2078 * config.h.in: Add previous macros.
2079 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
2080 * util/grub-install.in: Use $bootdir and $grubdir variables.
2081
4eff79d2
CW
20822010-09-21 Colin Watson <cjwatson@ubuntu.com>
2083
2084 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
2085 convert partition names to disk names if the new `convert' parameter
2086 is set.
2087 (grub_util_biosdisk_get_grub_dev): If opening the disk device
2088 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
2089 disk in its own right. This can happen with Xen disk images.
2090
934d7e44
YB
20912010-09-21 Yves Blusseau <blusseau@zetam.org>
2092
2093 * util/grub-editenv.c: Update strings to avoid warnings when generating
2094 grub.pot file.
2095 * util/grub-setup.c: Likewise.
934d7e44 2096
df3367cc
VS
20972010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 * configure.ac: Change version to 1.99~beta0.
2100
77a94e98
VS
21012010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2104 Add BADRAM.
2105 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
2106 Likewise.
2107 * include/multiboot.h: Resynced with specification.
2108 * include/multiboot2.h: Likewise.
2109
269004c1
CW
21102010-09-21 Colin Watson <cjwatson@ubuntu.com>
2111
2112 Fix po directory handling.
2113
2114 * configure.ac: Create po/Makefile.in rather than po/Makefile.
2115 * grub-core/gnulib/Makefile.am: Import gettext module.
2116 * m4/gnulib-cache.m4: Likewise.
2117 * m4/gnulib-comp.m4: Likewise.
2118 * m4/gettext.m4: New file, from gnulib.
2119 * m4/glibc2.m4: Likewise.
2120 * m4/iconv.m4: Likewise.
2121 * m4/intdiv0.m4: Likewise.
2122 * m4/intl.m4: Likewise.
2123 * m4/intldir.m4: Likewise.
2124 * m4/intlmacosx.m4: Likewise.
2125 * m4/intmax.m4: Likewise.
2126 * m4/inttypes-pri.m4: Likewise.
2127 * m4/lcmessage.m4: Likewise.
2128 * m4/lib-ld.m4: Likewise.
2129 * m4/lib-link.m4: Likewise.
2130 * m4/lib-prefix.m4: Likewise.
2131 * m4/lock.m4: Likewise.
2132 * m4/nls.m4: Likewise.
2133 * m4/po.m4: Likewise.
2134 * m4/printf-posix.m4: Likewise.
2135 * m4/progtest.m4: Likewise.
2136 * m4/threadlib.m4: Likewise.
2137 * m4/uintmax_t.m4: Likewise.
2138 * m4/visibility.m4: Likewise.
2139 * po/Makefile.am: Remove.
2140 * po/Makefile.in.in: New file, from gettext.
2141 ($(DOMAIN).pot-update): Support POTFILES-shell.
2142 * po/Makevars: New file.
2143 * po/POTFILES-shell: Rename to ...
2144 * po/POTFILES-shell.in: ... this. Update.
2145 * po/POTFILES: Rename to ...
2146 * po/POTFILES.in: ... this. Update.
2147 * po/Rules-quot: New file, from gettext.
2148 * po/boldquot.sed: Likewise.
2149 * po/en@boldquot.header: Likewise.
2150 * po/en@quot.header: Likewise.
2151 * po/insert-header.sin: Likewise.
2152 * po/quot.sed: Likewise.
2153 * po/remove-potcdate.sin: Likewise.
2154
3e0fa5d0
VS
21552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
2158
ade9bd66
VS
21592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * util/grub.d/20_linux_xen.in: Use submenus.
2162
fc55cc4c
VS
21632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 Support submenus.
2166
2167 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
2168 parameter submenu. All users updated.
2169 * grub-core/normal/main.c (free_menu): Rename to ...
2170 (grub_normal_free_menu): ... this. Made global.
2171 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
2172 if requested.
2173 * grub-core/normal/menu_entry.c (screen): New field submenu.
2174 (make_screen): Set submenu.
2175 (run): Open new context if requested.
2176 * include/grub/menu.h (grub_menu_entry): New field submenu.
2177 * include/grub/normal.h (grub_normal_free_menu): New proto.
2178
600cedf7
VS
21792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 Menu entries extractor.
2182
2183 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
2184 variants.
2185 (GRUB_MOD_INIT): Register new variants.
2186 (GRUB_MOD_FINI): Unregister new variants.
2187 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
2188 into grub_cmd_legacy_source.
2189 (grub_cmd_legacy_source): Implement extractor variants.
2190 (GRUB_MOD_INIT): Register new variants.
2191 (GRUB_MOD_FINI): Unregister new variants.
2192 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
2193 as an extractor.
2194 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
2195 search as an extractor.
2196 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
2197 test as an extractor.
2198 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
2199 as an extractor.
2200 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
2201 (grub_env_new_context): New function.
2202 (grub_env_context_open): Likewise.
2203 (grub_env_extractor_open): Likewise.
2204 (grub_env_extractor_close): Likewise.
2205 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2206 grub_extractor_level.
2207 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
2208 * include/grub/env.h (grub_env_extractor_open): New proto.
2209 (grub_env_extractor_close): Likewise.
2210 * include/grub/normal.h (grub_extractor_level): New external variable.
2211
7bda3a87
VS
22122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 Make cutmem accept a region specification.
2215 Suggested by: Samuel Thibault
2216
2217 * grub-core/mmap/mmap.c (parsemem): New function.
2218 (grub_cmd_cutmem): Handle new arguments.
2219
2ea57f88
VS
22202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 New command cutmem.
2223
2224 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
2225 (GRUB_MOD_INIT): Register new command.
2226 (GRUB_MOD_FINI): Unregister new command.
2227
74342e31
VS
22282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 Support some annoying BSD and Minix subpartitions.
2231
2232 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
2233 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2234 Properly handle concatenation.
2235 * grub-core/kern/device.c (grub_device_iterate): Likewise.
2236 * grub-core/normal/completion.c (iterate_partition): Likewise.
2237 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
2238 contain partition. All users updated.
2239 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
2240 struct.
2241 (grub_openbsdlabel_partition_map): Likewise.
2242 (bsdlabel_partition_map_iterate): Rename to ..
2243 (iterate_real): ... this. New arguments sector, freebsd and pmap.
2244 (bsdlabel_partition_map_iterate): New function.
2245 (netopenbsdlabel_partition_map_iterate): Likewise.
2246 (netbsdlabel_partition_map_iterate): Likewise.
2247 (openbsdlabel_partition_map_iterate): Likewise.
2248 (GRUB_MOD_INIT): Register new partmaps.
2249 (GRUB_MOD_FINI): Unregister new partmaps.
2250 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
2251 (grub_partition_msdos_iterate): ... this. All users updated.
2252 Don't support embedding other than in a minix partition.
2253 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
2254 proto.
2255 * include/grub/partition.h (grub_partition): New field msdostype.
2256 * util/grub-install.in: Handle openbsd and netbsd types being in
2257 part_bsd module.
2258
1e8d555b
VS
22592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
2262
2263 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
2264 * grub-core/Makefile.core.def (mdraid): Renamed to ...
2265 (mdraid09): ... this.
2266 (mdraid1x): New module.
2267 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
2268 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
2269
899d8af4
VS
22702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
2273 vsprintf.
2274
40901acd
CW
22752010-09-20 Colin Watson <cjwatson@ubuntu.com>
2276
2277 * grub-core/commands/efi/lsefimmap.c: Correct header.
2278 * NEWS: Update.
2279
dfe3b247
CW
22802010-09-20 Colin Watson <cjwatson@ubuntu.com>
2281
2282 * util/grub-editenv.c (argp_parser): Don't pass translated strings
2283 as printf format strings; the translations might contain '%' which
2284 could cause a crash.
2285 (main): Likewise.
2286 * util/grub-fstest.c (argp_parser): Likewise.
2287 * util/grub-setup.c (argp_parser): Likewise.
2288 (main): Likewise.
2289
3286a4b4
VS
22902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 Use argp in grub-fstest.
2293
2294 * util/grub-fstest.c: Don't include getopt.h.
2295 Include argp.h.
2296 (root): New variable.
2297 (args_count): Likewise.
2298 (nparm): Likewise.
2299 (num_disks): Likewise.
2300 (images): Likewise.
2301 (cmd): Likewise.
2302 (debug_str): Likewise.
2303 (args): Likewise.
2304 (options): Transformed to argp.
2305 (usage): Removed.
2306 (main): Split argument parsing into ...
2307 (argp_parser): ... this. Changed to argp format.
2308 (argp): New variable.
2309 (main): Use argp_parse.
2310
3dccbe4b
TG
23112010-09-20 Tristan Gingold <gingold@free.fr>
23122010-09-20 Robert Millan <rmh.grub@aybabtu.com>
23132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * grub-core/commands/efi/lsefimmap.c: New file.
2316 * grub-core/Makefile.core.def (lsefimmap): New module.
2317 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
2318
38c259a7
VS
23192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 Pause the execution (10s max) if any errors are displayed so the user
2322 has a chance to see them.
2323
2324 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
2325 (grub_print_error): Increment grub_err_printed_errors.
2326 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
2327 execution if any errors were displayed.
2328 (show_menu): Remove old code for pause.
2329 * grub-core/normal/menu_entry.c (run): Likewise.
2330 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
2331 users updated.
2332 (grub_normal_get_char_counter): Likewise.
2333 * include/grub/err.h (grub_err_printed_errors): New external variable.
2334 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
2335
f218b09c
VS
23362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 Support multiboot VBE info.
2339
2340 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2341 Take VBE info into account.
2342 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
2343 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
2344 Call fill_vbe_info when appropriate.
2345 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
2346 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
2347 as supported.
2348 (grub_multiboot_get_mbi_size): Take new tags into account.
2349 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
2350 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
2351 Call fill_vbe_tag when appropriate.
2352 (grub_multiboot_make_mbi): Properly align tags.
2353 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
2354 function.
2355 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
2356 proto.
2357 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
2358
a9cc5438
VS
23592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 Suport manual terminal geometry specification.
2362
2363 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
2364 Save state in grub_ofconsole_terminfo_output.
2365 (grub_ofconsole_term): Use grub_terminfo_getwh.
2366 (grub_ofconsole_getwh): Removed.
2367 * grub-core/term/serial.c (grub_serial_getwh): Removed.
2368 (grub_serial_term): Use grub_terminfo_getwh.
2369 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
2370 (options): New struct.
2371 (OPTION_*): New enum.
2372 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
2373 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
2374 width and height.
2375 (grub_terminfo_getwh): New proto.
2376 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
2377
1a8fed20
VS
23782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 Handle legacy "terminal" command.
2381
2382 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
2383 and FLAG_TERMINAL.
2384 (legacy_commands): Add terminal and title.
2385 (grub_legacy_parse): Handle terminal. Simplify title handling.
2386
41e9c57d
VS
23872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
2390 parameters overflow.
2391
61c874c5
CW
23922010-09-20 Colin Watson <cjwatson@ubuntu.com>
2393
2394 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
2395 widthspec.h.
2396
2397 * docs/grub.texi (Shell-like scripting): Document `!'.
2398 (Network): Simplify using new i386-pc-pxe format. Mention
2399 grub-mknetdir.
2400
2401 * NEWS: Update.
2402
943682b4
CW
24032010-09-20 Colin Watson <cjwatson@ubuntu.com>
2404
2405 * Makefile.am (SUBDIRS): Restore "."; it's important to force
2406 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
2407 when needed.
2408
6d3d698d
CW
24092010-09-20 Colin Watson <cjwatson@ubuntu.com>
2410
2411 * grub-core/commands/efi/lsefisystab.c: Correct header.
2412 * grub-core/commands/efi/lssal.c: Likewise.
2413 * grub-core/commands/testload.c: Likewise.
2414
c982589f
CW
24152010-09-20 Colin Watson <cjwatson@ubuntu.com>
2416
2417 * util/grub-mkrescue.in: Add explicit root argument to --set to
2418 prevent the UUID being interpreted as an argument to --set (matches
2419 previous change to prepare_grub_to_access_device).
2420
a63c31b6
CW
24212010-09-20 Colin Watson <cjwatson@ubuntu.com>
2422
2423 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
2424 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
2425 the verbosity of later #ifs.
2426 (find_partition_start): Define this function on FreeBSD too.
2427 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
2428 function.
2429 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
2430 on FreeBSD.
2431
6439b8ee
YB
24322010-09-20 Yves Blusseau <blusseau@zetam.org>
2433
2434 * util/grub-editenv.c: Use argp instead of getopt.
2435
c5930ec8
YB
24362010-09-20 Yves Blusseau <blusseau@zetam.org>
2437
2438 * util/grub-setup.c: Use argp instead of getopt.
2439
15c69261
YB
24402010-09-20 Yves Blusseau <blusseau@zetam.org>
2441
2442 Use gnulib-tool to create gnulib source files.
2443
2444 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
2445 grub-core/gnulib directories
2446 * .bzignore: Add **/.deps and autogenerated gnulib files
2447 * configure.ac: Assign auxiliary directory to build-aux, add invocation
2448 of gnulib macros, add grub-core/gnulib/Makefile
2449 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
2450 include m4 directory to aclocal.
2451 * Makefile.util.def: Remove direct compilation of gnulib source files
2452 and use the new grub-core/gnulib/libgnu.a.
2453 * build-aux/config.rpath: move config.rpath from top directory to
2454 build-aux
2455 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
2456 in gnulib headers
2457 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
2458 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
2459 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
2460 header.
2461 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
2462 string.
2463
e511c9f5
YB
24642010-09-20 Yves Blusseau <blusseau@zetam.org>
2465
2466 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
2467 grub-core/genmod.sh and grub-core/gensyminfo.sh
2468
c2dede05
BC
24692010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
2470
2471 Add a test for echo command options.
2472
2473 * tests/grub_cmd_echo.in: New test.
2474 * Makefile.util.def: Rules for new test.
2475
c55f5018
SJ
24762010-09-20 Szymon Janc <szymon@janc.net.pl>
2477
2478 Remove crc.mod and move crc command to hashsum.mod.
2479 Remove lib/crc.c - users updated to use gcrypt implementation.
2480
2481 * grub-core/commands/crc.c: Removed.
2482 * grub-core/Makefile.core.def (crc): Module removed.
2483 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
2484 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
2485 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
2486 * grub-core/lib/crc.c: Removed.
2487 * include/grub/lib/crc.h: Removed.
2488 * Makefile.util.def (crc): Remove lib/crc.c
2489 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
2490 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
2491 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
2492 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
2493 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
2494 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
2495
e0337366
VS
24962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
2499
742f9232
VS
25002010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 Split config.h for util and core.
2503
2504 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
2505 (ADDR32): Likewise.
2506 (DATA32): Likewise.
2507 (BSS_START_SYMBOL): Likewise.
2508 (END_SYMBOL): Likewise.
2509 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
2510 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
2511 * config.h.in: New file.
2512 * configure.ac: Use config-util.h as config define file.
2513 Rename MACHINE into GRUB_MACHINE. All users updated.
2514 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
2515 updated.
2516 (NESTED_FUNC_ATTR): Likewise.
2517 Substitue new variables.
2518 (COND_HAVE_ASM_USCORE): New conditional.
2519 * grub-core/Makefile.am (ASM_PREFIX): New variable.
2520 (kernel_syms.lst): Use ASM_PREFIX.
2521 * grub-core/kern/emu/console.c: Include config-util.h.
2522 * grub-core/kern/emu/misc.c: Likewise.
2523 * grub-core/kern/emu/mm.c: Likewise.
2524 * include/grub/emu/misc.h: Likewise.
2525 * include/grub/libgcc.h: Likewise.
2526
39feb0e8
VS
25272010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
2530 constants usage.
2531 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
2532 Fix GRUB_TERM_KEY_* constants usage.
2533 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
2534
9af6dac3
VS
25352010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
2538 print pointer.
2539 * grub-core/bus/usb/uhci.c: Remove empty define.
2540 (grub_uhci_check_transfer): Add missing cast.
2541 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
2542 print pointer.
2543 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
2544 PRIuGRUB_SIZE.
2545 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
2546
d6d94820
VS
25472010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * grub-core/Makefile.core.def (legacycfg): Add
2550 lib/i386/pc/vesa_modes_table.c on emu.
2551
3572f2b6
BC
25522010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
2553
2554 Reduce number of temporary files generated by build system.
2555
2556 * grub-core/gencmdlist.sh: Removed.
2557 * grub-core/genfslist.sh: Removed.
2558 * grub-core/genhandlerlist.sh: Removed.
2559 * grub-core/genmodsrc.sh: Removed.
2560 * grub-core/genpartmaplist.sh: Removed.
2561 * grub-core/genparttoollist.sh: Removed.
2562 * grub-core/gentermiinallist.sh: Removed.
2563 * grub-core/genvideolist.sh: Removed.
2564
2565 * grub-core/genmod.sh.in: New file.
2566 * grub-core/gensyminfo.sh.in: New file.
2567
2568 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
2569 * conf/Makefile.extra-dist: Update with new files.
2570 * gentpl.py: Remove rules related to unnecessary temporary files.
2571 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
2572 and und-* files.
2573 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
2574 genmod.sh scripts.
2575 * grub-core/bus/usb/uhci.c: Remove empty #define.
2576 * grub-core/genmoddep.awk: Updated with new syminfo format.
2577 * util/bash-completion.d/Makefile.am: Add config.log to
2578 CLEANFILES.
2579
c836b030
YB
25802010-09-19 Yves Blusseau <blusseau@zetam.org>
2581
2582 * Makefile.util.def: Add forgotten $(LIBINTL) library.
2583
2f4e8053
BC
25842010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
2585
2586 * util/grub-mkconfig.in: Check the config script for syntax errors
2587 before saving.
2588
75831c34
CW
25892010-09-19 Colin Watson <cjwatson@ubuntu.com>
25902010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * Makefile.util.def (grub-install): Use util/grub-install.in on all
2593 platforms.
2594 * util/grub-install.in: Add EFI and IEEE1275 support.
2595 * util/i386/efi/grub-install.in: Removed.
2596 * util/ieee1275/grub-install.in: Likewise.
2597
eaf41b25
VS
25982010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
2601 (grub_cmd_cmosclean): Likewise.
2602 (GRUB_MOD_INIT): Register command cmosclean.
2603 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
2604 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
2605
1a9130dd
CPE
26062010-09-18 Carles Pina i Estany <carles@pina.cat>
26072010-09-18 Aleš Nesrsta <starous@volny.cz>
26082010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 Add keyboard layouts support.
2611
2612 * Makefile.util.def (grub-mklayout): New file.
2613 (grub-kbdcomp): New script.
2614 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
2615 Add keyboard_layouts.h.
2616 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
2617 commands/boot.c on yeeloong.
2618 (keylayouts): New module.
2619 * grub-core/bus/usb/ohci.c
2620 * grub-core/bus/usb/uhci.c
2621 * grub-core/bus/usb/usbhub.c (rescan): New variable.
2622 (grub_usb_add_hub): Poll interrupt pipe for device handling.
2623 (attach_root_port): Likewise.
2624 (poll_nonroot_hub): Likewise.
2625 (grub_usb_poll_devices): Likewise.
2626 (detach_device): Close transfer.
2627 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
2628 function.
2629 (grub_usb_bulk_setup_readwrite): Likewise.
2630 (grub_usb_bulk_finish_readwrite): Likewise.
2631 * grub-core/commands/keylayouts.c: New file.
2632 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
2633 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
2634 aliases.
2635 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
2636 support scancode 2.
2637 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
2638 * include/grub/keyboard_layouts.h: New file.
2639 * util/grub-mklayout.c: New file.
2640 * util/grub-kbdcomp.in: Likewise.
2641
a1d84a5e
VS
26422010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 Unify memory types.
2645
2646 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
2647 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
2648 types.
2649 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
2650 (grub_upper_mem): Likewise.
2651 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
2652 * include/grub/memory.h (grub_memory_type_t): New enum.
2653 All users updated.
2654
9696382e
VS
26552010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/Makefile.core.def (lsapm): New module.
2658 * grub-core/commands/i386/pc/lsapm.c: New file.
2659 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
2660 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
2661 Likewise.
2662 * include/grub/i386/pc/apm.h: New file.
2663 * include/multiboot.h (multiboot_apm_info): New struct.
2664
26652010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 GRUB-legacy configuration file support.
2668
2669 * Makefile.util.def (grub-menulst2cfg): New util.
2670 * docs/man/grub-menulst2cfg.h2m: New file.
2671 * grub-core/Makefile.core.def (legacycfg): New module.
2672 * grub-core/commands/legacycfg.c: New file.
2673 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
2674 (grub_normal_add_menu_entry): ... this.
2675 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
2676 (grub_normal_set_password): ...this.
2677 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
2678 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
2679 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
2680 * grub-core/lib/legacy_parse.c: New file.
2681 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
2682 * include/grub/i386/pc/vesa_modes_table.h: New file.
2683 * include/grub/legacy_parse.h: Likewise.
2684 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
2685 * util/grub-menulst2cfg.c: New file.
2686
bf8d1338
CW
26872010-09-17 Colin Watson <cjwatson@ubuntu.com>
2688
2689 * grub-core/kern/emu/hostdisk.c
2690 (convert_system_partition_to_system_disk): Initialise node.
2691
9c0bad2e
CW
26922010-09-17 Colin Watson <cjwatson@ubuntu.com>
2693
2694 * grub-core/kern/emu/hostdisk.c
2695 (convert_system_partition_to_system_disk): Fix devmapper memory pool
2696 leak.
2697 Reported and based on patch by: Modestas Vainius.
2698
a939d135
CW
26992010-09-17 Colin Watson <cjwatson@ubuntu.com>
2700
2701 Fix DM-RAID probing with recent versions of device-mapper udev
2702 rules.
2703
2704 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
2705 canonicalise device paths under /dev/mapper/.
2706 (convert_system_partition_to_system_disk): Compare the
2707 uncanonicalised path to /dev/mapper/ rather than the canonicalised
2708 path, since device nodes under /dev/mapper/ are often symlinks.
2709
0f7ee3c9
YB
27102010-09-17 Yves Blusseau <blusseau@zetam.org>
2711
2712 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
2713
10854d0d
YB
27142010-09-16 Yves Blusseau <blusseau@zetam.org>
2715
2716 * configure.ac: Avoid some annoying error messages if freetype-config
2717 program is not found.
2718
108538d8
CW
27192010-09-16 Colin Watson <cjwatson@ubuntu.com>
2720
2721 Support RAID on virtio devices, and others.
2722
2723 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
2724 Rename to ...
2725 [__MINGW32__] (grub_find_device): ... this.
2726 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
2727 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
2728 reasonable default if dir is NULL.
2729 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
2730 ...
2731 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
2732 (grub_guess_root_device): Update callers.
2733 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
2734
2735 * util/raid.c (grub_util_getdiskname): Remove.
2736 (grub_util_raid_getmembers): Use grub_find_device rather than
2737 grub_util_getdiskname.
2738
e5bfc130
CW
27392010-09-16 Colin Watson <cjwatson@ubuntu.com>
2740
2741 * docs/grub.texi (serial): Remove obsolete comment about GRUB
2742 needing to be compiled with serial support.
2743 (ls): Indicate that multiple files are accepted.
2744 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
2745 indicate that multiple files are accepted.
2746
be458ae2
CW
27472010-09-16 Colin Watson <cjwatson@ubuntu.com>
2748
2749 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
2750 libgrub_a_init.c, and util/bash-completion.d/grub.
2751
cb731b5e
VS
27522010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * util/grub-setup.c (setup): Fix incorrect container semantics.
2755
35139e8a
VS
27562010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
2759 misusage.
2760 Reported by: J. Nick Terry
2761
e50fca4a
VS
27622010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 Move embedding routines to partmap sources files.
2765
2766 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
2767 [GRUB_UTIL]: New variable.
2768 (gpt_partition_map_iterate): Set part.parent.
2769 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
2770 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
2771 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
2772 New function.
2773 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
2774 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
2775 (grub_partition_map) [GRUB_UTIL]: New field embed.
2776 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
2777 (setup): Use ->embed.
2778
f00478b7
VS
27792010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
2782 function.
2783 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
2784 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
2785
2b94e3ff
YB
27862010-09-15 Yves Blusseau <blusseau@zetam.org>
2787
2788 Add function to get completions from usage.
2789
2790 * util/bash-completion.d/grub-completion.bash.in: Add function to get
2791 completions from usage. Use LC_ALL=C to get options properly.
2792
2e04a006
VS
27932010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * grub-core/gnulib/basename-lgpl.c: Imported.
2796 * grub-core/gnulib/basename.c: Likewise.
2797 * grub-core/gnulib/dirname-lgpl.c: Likewise.
2798 * grub-core/gnulib/dirname.c: Likewise.
2799 * grub-core/gnulib/dirname.h: Likewise.
2800 * grub-core/gnulib/stripslash.c: Likewise.
2801
5dcdf93a
VS
28022010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * grub-core/gnulib/error.c: Resynced.
2805 * grub-core/gnulib/getopt.c: Likewise.
2806 * grub-core/gnulib/getopt_int.h: Likewise.
2807 * grub-core/gnulib/regex.h: Likewise.
2808 * grub-core/gnulib/regex_internal.c: Likewise.
2809 * grub-core/gnulib/regex_internal.h: Likewise.
2810
014f47b7
SJ
28112010-09-15 Szymon Janc <szymon@janc.net.pl>
2812
2813 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
2814 CRC calculations and validity checks.
2815 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
2816 calculations.
2817
dd521a4a
SJ
28182010-09-15 Szymon Janc <szymon@janc.net.pl>
2819
2820 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
2821
79c4eeb9
VS
28222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 Fix incorrect echo options handling.
2825 Reported by: Yves Blusseau.
2826
2827 * include/grub/command.h (grub_command_flags_t): New flags
2828 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
2829 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
2830 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
2831
ed80f7d5
VS
28322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
2835 users updated.
2836 (GRUB_COMMAND_FLAG_MENU): Likewise.
2837 (GRUB_COMMAND_FLAG_BOTH): Likewise.
2838 (GRUB_COMMAND_FLAG_TITLE): Removed.
2839 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
2840 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
2841 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
2842 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
2843 (grub_command_flags_t): New enum. All users updated.
2844
5fe7620a
SG
28452010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
2846
2847 Fix solaris compilation.
2848
2849 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
2850 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
2851 (grub-emu-list): Likewise.
2852
545b752f
VS
28532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 Remove deprecated root command.
2856
2857 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
2858 updated.
2859
6c1a338c
VS
28602010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * util/i386/pc/grub-setup.c: Merge this ...
2863 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
2864 * util/grub-setup.c: ... into this.
2865 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
2866 New struct.
2867
28682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
2871 possible.
2872
d2ea4551
VS
28732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
2876 allocate p.
2877
3c3b5040
VS
28782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2881 explicit root argument to set to prevent UUID to be interpreted as
2882 argument to set.
2883
b71c3fae
VS
28842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
2887
275433e6
VS
28882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 Don't export grub_gate_a20.
2891
2892 * grub-core/kern/i386/pc/init.c: Remove leftovers.
2893 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
2894 to ...
2895 (grub_gate_a20): ... this. All users updated.
2896 * include/grub/i386/pc/init.h: Removed. All users updated.
2897
a5dbb1f1
VS
28982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 Create euro.pf2 which supports most European languages.
2901
2902 * Makefile.am (grubdata_DATA): Add euro.pf2.
2903 (euro.pf2): New target.
2904 (CLEANFILES): Add euro.pf2.
2905
62a747cb
VS
29062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * configure.ac: Disable emu-usb by default to prevent inadvertent
2909 device takeover.
2910
608e43b1
VS
29112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 Disable usbserial on grub-emu since our libusb code isn't good enough
2914 yet.
2915
2916 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
2917 (usbserial_pl2303): Likewise.
2918 (usbserial_ftdi): Likewise.
2919
94564f81
VS
29202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * include/grub/disk.h (grub_disk): Remove has_partitions.
2923 All users updated.
2924 * disk/loopback.c (grub_loopback): Remove has_partitions.
2925 All users updated.
2926 (options): Remove partitions. All users updated.
2927 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
2928 * util/i386/pc/grub-setup.c (setup): copy partition table only when
2929 actual partition table is found.
2930
3352800b
VS
29312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 Remove readability checks (too many false negatives).
2934
2935 * util/grub-install.in: Remove readability checks.
2936 * util/grub-mkconfig.in: Likewise.
2937 * util/grub.d/10_hurd.in: Likewise.
2938 * util/grub.d/10_kfreebsd.in: Likewise.
2939 * util/grub.d/10_linux.in: Likewise.
2940 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
2941 way.
2942
2419f17a
VS
29432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 Enable acpi shutdown on all ACPI platforms.
2946
2947 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
2948 on coreboo, multiboot and EFI.
2949 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
2950 (grub_acpi_halt): Likewise.
2951 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
2952 (grub_cmd_halt): Don't call grub_acpi_halt directly.
2953 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
2954 * grub-core/lib/i386/halt.c (grub_halt)
2955 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
2956
0575c7c3
VS
29572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
2960 context.
2961
54ac3cd1
VS
29622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/video/efi_gop.c: Fix over-80-chars line.
2965 * grub-core/video/efi_uga.c: Likewise.
2966
b2a30ac5
VS
29672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 Filter devaliases and never open same device twice.
2970
2971 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
2972 (last_ihandle): Likewise.
2973 (ofdisk_hash_ent): New member shortest.
2974 (ofdisk_hash_add): Add canonical path too.
2975 (scan): New function.
2976 (grub_ofdisk_iterate): Iterate over hashed entries.
2977 (compute_dev_path): Don't add :0.
2978 (grub_ofdisk_open): Don't really open the disk.
2979 (grub_ofdisk_close): Avoid closing unrelated disk.
2980 (grub_ofdisk_read): Implement reopen logic.
2981 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
2982 New function.
2983 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
2984 New proto.
2985
fb53b340
VS
29862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 Fix sparc64.
2989
2990 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
2991 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
2992 right address. Add sparc64_ieee1275_ldflags.
2993 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
2994 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
2995 to grub_host_to_target_addr
2996 (load_image): Likewise.
2997
f452b040
VS
29982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * grub-core/normal/completion.c (complete_file): Handle device
3001 containing slash.
3002 Fix based on patch by Doug Nazar.
3003
9b5b2541
VS
30042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 grub-mknetdir script.
3007
3008 * Makefile.util.def (grub-mknetdir): New module.
3009 * tests/util/grub-shell.in: Support boot=net
3010 * util/grub-mknetdir.in: New file.
3011
9d2be652
VS
30122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 videoinfo on non-vbe.
3015
3016 * grub-core/Makefile.core.def (vbeinfo): Removed.
3017 (vbetest): Removed.
3018 (videoinfo): New module.
3019 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
3020 * grub-core/commands/i386/pc/vbetest.c: Removed.
3021 * grub-core/commands/videoinfo.c: New file.
3022 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
3023 specification.
3024 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
3025 as vbetest.
3026 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
3027 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
3028 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
3029 mode_number. New parameter mode. All users updated.
3030 (grub_video_gop_iterate): New function.
3031 (grub_video_efi_gop): New member iterate.
3032 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
3033 (grub_vbe_set_video_mode): Remove setting useless fields.
3034 (vbe2videoinfo): New function.
3035 (grub_video_vbe_iterate): Likewise.
3036 (grub_video_vbe_setup): Use vbe2videoinfo.
3037 (grub_video_vbe_print_adapter_specific_info): New function.
3038 (grub_video_vbe_adapter): New fields iterate and
3039 print_adapter_specific_info.
3040 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
3041 All users updated.
3042 (grub_video_mode_info): New field mode_number.
3043 (grub_video_adapter): New fields iterate and
3044 print_adapter_specific_info.
3045
179503f5
TG
30462010-09-13 Tristan Gingold <gingold@free.fr>
30472010-09-13 Robert Millan <rmh.grub@aybabtu.com>
30482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * grub-core/commands/efi/lsefisystab.c: New file.
3051 * grub-core/commands/efi/lssal.c: Likewise.
3052 * grub-core/Makefile.core.def (lsacpi): New module.
3053 (lsefisystab): Likewise.
3054 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
3055 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
3056 (grub_efi_sal_system_table): New struct.
3057 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
3058 (grub_efi_sal_system_table_memory_descriptor): Likewise.
3059 (grub_efi_sal_system_table_platform_features): Likewise.
3060 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
3061 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
3062 (grub_efi_sal_system_table_ap_wakeup): Likewise.
3063 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
3064
cf9827de
VS
30652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 Support explicit user claim that a device is BIOS-visible.
3068
3069 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
3070 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
3071 * grub-core/kern/emu/hostdisk.c
3072 (convert_system_partition_to_system_disk): Support mdX.
3073 (find_system_device): New parameter add. All users updated.
3074 (grub_util_biosdisk_is_present): New function.
3075 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
3076 proto.
3077
53f0eb1f
VS
30782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 Search hints support.
3081
3082 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
3083 All users updated.
3084
b23ffd70
YB
30852010-09-13 Yves Blusseau <blusseau@zetam.org>
3086
3087 Bash completion script for util commands
3088
3089 * Makefile.am: Add util/bash-completion.d directory
3090 * configure.ac: Likewise.
3091 * util/bash-completion.d/Makefile.am: New file.
3092 * util/bash-completion.d/grub-completion.bash.in: Likewise.
3093
d547dc28
VS
30942010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
3097 (print_backlog): set backlog_ucs4 and backlog_glyphs.
3098 Reported by: Yves Blusseau.
3099
2fc8ccb9
VS
31002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
3103 partition size and offset.
3104
d8a84076
VS
31052010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
3108
84fb3b3d
VS
31092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
3112
768ec2e2
VS
31132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
3116 (grub_xvasprintf): Likewise.
3117
4870900f
VS
31182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
3121
faca6bec
VS
31222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
3125 args ending with NULL.
3126
31272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
3128
3129 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
3130 pointer.
3131
3c70f225
SJ
31322010-09-11 Szymon Janc <szymon@janc.net.pl>
3133
3134 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
3135
4df7996d
VS
31362010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 Shutdown using ACPI.
3139
3140 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
3141 * grub-core/commands/acpihalt.c: New file.
3142 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
3143 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
3144 (grub_acpi_halt): New proto.
3145 (GRUB_ACPI_SLP_EN): New const.
3146 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
3147 (GRUB_ACPI_OPCODE_*): New enum.
3148 (GRUB_ACPI_EXTOPCODE_*): Likewise.
3149
126b4c32
TG
31502010-09-11 Tristan Gingold <gingold@free.fr>
31512010-09-11 Robert Millan <rmh.grub@aybabtu.com>
31522010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 * commands/lsacpi.c: New file.
3155 * grub-core/Makefile.core.def (lsacpi): New module.
3156 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
3157 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
3158 (grub_acpi_madt_entry_header): New struct.
3159 (grub_acpi_madt): Likewise.
3160 (grub_acpi_madt_entry_interrupt_override): Likewise.
3161 (grub_acpi_madt_entry_sapic): Likewise.
3162 (grub_acpi_madt_entry_lsapic): Likewise.
3163 (grub_acpi_madt_entry_platform_int_source): Likewise.
3164 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
3165 (PRIuGRUB_UINT32_T): Likewise.
3166 (PRIxGRUB_UINT64_T): Likewise.
3167
1aa4fe88
VS
31682010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 Implement loading palette on ieee1275_fb.
3171
3172 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
3173 (have_setcolors): Likewise.
3174 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
3175 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
3176 (grub_video_ieee1275_set_palette): Implement.
3177
25761e13
VS
31782010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
31792010-09-11 Colin Watson <cjwatson@ubuntu.com>
3180
3181 * util/grub-install.in (grub_partition): New variable.
3182 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
3183 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
3184 Fixes a bug reported by Yves Blusseau.
3185
050abaea
VS
31862010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 Fix emu on mipsel.
3189
3190 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
3191 =grub_cpu_flush_cache on all mips and not only yeeloong.
3192 * configure.ac (COND_mips): New conditional.
3193 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
3194 platforms.
3195 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
3196 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
3197 [GRUB_LINKER_HAVE_INIT]: New function.
3198 (grub_emu_post_init): Likewise.
3199 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
3200 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
3201 * include/grub/cache.h (_mips): Include mips/cache.h.
3202 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
3203 LVM and RAID prototypes.
3204 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
3205 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
3206 function.
3207
5ed7d816
CW
32082010-09-10 Colin Watson <cjwatson@ubuntu.com>
3209
3210 * util/grub-install.in: Don't try to verify core.img until after
3211 running grub-mkimage to create it.
3212
90367e04
RM
32132010-09-10 Robert Millan <rmh@gnu.org>
3214
3215 * util/grub.d/10_hurd.in: Add misc readability checks.
3216 * util/grub.d/10_kfreebsd.in: Likewise.
3217 * util/grub.d/10_linux.in: Likewise.
3218
c452fa66
CW
32192010-09-10 Colin Watson <cjwatson@ubuntu.com>
3220
3221 * util/grub-install.in: ${imgext} won't be defined here until the
3222 install branch is merged. For the meantime, only verify core.img on
3223 i386-pc and sparc64-ieee1275 platforms.
3224
c38fe9f4
RM
32252010-09-10 Robert Millan <rmh@gnu.org>
3226
3227 Solaris support in grub_find_zpool_from_dir(). Thanks
3228 Seth Goldberg for referring to getextmntent() facility.
3229
3230 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
3231 `sys/mkdev.h'.
3232 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
3233 `<sys/mnttab.h>'.
3234 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
3235 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
3236 method for finding zpool name.
3237
905f7773
CW
32382010-09-10 Colin Watson <cjwatson@ubuntu.com>
3239
3240 grub-fstest needs the host and hostfs modules while other utilities
3241 actively require those modules to be absent, so grub-fstest needs
3242 its own initialisation and finalisation code.
3243
3244 * Makefile.am (grub_fstest.pp): New target.
3245 (grub_fstest_init.lst): Likewise.
3246 (grub_fstest_init.c): Likewise.
3247 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
3248
fb90b546
RM
32492010-09-10 Robert Millan <rmh@gnu.org>
3250
3251 * configure.ac: Check for `struct statfs.f_fstypename' and
3252 `struct statfs.f_mntfromname'.
3253
3254 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
3255 kFreeBSD-specific code.
3256
66d4bea5
RM
32572010-09-10 Robert Millan <rmh@gnu.org>
3258
3259 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
3260 on ZFS. Now non-main filesystems are supported as / too.
3261
b6a690ee
CW
32622010-09-09 Colin Watson <cjwatson@ubuntu.com>
3263
3264 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
3265 and grub-core/disk/host.c to ...
3266 (grub-fstest): ... here. Having the host disk implementation
3267 present confuses grub-probe and other utility programs.
3268
3269 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
3270 when writing to a file, not when writing to stdout.
3271
8901b00c 32722010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
3273
3274 * tests/partmap_test.in: New test for partitions.
3275 * Makefile.util.def: Rules for new test.
3276
7bf45fdd
RM
32772010-09-09 Robert Millan <rmh@gnu.org>
3278
3279 * util/grub-probe.c (probe): Fix a pair of unhandled error
3280 conditions.
3281
4dfbc574
RM
32822010-09-09 Robert Millan <rmh@gnu.org>
3283
3284 Basic Btrfs support (detection and UUID).
3285
3286 * grub-core/fs/btrfs.c: New file.
3287 * Makefile.util.def (library): Register btrfs.c.
3288 * grub-core/Makefile.core.def: Likewise.
3289
6b8e78ae
RM
32902010-09-08 Robert Millan <rmh@gnu.org>
3291
3292 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
3293 with (optional) parameters to specify device and relative path.
3294 * util/grub-install.in: Use is_path_readable_by_grub() to
3295 verify readability of a few critical files.
3296 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
3297 verify readability of grub.cfg.new.
3298
27f21a8b
VS
32992010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 Split minix.mod into minix.mod and minix2.mod.
3302
3303 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
3304 * grub-core/Makefile.core.def (minix2): New module.
3305 * grub-core/fs/minix.c: Use definitions instead of runtime version
3306 checking.
3307 * grub-core/fs/minix2.c: New file.
3308
c0e53ea5
YB
33092010-09-08 Yves Blusseau <blusseau@zetam.org>
3310
3311 Add new --boot-directory option to replace --root-directory
3312
3313 * util/grub-install.in: Add new --boot-directory option
3314 * util/grub-reboot.in: Likewise.
3315 * util/grub-set-default.in: Likewise.
3316
b9fe6ea2
YB
33172010-09-08 Yves Blusseau <blusseau@zetam.org>
3318
3319 * util/grub-mkconfig.in: Use new variable.
3320
d87aedff
YB
33212010-09-08 Yves Blusseau <blusseau@zetam.org>
3322
3323 * configure.ac: Define some useful variables.
3324
e55e8495
VS
33252010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3328 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
3329 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
3330 Use terminfo and don't use cursor-on/cursor-off unless it's known
3331 to work.
3332 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
3333 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
3334
6fa6d675
CW
33352010-09-08 Colin Watson <cjwatson@ubuntu.com>
3336
3337 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
3338 starts with "(,", fill the drive containing the loaded image in
3339 between those two characters, but expect that a full partition
3340 specification including partition map names will follow.
3341
92f2aef0
RM
33422010-09-08 Robert Millan <rmh@gnu.org>
3343
3344 * configure.ac: Remove `--enable-grub-fstest' option.
3345 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
3346
3347 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
3348 `grub-fstest' instead of `grub-probe' for readability verification.
3349 * util/grub-probe.c (probe): Remove readability verification kludge.
3350
99fd620d
RM
33512010-09-08 Robert Millan <rmh@gnu.org>
3352
3353 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
3354 initializing `GRUB_FS'.
3355
058e30ac 33562010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
3357
3358 Not command (!) support to GRUB script.
3359
3360 * tests/grub_script_not.in: New test.
3361 * Makefile.util.def: Rules for new test.
3362
3363 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3364 ! command as a special case.
3365 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
3366
b61d05ed 33672010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3368
058e30ac 3369 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
3370 grub_free.
b61d05ed 3371
4d69c786 33722010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3373
3374 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
3375
aa3119c4 33762010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3377
3378 * docs/grub.texi (Shell-like scripting): Documentation for break,
3379 continue, shift and return commands.
3380
db0f7e3d
VS
33812010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 Rename CD-ROM to cd on BIOS.
3384
3385 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
3386 "cd".
3387 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
3388
88b87c93
VS
33892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
3392 * util/grub-probe.c (main): Likewise.
3393 * util/i386/pc/grub-setup.c (main): Likewise.
3394 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
3395 Reported and debugged by: alexxy
3396
294f324d
VS
33972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3398
3399 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
3400 diagnostic info.
3401
d7ee3441
JS
34022010-09-05 Jo Shields <directhex@apebox.org>
3403
3404 * util/grub.d/30_os-prober.in: Add missing classes.
3405
d7e06c1f
VS
34062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * docs/grub.texi (Theme file format): Document new position format.
3409
fc157e53
VS
34102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
3413 a table. Use @code instead of @verbatim.
3414
506e9a1c
CB
34152010-09-05 Colin D Bennett <colin@gibibit.com>
3416
3417 Gfxmenu documentation.
3418
3419 * docs/grub.texi (Theme file format): New chapter.
3420
f0aff67c
SJ
34212010-09-05 Szymon Janc <szymon@janc.net.pl>
3422
3423 * grub-core/Makefile.core.def (xzio): New module.
3424 * grub-core/io/xzio.c: New file.
3425 * grub-core/lib/xzembed/xz.h: New file (from xembed).
3426 * grub-core/lib/xzembed/xz_config.h: Likewise.
3427 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
3428 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
3429 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
3430 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
3431 * grub-core/lib/xzembed/xz_private.h: Likewise.
3432 * grub-core/lib/xzembed/xz_stream.h: Likewise.
3433 * include/grub/file.h (grub_file_filter_id): New compression filter
3434 GRUB_FILE_FILTER_XZIO.
3435
82a85062
VS
34362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
3439 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
3440 size.
3441
3579415d
VS
34422010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
3445 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
3446
5124ae6d
VS
34472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 Uncompressed checksum support.
3450
3451 * grub-core/commands/hashsum.c (options): Add option --uncompress.
3452 (check_list): New parameter uncompress.
3453 (grub_cmd_hashsum): Handle --uncompress.
3454
9aadb3d1
VS
34552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 Reintroduce testload.
3458
3459 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
3460 from here ...
3461 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
3462 (GRUB_MOD_INIT): New function.
3463 (GRUB_MOD_FINI): Likewise.
3464 * grub-core/Makefile.core.def (testload): New module.
3465
a17792c3
SJ
34662010-09-05 Szymon Janc <szymon@janc.net.pl>
3467
3468 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
3469 (uint8_t): New type.
3470 (uint16_t): Likewise.
3471 (uint32_t): Likewise.
3472 (uint64_t): Likewise.
3473
b81e40a3
SJ
34742010-09-05 Szymon Janc <szymon@janc.net.pl>
3475
3476 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
3477
fc2ef117
VS
34782010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
3481 Made static.
3482 (grub_gzfile_open): Removed. All users updated.
3483 (GRUB_MOD_INIT): New function.
3484 (GRUB_MOD_FINI): Likewise.
3485 * grub-core/kern/file.c (grub_file_filters_all): New variable.
3486 (grub_file_filters_enabled): Likewise.
3487 (grub_file_open): Handle filters.
3488 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
3489 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
3490 * include/grub/file.h (grub_file_filter_id_t): New type.
3491 (grub_file_filter_t): Likewise.
3492 (grub_file_filters_all): New extern variable.
3493 (grub_file_filters_enabled): Likewise.
3494 (grub_file_filter_register): New inline function.
3495 (grub_file_filter_unregister): Likewise.
3496 (grub_file_filter_disable): Likewise.
3497 (grub_file_filter_disable_compression): Likewise.
3498 * include/grub/gzio.h: Removed.
3499
35ee15e0
BC
35002010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3501
3502 Filename expansion support for wildcards in GRUB script.
3503
3504 * tests/grub_script_expansion.in: New test.
3505 * Makefile.util.def: Rule for new test.
3506
3507 * grub-core/commands/wildcard.c: New file, implements filename
3508 expansion support for GRUB script.
3509 * grub-core/Makefile.core.def: Rule update for regexp.mod.
3510 * grub-core/script/argv.c: Cosmetic changes.
3511 * grub-core/script/execute.c (grub_script_arglist_to_argv):
3512 Refactored to perform wildcard expansion on arguments.
3513 * include/grub/script_sh.h (grub_script_wildcard_translator): New
3514 struct.
3515
3516 * tests/util/grub-shell.in: Fix quoting for read input.
3517
5f0c4aca
BC
35182010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3519
3520 Support for updating environment variables with matched substrings
3521 of regexp.
3522
3523 * tests/grub_cmd_regexp.in: New test.
3524 * Makefile.util.def: Rule for new test.
3525
3526 * grub-core/commands/regexp.c: New option -s to update environment
3527 variables with regexp matches.
3528
3759a35f
SJ
35292010-09-04 Szymon Janc <szymon@janc.net.pl>
3530
3531 * include/grub/file.h (grub_file): New member not_easly_seekable.
3532 (grub_file_seekable): New inline function.
3533 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
3534 easily seekable.
3535 (grub_gzio_open): Set not_easly_seekable.
3536 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
3537 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
3538
ed8c6dec
BC
35392010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3540
3541 Support for options to appear multiple times on cmdline.
3542
3543 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
3544 * grub-core/commands/extcmd.c: Support for repeatable option.
3545 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
3546 repeatable option support.
3547
3548 Refactor menuentry into a regular command.
3549
3550 * grub-core/commands/menuentry.c: New file, menuentry command
3551 implementation.
3552 * grub-core/Makefile.core.def: Rule update for normal.mod.
3553 * grub-core/normal/main.c: Moved menuentry creation to
3554 grub-core/commands/menuentry.c.
3555 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
3556 (grub_menu_execute_entry_real): Removed.
3557 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
3558 function.
3559 (grub_script_execute_menuentry): Removed.
3560 * grub-core/script/parser.y (menuentry): Removed.
3561 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
3562 * grub-core/script/yylex.l (menuentry): Removed.
3563 * include/grub/menu.h (grub_menu_init): New prototype.
3564 (grub_menu_fini): New prototype.
3565 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
3566 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
3567 (grub_script_execute_sourcecode): New prototype.
3568
dacd0cf0
BC
35692010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3570
3571 "return" command for GRUB script functions.
3572
3573 * tests/grub_script_return.in: New test.
3574 * Makefile.util.def: Rules for new test.
3575
3576 * grub-core/script/execute.c (grub_script_return): New function.
3577 * grub-core/script/main.c: Register/unregister return commaond.
3578 * include/grub/script_sh.h (grub_script_return): New prototype.
3579
52e72f9d
BC
35802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3581
3582 "setparams" command to update positional parameters.
3583
3584 * tests/grub_script_setparams.in: New test.
3585 * Makefile.util.def: Rules for new test.
3586
3587 * grub-core/script/argv.c (grub_script_argv_make): New function.
3588 * grub-core/script/execute.c (replace_scope): New function.
3589 (grub_script_setparams): New function.
3590 * grub-core/script/lexer.c: Remove unused variables.
3591 * grub-core/script/main.c: Register/unregister setparams command.
3592 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
3593 (grub_script_setparams): New prototype.
3594
25b60c91
BC
35952010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3596
3597 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
3598 grub_free order.
3599
37e7bf68
BC
36002010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3601
3602 Support for passing block of commands as an argument to extcmds.
3603
3604 * Makefile.util.def: Rules for new test.
3605 * tests/grub_script_blockarg.in: New test.
3606 * grub-core/tests/test_blockarg.c: New file, block argument
3607 command used in the test.
3608
3609 * include/grub/extcmd.h (grub_extcmd_context): New struct.
3610 (grub_register_extcmd_prio): New function prototype.
3611 (grub_extcmd_dispatcher): New function prototype.
3612 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
3613 type.
3614 * include/grub/script_sh.h (struct grub_script): New members
3615 `children', `next_siblings' and `refcnt' for block arguments and
3616 reference counting.
3617 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
3618 (grub_script_arg): New member `script' for block argument.
3619 (grub_script_argv): New member `script' for block argument.
3620 (grub_parser_param): New member `scripts' for block argument.
3621 (grub_script_mem_free): New extern function prototype.
3622 (grub_script_ref): New function prototype.
3623 (grub_script_unref): New function prototype.
3624
3625 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
3626 extcmd form to support block arguments.
3627 * grub-core/script/argv.c: Block arguments support.
3628 * grub-core/script/execute.c: Likewise.
3629 * grub-core/script/lexer.c: Likewise.
3630 * grub-core/script/main.c: Likewise.
3631 * grub-core/script/script.c: Likewise.
3632 * grub-core/script/parser.y: Likewise. New `block' and `block0'
3633 non-terminals.
3634
3635 * grub-core/commands/acpi.c: Update extcmd implementations with
3636 grub_extcmd_context_t.
3637 * grub-core/commands/cat.c: Likewise.
3638 * grub-core/commands/echo.c: Likewise.
3639 * grub-core/commands/extcmd.c: Likewise.
3640 * grub-core/commands/hashsum.c: Likewise.
3641 * grub-core/commands/hdparm.c: Likewise.
3642 * grub-core/commands/help.c: Likewise.
3643 * grub-core/commands/hexdump.c: Likewise.
3644 * grub-core/commands/i386/cpuid.c: Likewise.
3645 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3646 * grub-core/commands/i386/pc/halt.c: Likewise.
3647 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3648 * grub-core/commands/iorw.c: Likewise.
3649 * grub-core/commands/keystatus.c: Likewise.
3650 * grub-core/commands/loadenv.c: Likewise.
3651 * grub-core/commands/ls.c: Likewise.
3652 * grub-core/commands/lspci.c: Likewise.
3653 * grub-core/commands/memrw.c: Likewise.
3654 * grub-core/commands/probe.c: Likewise.
3655 * grub-core/commands/search_wrap.c: Likewise.
3656 * grub-core/commands/setpci.c: Likewise.
3657 * grub-core/commands/sleep.c: Likewise.
3658 * grub-core/disk/loopback.c: Likewise.
3659 * grub-core/hello/hello.c: Likewise.
3660 * grub-core/loader/i386/bsd.c: Likewise.
3661 * grub-core/loader/xnu.c: Likewise.
3662 * grub-core/term/gfxterm.c: Likewise.
3663 * grub-core/term/serial.c: Likewise.
3664 * grub-core/tests/lib/functional_test.c: Likewise.
3665
888d1500
BC
36662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3667
3668 Multi-line quoted strings support.
3669
3670 * grub-core/script/lexer.c (append_newline): Removed.
3671 (grub_script_lexer_yywrap): Refactored.
3672 (grub_script_lexer_init): Refactored.
3673 * grub-core/script/yylex.l (yywrap): New function.
3674 (grub_lexer_resplit): New function.
3675 (grub_lexer_unput): New function.
3676 * include/grub/script_sh.h (grub_lexer_param): New members, unput
3677 and resplit.
3678 * tests/grub_script_echo1.in: Added few more testcases.
3679
dda060dd
VS
36802010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/kern/misc.c: Don't add abort alias in utils.
3683 Reported by: echoline.
3684
6556eba9
BC
36852010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
3686
3687 Add missing files into "make dist" tarball for other platforms.
3688
3689 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
3690 * conf/Makefile.common (dist_noinst_DATA): New variable.
3691 * conf/Makefile.extra-dist: Added missing make dist files.
3692 * grub-core/Makefile.core.def: Likewise.
3693
c8e7bf5f
VS
36942010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 Compress grub_prefix.
3697
3698 * grub-core/boot/i386/pc/lnxboot.S: Use
3699 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
3700 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
3701 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
3702 GRUB_MACHINE_PREFIX_END. All users updated.
3703 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
3704 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
3705 + 0x40.
3706 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
3707 * util/grub-mkimage.c (image_target_desc): Change data_end to
3708 prefix_end. All users updated.
3709
a7c00cdb
VS
37102010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
3713 value.
3714 (grub_openbsd_boot): Likewise.
3715 (grub_netbsd_boot): Likewise.
3716 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
3717 (grub_xnu_boot): Likewise.
3718
9f915872
VS
37192010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 * configure.ac: Clean LIBS variable after tests.
3722
efa1bee7
CW
37232010-09-02 Colin Watson <cjwatson@ubuntu.com>
3724
3725 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
3726
61d720e5
VS
37272010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
3730 echo if libdevmapper will be used.
3731
ef8e0ec8
IT
37322010-09-02 Ian Turner <Ian.Turner@deshaw.com>
3733
3734 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
3735 constant for the same file.
3736
03e261d8
VS
37372010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
3740
c2a4eba6
CW
37412010-09-02 Colin Watson <cjwatson@ubuntu.com>
3742
3743 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
3744 grub-core/*.pp.
3745
9056cbf3
CW
37462010-09-02 Colin Watson <cjwatson@ubuntu.com>
3747
3748 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
3749 required by the boot protocol.
3750
3751 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
3752 ebp and edi members.
3753 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
3754 state.ebp and state.edi.
3755 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
3756 %ebp and %edi according to grub_relocator32_ebp and
3757 grub_relocator32_edi respectively.
3758 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
3759 and state.edi.
3760
529cc99a
VS
37612010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 Add i386-pc-pxe image target.
3764
3765 * util/grub-mkimage.c (image_target_desc): New enum value
3766 IMAGE_I386_PC_PXE.
3767 (image_targets): New target i386-pc-pxe.
3768 (generate_image): Handle i386-pc-pxe image.
3769
9a093920
VS
37702010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 Fix grub_pxe_scan.
3773
3774 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
3775 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
3776 All users updated.
3777 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
3778 (grub_pxe_pxenv): Correct type.
3779
f9cefc4e
CW
37802010-09-01 Colin Watson <cjwatson@ubuntu.com>
3781
3782 * NEWS: Document most of the important changes since 1.98.
3783
4066f57f
CW
37842010-09-01 Colin Watson <cjwatson@ubuntu.com>
3785
3786 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
3787 generated manual page) a little.
3788
da2891f9
CW
37892010-09-01 Colin Watson <cjwatson@ubuntu.com>
3790
3791 * docs/grub.texi: Add myself as an author.
3792
ad717fae
VS
37932010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * Makefile.util.def (libgrub.a): Add missing sunpc.
3796 Reported by: Seth Goldberg.
3797
eefe8abd
VS
37982010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 Interrupt wrapping and code simplifications.
3801
9494ef9a
VS
3802 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
3803 x86_noieee1275 which are functionaly equivalent in this case.
3804 (grub-install): Make source on each platform explicit. Enable on
3805 all noemu.
3806 * gentpl.py (x86_efi_pc): Removed group.
3807 (x86_noefi): Likewise.
3808 (i386_noefi): Likewise.
3809 (x86_noieee1275): Likewise.
3810 (i386_noieee1275): Likewise.
3811 (i386_noefi_noieee1275): Likewise.
3812 (i386_pc_qemu_coreboot): Likewise.
3813 (i386_coreboot_multiboot): Likewise.
3814 (i386_pc_coreboot_multiboot_qemu): Likewise.
3815 (x86_noefi_mips): Likewise.
3816 (noieee1275): Likewise.
3817 (ieee1275_mips): Likewise.
3818 (noemu_noieee1275): Likewise.
3819 (cmos): New group.
3820 (usb): Likewise.
3821 (videoinkernel): Likewise.
3822 (videomodules): Likewise.
eefe8abd 3823 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
3824 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
3825 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
3826 include/grub/loader.h, include/grub/msdos_partition.h,
3827 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
3828 include/grub/machine/console.h, include/grub/machine/vga.h,
3829 include/grub/machine/vbe.h, include/grub/machine/init.h,
3830 include/grub/machine/kernel.h, include/grub/cpu/time.h,
3831 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 3832 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
3833 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
3834 * grub-core/Makefile.core.def (kernel): Explicit the source for
3835 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
3836 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
3837 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
3838 Use videoinkernel tag.
3839 (usb): Enable on all usb.
3840 (usbserial_common): Likewise.
3841 (usbserial_pl2303): Likewise.
3842 (usbserial_ftdi): Likewise.
3843 (uhci): Enable on all x86.
3844 (ohci): Enable on all pci.
3845 (cmostest): Enable on all CMOS.
3846 (acpi): Include commands/acpi.c on all platforms.
3847 (halt): Add relevant lib/*/halt.c.
3848 (hdparm): Enable on all pci.
3849 (lspci): Likewise.
3850 (usbtest): Enable on all usb.
3851 (ata): Enable on all pci.
3852 (ata_pthru): Likewise.
3853 (usbms): Enable on all usb.
3854 (usb_keyboard): Likewise.
3855 (font): Use tag videomodules.
3856 (bufio): Likewise.
3857 (datetime): Use tag cmos. Enable on all noemu.
3858 (mmap): Use tags common and x86.
3859 (gfxterm): Use tag videomodules.
3860 (bitmap): Likewise.
3861 (bitmap_scale): Likewise.
3862 (video_fb): Likewise.
3863 (video): Likewise.
3864 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
3865 adjust padding accordingly. All users updated.
3866 (grub_ohci_transaction): Fix bad format specification.
3867 (GRUB_MOD_INIT): Add asserts for struct size.
3868 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
3869 (grub_alloc_td): Likewise.
3870 (grub_free_queue): Likewise.
3871 (grub_uhci_transfer): Likewise.
3872 (grub_uhci_transaction): Fix bad format specification.
3873 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
3874 (grub_usb_bulk_readwrite): Likewise.
3875 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
3876 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
3877 Made static.
3878 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
3879 Made static.
3880 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
3881 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
3882 Transformed into C.
3883 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
3884 Moved from here ...
3885 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
3886 ... here. Transformed into C. Made static.
3887 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
3888 Moved from here ...
3889 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
3890 ... here. Transformed into C. Made static.
3891 * grub-core/kern/i386/pc/startup.S
3892 (grub_biosdisk_check_int13_extensions): Moved from here ...
3893 * grub-core/disk/i386/pc/biosdisk.c
3894 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
3895 Made static.
3896 * grub-core/kern/i386/pc/startup.S
3897 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
3898 * grub-core/disk/i386/pc/biosdisk.c
3899 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
3900 Transformed into C. Made static.
3901 * grub-core/kern/i386/pc/startup.S
3902 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
3903 * grub-core/disk/i386/pc/biosdisk.c
3904 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
3905 Transformed into C. Made static.
3906 * grub-core/kern/i386/pc/startup.S
3907 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
3908 * grub-core/disk/i386/pc/biosdisk.c
3909 (grub_biosdisk_get_diskinfo_standard): ... here.
3910 Transformed into C. Made static.
3911 * grub-core/kern/i386/pc/startup.S
3912 (grub_biosdisk_get_num_floppies): Moved from here ...
3913 * grub-core/disk/i386/pc/biosdisk.c
3914 (grub_biosdisk_get_num_floppies): ... here.
3915 Transformed into C. Made static.
3916 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
3917 New function.
3918 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
3919 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
3920 Transformed into C. Made static.
3921 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
3922 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
3923 Transformed into C. Made static.
3924 * grub-core/kern/i386/ieee1275/init.c: Removed.
3925 * grub-core/kern/i386/misc.S: Likewise.
3926 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
3927 Splitted from here ...
3928 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
3929 Transformed into C. Made static. All users updated.
3930 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
3931 Transformed into C. Made static. All users updated.
3932 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
3933 Moved from here...
3934 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
3935 Transformed into C. Made static. All users updated.
3936 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
3937 Moved from here...
3938 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
3939 Transformed into C. Made static. All users updated.
3940 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
3941 Removed (replaced by C version).
3942 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
3943 Moved from here...
3944 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
3945 Transformed into C. Made static.
3946 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
3947 Moved from here...
3948 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
3949 ... here. Transformed into C.
3950 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
3951 Moved from here...
3952 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
3953 ... here. Transformed into C.
3954 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
3955 Moved from here...
3956 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
3957 ... here. Transformed into C. Made static.
3958 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
3959 Moved from here...
3960 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
3961 ... here. Transformed into C.
21ed554b
VS
3962 * grub-core/kern/i386/pc/startup.S
3963 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
3964 * grub-core/video/i386/pc/vbe.c
3965 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
3966 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
3967 Moved from here...
3968 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
3969 ... here. Transformed into C.
3970 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
3971 Moved from here...
3972 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
3973 ... here. Transformed into C.
3974 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
3975 Moved from here...
3976 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
3977 ... here. Transformed into C.
3978 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
3979 Moved from here...
3980 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
3981 ... here. Transformed into C.
3982 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
3983 Moved from here...
3984 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
3985 ... here. Transformed into C. Made static.
3986 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
3987 Moved from here...
3988 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
3989 ... here. Transformed into C. Made static.
3990 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
3991 Moved from here...
3992 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
3993 ... here. Transformed into C. Made static.
3994 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
3995 pxe_rm_entry as third argument.
3996 (grub_bios_interrupt): New function.
3997 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
3998 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
3999 of calling grub_stop.
4000 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
4001 * grub-core/lib/efi/halt.c (grub_halt): ...here.
4002 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
4003 * grub-core/lib/emu/halt.c (grub_halt): ... here.
4004 * grub-core/lib/i386/halt.c: Moved from here ...
4005 * grub-core/lib/i386/halt.c: ... here.
4006 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
4007 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
4008 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
4009 grub_stop_floppy.
4010 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
4011 * include/grub/i386/coreboot/init.h: Removed.
4012 * include/grub/i386/multiboot/init.h: Likewise.
4013 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
4014 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
4015 * include/grub/i386/pc/int.h: New file.
4016 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
4017 (grub_pxe_scan): Removed.
4018 (grub_pxe_call): Update prototype.
4019 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
4020 prototypes.
4021 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
4022 * include/grub/i386/qemu/init.h: Removed.
4023 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
4024 noreturn.
4025 (grub_halt): Likewise.
4026 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
4027 (grub_reboot): Likewise.
4028 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
4029 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
4030 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
4031
215dd471
RM
40322010-08-30 Robert Millan <rmh@gnu.org>
4033
4034 * NEWS: Document addition of ZFS support in `grub-install' and
4035 `grub-mkconfig'.
4036
ebd65b82
BC
40372010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
4038
4039 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
4040 dprintf output.
4041
11721d19
VS
40422010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 Remove leftover embedding of font objects.
4045
4046 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4047 * util/grub-install.in (font): Removed.
4048 * util/grub-mkimage.c (generate_image): Remove font support. All users
4049 updated.
4050
37837d4e
VS
40512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 Remove leftover embedding of font objects.
4054
4055 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4056 * util/grub-install.in (font): Removed.
4057 * util/grub-mkimage.c (generate_image): Remove font support. All users
4058 updated.
4059
b4c1aae0
VS
40602010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 4063 Reported by: Ian Turner
b4c1aae0 4064
8920a08d
VS
40652010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
4068 timeout to avoid indefinite boot stalling.
4069
f21db033
VS
40702010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
4073 (grub_env_write_color_highlight): Likewise.
4074
9a9de209
VS
40752010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/normal/term.c (print_more): Return to normal and not
4078 to standard state after printing "---MORE---".
4079
3dca01d7
VS
40802010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
4083 Mask out the bit 0x80 since it has other meaning that specifiing color.
4084
0b986c40
VS
40852010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 New relocator. Allows for more kernel support and more straightforward
4088 loader writing.
4089
4090 * Makefile.am (BOOTTARGET): New variable.
4091 (QEMU32): Likewise.
4092 (linux.init.x86_64): New target.
4093 (linux.init.i386): Likewise.
4094 (multiboot.elf): Likewise.
4095 (kfreebsd.elf): Likewise.
4096 (kfreebsd.aout): Likewise.
4097 (pc-chainloader.elf): Likewise.
4098 (pc-chainloader.bin): Likewise.
4099 (ntldr.elf): Likewise.
4100 (ntldr.bin): Likewise.
4101 (multiboot2.elf): Likewise.
4102 (kfreebsd.init.x86_64): Likewise.
4103 (kfreebsd.init.i386): Likewise.
4104 (knetbsd.init.i386): Likewise.
4105 (kopenbsd.init.i386): Likewise.
4106 (knetbsd.init.x86_64): Likewise.
4107 (kopenbsd.init.x86_64): Likewise.
4108 (linux-initramfs.i386): Likewise.
4109 (linux-initramfs.x86_64): Likewise.
4110 (kfreebsd-mfsroot.i386.img): Likewise.
4111 (knetbsd.image.i386): Likewise.
4112 (kopenbsd.image.i386): Likewise.
4113 (kopenbsd.image.x86_64): Likewise.
4114 (knetbsd.miniroot-image.i386.img): Likewise.
4115 (kfreebsd-mfsroot.x86_64.img): Likewise.
4116 (knetbsd.image.x86_64): Likewise.
4117 (knetbsd.miniroot-image.x86_64.img): Likewise.
4118 (kfreebsd-mfsroot.i386.gz): Likewise.
4119 (bootcheck-kfreebsd-i386): Likewise.
4120 (kfreebsd-mfsroot.x86_64.gz): Likewise.
4121 (bootcheck-kfreebsd-x86_64): Likewise.
4122 (knetbsd.miniroot-image.i386.gz): Likewise.
4123 (bootcheck-knetbsd-i386): Likewise.
4124 (bootcheck-kopenbsd-i386): Likewise.
4125 (bootcheck-kopenbsd-x86_64): Likewise.
4126 (knetbsd.miniroot-image.x86_64.gz): Likewise.
4127 (bootcheck-knetbsd-x86_64): Likewise.
4128 (bootcheck-linux-i386): Likewise.
4129 (bootcheck-linux-x86_64): Likewise.
4130 (bootcheck-linux16-i386): Likewise.
4131 (bootcheck-linux16-x86_64): Likewise.
4132 (bootcheck-multiboot): Likewise.
4133 (bootcheck-multiboot2): Likewise.
4134 (bootcheck-kfreebsd-aout): Likewise.
4135 (bootcheck-pc-chainloader): Likewise.
4136 (bootcheck-ntldr): Likewise.
4137 (CLEANFILES): Add new targets.
4138 (BOOTCHECKS): New variable.
4139 (.PHONY): Add bootchecks.
4140 (SUCCESSFUL_BOOT_STRING): New variable.
4141 (BOOTCHECK_TIMEOUT): Likewise.
4142 (bootcheck): New target
4143 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
4144 * configure.ac: Correct efiemu excuse.
4145 * docs/grub.texi (Supported kernels): New chapter.
4146 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
4147 include/grub/mm_private.h. Simplify inclusion of
4148 include/grub/boot.h, include/grub/loader.h
4149 and include/grub/msdos_partition.h
4150 (KERNEL_HEADER_FILES) [i386_coreboot]:
4151 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
4152 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
4153 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
4154 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
4155 include/grub/machine/loader.h.
4156 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
4157 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
4158 extra_dist.
4159 (pci.mod): Enable on i386-multiboot.
4160 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
4161 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
4162 i386-qemu.
4163 (relocator.mod): Rewritten.
4164 (aout.mod): Enable on all x86.
4165 (bsd.mod): Likewise.
4166 (ntldr.mod): New module.
4167 (linux.mod): Use loader/i386/linux.c on all x86.
4168 (xnu.mod): Enable on all x86.
4169 (vga_text.mod): disable on EFI and QEMU.
4170 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
4171 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
4172 * grub-core/efiemu/loadcore.c: Likewise.
4173 * grub-core/efiemu/main.c: Likewise.
4174 (grub_efiemu_exit_boot_services): Removed.
4175 (grub_efiemu_finish_boot_services): Likewise.
4176 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
4177 function.
4178 * grub-core/efiemu/i386/nocfgtables.c: New file.
4179 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
4180 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
4181 (grub_efi_finish_boot_services): Moved from here ...
4182 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
4183 Fille finish memory map and related data.
4184 (finish_mmap_buf): New variable.
4185 (grub_efi_uintn_t finish_mmap_size): Likewise.
4186 (grub_efi_uintn_t finish_key): Likewise.
4187 (grub_efi_uintn_t finish_desc_size): Likewise.
4188 (grub_efi_uint32_t finish_desc_version): Likewise.
4189 (grub_efi_is_finished): Likewise.
4190 (grub_efi_get_memory_map): Use saved memory map if EFI is already
4191 finished.
4192 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
4193 (grub_elf64_phdr_iterate): Likewise.
4194 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
4195 (grub_os_area_size): Likewise.
4196 (grub_machine_init): Don't reserve os area.
4197 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
4198 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4199 * grub-core/kern/i386/loader.S: Removed.
4200 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
4201 (grub_os_area_size): Likewise.
4202 (grub_machine_init): Don't reserve os area.
4203 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4204 Don't call grub_dl_unload_all.
4205 Don't include loader.S.
4206 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4207 Declare the memory after _end as available.
4208 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 4209 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 4210 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
4211 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
4212 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
4213 * include/grub/mm_private.h (grub_mm_header): ... here.
4214 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
4215 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
4216 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
4217 (grub_mm_region): ..here. Removed addr. Added pre_size.
4218 All users updated.
4219 * grub-core/kern/mm.c (base): Renamed to ...
4220 (grub_mm_base): ... this. Made global.
4221 (grub_real_malloc): Alloc from end of region.
4222 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
4223 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
4224 * grub-core/kern/powerpc/cache_flush.S: ... here.
4225 * grub-core/lib/efi/relocator.c: New file.
4226 * grub-core/lib/i386/relocator.c: Rewritten.
4227 * grub-core/lib/i386/relocator16.S: New file.
4228 * grub-core/lib/i386/relocator32.S: Likewise.
4229 * grub-core/lib/i386/relocator64.S: Likewise.
4230 * grub-core/lib/i386/relocator_asm.S: Rewritten.
4231 * grub-core/lib/i386/relocator_common.S: New file.
4232 * grub-core/lib/ieee1275/relocator.c: Likewise.
4233 * grub-core/lib/mips/relocator.c: Rewritten.
4234 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
4235 stylistic adjustments.
4236 * grub-core/lib/powerpc/relocator.c: New file.
4237 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
4238 * grub-core/lib/relocator.c: Rewritten.
4239 * grub-core/lib/x86_64/relocator_asm.S: New file.
4240 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
4241 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
4242 (bsd_tag): New struct.
4243 (tags): New variable.
4244 (tags_last): Likewise.
4245 (netbsd_module): New struct.
4246 (netbsd_mods): New variable.
4247 (netbsd_mods_last): Likewise.
4248 (openbsd_opts): New parameter "serial".
4249 (OPENBSD_SERIAL_ARG): New definition.
4250 (netbsd_opts): New parameter "serial".
4251 (NETBSD_SERIAL_ARG): New definition.
4252 (grub_freebsd_add_meta): Reorganised into ...
4253 (grub_bsd_add_meta): ...this. All users updated.
4254 (grub_freebsd_add_mmap): Reorganised into ...
4255 (generate_e820_mmap): ...this...
4256 (grub_bsd_add_mmap): ...and this. All users updated.
4257 (grub_freebsd_list_modules): Use tags.
4258 (grub_netbsd_add_meta_module): New function.
4259 (grub_netbsd_list_modules): Likewise.
4260 (grub_freebsd_boot): Use relocator and finish EFI.
4261 (grub_openbsd_boot): Likewise.
4262 (grub_netbsd_setup_video): New function.
4263 (grub_netbsd_add_modules): Likewise.
4264 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
4265 and finish EFI.
4266 (grub_bsd_unload): Unload tags.
4267 (grub_bsd_load_aout): Use relocator.
4268 (grub_bsd_elf32_size_hook): New function.
4269 (grub_bsd_elf32_hook): Use relocator.
4270 (grub_bsd_elf64_size_hook): New function.
4271 (grub_bsd_elf64_hook): Use relocator.
4272 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
4273 (grub_bsd_load): Zero-out openbsd_ramdisk.
4274 (grub_bsd_load): Use relocator.
4275 (grub_cmd_openbsd): Support serial.
4276 (grub_cmd_netbsd): Support modules.
4277 (grub_cmd_freebsd_module): Use relocator.
4278 (grub_netbsd_module_load): New function.
4279 (grub_cmd_netbsd_module): Likewise.
4280 (grub_cmd_openbsd_ramdisk): Likewise.
4281 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
4282 kopenbsd_ramdisk.
4283 (GRUB_MOD_FINI): Unregister new commands.
4284 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
4285 (grub_freebsd_load_elfmodule_obj): Use relocator.
4286 (grub_freebsd_load_elfmodule): Likewise.
4287 (grub_freebsd_load_elf_meta): Likewise.
4288 (grub_netbsd_load_elf_meta): New function.
4289 (grub_openbsd_find_ramdisk): Likewise.
4290 * grub-core/loader/i386/bsd_helper.S: Removed.
4291 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
4292 * grub-core/loader/i386/bsd_trampoline.S: Removed.
4293 * grub-core/loader/i386/efi/linux.c: Likewise.
4294 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
4295 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
4296 (DEFAULT_VIDEO_MODE): Likewise.
4297 (real_mode_target): New variable.
4298 (prot_mode_target): Likewise.
4299 (initrd_mem_target): Likewise.
4300 (relocator): Likewise.
4301 (efi_mmap_buf): Likewise.
4302 (efi_mmap_size): Likewise.
4303 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
4304 (free_pages): Use relocator.
4305 (allocate_pages): Account for efi_mmap and use relocator. Return error.
4306 (grub_linux_setup_video): Return error.
4307 (grub_linux_trampoline_start): Removed.
4308 (grub_linux_trampoline_end): Likewise.
4309 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
4310 andd video parameters depending on firmware.
4311 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
4312 [GRUB_MACHINE_EFI]: Pass EFI parameters.
4313 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
4314 (grub_cmd_initrd): Use relocator.
4315 * grub-core/loader/i386/linux_trampoline.S: Removed.
4316 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
4317 (elf_sec_entsize): Likewise.
4318 (elf_sec_shstrndx): Likewise.
4319 (elf_sections): Likewise.
4320 (grub_multiboot_load): Use relocator.
4321 (grub_multiboot_get_mbi_size): Account for sections.
4322 (grub_multiboot_make_mbi): Use relocator and support sections.
4323 (grub_multiboot_add_elfsyms): New function.
4324 (grub_multiboot_free_mbi): Free sections.
4325 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
4326 (grub_linux_real_target): Likewise.
4327 (grub_linux_real_chunk): Likewise.
4328 (grub_linux16_prot_size): Likewise.
4329 (grub_linux16_boot): Use relocator.
4330 (grub_linux_unload): Unload relocator.
4331 (grub_cmd_linux): Use relocator.
4332 (grub_cmd_initrd): Likewise.
4333 * grub-core/loader/i386/pc/ntldr.c: New file.
4334 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
4335 Don't try to guess CPU frequency.
4336 (grub_xnu_set_video): Stretch bitmap.
4337 (grub_xnu_boot): Use relocator.
4338 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
4339 (grub_linux_unload): Free relocator.
4340 (grub_linux_load32): Use relocator.
4341 (grub_linux_load64): Likewise.
4342 (grub_cmd_initrd): Likewise.
4343 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
4344 (grub_multiboot_unload): Unload relocator.
4345 (grub_cmd_multiboot): Use relocator.
4346 (grub_cmd_module): Likewise.
4347 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
4348 Use relocator and support sections.
4349 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
4350 (elf_sec_entsize): Likewise.
4351 (elf_sec_shstrndx): Likewise.
4352 (elf_sections): Likewise.
4353 (grub_multiboot_load): Use relocator.
4354 (grub_multiboot_get_mbi_size): Account for sections.
4355 (grub_multiboot_make_mbi): Use relocator and support sections.
4356 (grub_multiboot_add_elfsyms): New function.
4357 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
4358 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
4359 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
4360 Prototype changed. All users updated.
4361 (grub_xnu_align_heap): Simplified.
4362 (grub_xnu_writetree_toheap): Likewise.
4363 (grub_xnu_unload): Unload relocator.
4364 (grub_cmd_xnu_kernel): Use relocator.
4365 (grub_cmd_xnu_kernel64): Likewise.
4366 (grub_xnu_register_memory): Simplified.
4367 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
4368 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
4369 EFI is finished.
4370 (grub_console_checkkey): Likewise.
4371 (grub_console_getkey): Likewise.
4372 (grub_console_getwh): Likewise.
4373 (grub_console_getxy): Likewise.
4374 (grub_console_gotoxy): Likewise.
4375 (grub_console_cls): Likewise.
4376 (grub_console_setcolorstate): Likewise.
4377 (grub_console_setcursor): Likewise.
4378 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
4379 * grub-core/tests/boot/kbsd.init-i386.S: New file.
4380 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
4381 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
4382 * grub-core/tests/boot/kernel-8086.S: Likewise.
4383 * grub-core/tests/boot/kernel-i386.S: Likewise.
4384 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
4385 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
4386 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
4387 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
4388 * grub-core/tests/boot/knetbsd.cfg: Likewise.
4389 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
4390 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
4391 * grub-core/tests/boot/linux.cfg: Likewise.
4392 * grub-core/tests/boot/linux.init-i386.S: Likewise.
4393 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
4394 * grub-core/tests/boot/linux16.cfg: Likewise.
4395 * grub-core/tests/boot/multiboot.cfg: Likewise.
4396 * grub-core/tests/boot/multiboot2.cfg: Likewise.
4397 * grub-core/tests/boot/ntldr.cfg: Likewise.
4398 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
4399 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
4400 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
4401 New definition.
4402 * include/grub/dl.h (grub_dl_unload_all): Removed.
4403 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
4404 (grub_efi_finish_boot_services): Change prototype.
4405 (grub_efi_is_finished): New variable.
4406 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
4407 Changed prototype.
4408 (grub_efiemu_finish_boot_services): Removed.
4409 (grub_machine_efiemu_init_tables): New prototype.
4410 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
4411 (grub_elf64_phdr_iterate): Likewise.
4412 * include/grub/i386/bsd.h: Include relocator.h.
4413 (freebsd_tag_header): New struct.
4414 (grub_openbsd_bios_mmap): Removed.
4415 (grub_unix_real_boot): Removed.
4416 (grub_freebsd_load_elfmodule32): Changed prototype.
4417 (grub_freebsd_load_elfmodule_obj64): Likewise.
4418 (grub_freebsd_load_elf_meta32): Likewise.
4419 (grub_freebsd_load_elf_meta64): Likewise.
4420 (grub_freebsd_add_meta): Removed.
4421 (grub_netbsd_load_elf_meta32): New prototype.
4422 (grub_netbsd_load_elf_meta64): Likewise.
4423 (grub_bsd_add_meta): Likewise.
4424 (grub_openbsd_ramdisk_descriptor): New struct.
4425 (grub_openbsd_find_ramdisk32): New prototype.
4426 (grub_openbsd_find_ramdisk64): Likewise.
4427 * include/grub/i386/coreboot/loader.h: Removed.
4428 * include/grub/i386/efi/loader.h: Likewise.
4429 * include/grub/i386/ieee1275/loader.h: Likewise.
4430 * include/grub/i386/linux.h (linux_kernel_header): Change void *
4431 to grub_uint32_t.
4432 * include/grub/i386/loader.h: Removed.
4433 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
4434 value.
4435 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
4436 (grub_phys_addr_t): New type.
4437 (grub_vtop): New inline function.
4438 (grub_map_memory): Likewise.
4439 (grub_unmap_memory): Likewise.
4440 * include/grub/i386/multiboot/loader.h: Removed.
4441 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
4442 (NETBSD_BTINFO_CONSOLE): New definition.
4443 (NETBSD_BTINFO_SYMTAB): Likewise.
4444 (NETBSD_BTINFO_MODULES): Likewise.
4445 (NETBSD_BTINFO_FRAMEBUF): Likewise.
4446 (grub_netbsd_bootinfo): New struct.
4447 (grub_netbsd_btinfo_common): Use explicit bitsize.
4448 (grub_netbsd_btinfo_mmap_entry): Removed.
4449 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
4450 (grub_netbsd_btinfo_bootdisk): New struct.
4451 (grub_netbsd_btinfo_symtab): Likewise.
4452 (grub_netbsd_btinfo_serial): Likewise.
4453 (grub_netbsd_btinfo_modules): Likewise.
4454 (grub_netbsd_btinfo_framebuf): Likewise.
4455 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
4456 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
4457 Likewise.
4458 (grub_openbsd_bootargs): Use explicit bitsize.
4459 (grub_openbsd_bootarg_console): New struct.
4460 (GRUB_OPENBSD_COM_MAJOR): New definition.
4461 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
4462 * include/grub/i386/pc/efiemu.h: Removed.
4463 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
4464 * include/grub/i386/qemu/loader.h: Removed.
4465 * include/grub/i386/relocator.h: Rewritten.
4466 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
4467 * include/grub/mips/memory.h: New file.
4468 * include/grub/mips/multiboot.h: Rewritten.
4469 * include/grub/mips/relocator.h: Rewritten.
4470 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
4471 (grub_vtop): New function.
4472 (grub_map_memory): Likewise.
4473 (grub_unmap_memory): Likewise.
4474 * include/grub/misc.h (ALIGN_DOWN): New definition.
4475 * include/grub/mm.h (grub_mm_check_real): New proto.
4476 (GRUB_MM_CHECK): New definition.
4477 * include/grub/mm_private.h: New file.
4478 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
4479 (grub_multiboot_get_mbi_size): Removed.
4480 (grub_multiboot_make_mbi): Change prottype.
4481 (grub_multiboot_set_accepts_video): New proto.
4482 (grub_multiboot_add_elfsyms): Likewise.
4483 (grub_multiboot_payload_eip): New variable.
4484 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
4485 New prototype.
4486 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
4487 New definition.
4488 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
4489 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
4490 * include/grub/powerpc/ieee1275/loader.h: Removed.
4491 * include/grub/powerpc/memory.h: New file.
4492 * include/grub/powerpc/relocator.h: Likewise.
4493 * include/grub/relocator.h: Likewise.
4494 * include/grub/relocator_private.h: Likewise.
4495 * include/grub/sparc64/ieee1275/loader.h: Removed.
4496 * include/grub/x86_64/memory.h: New file.
4497 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
4498 (grub_xnu_heap_malloc): Likewise.
4499 (grub_xnu_heap_real_start): Removed.
4500 (grub_xnu_heap_start): Likewise.
4501 (grub_xnu_relocator): New variable.
4502 (grub_xnu_heap_target_start): Likewise.
4503 * tests/util/grub-shell.in: Support non-pc.
4504 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 4505
5303b85d
VS
45062010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
4509 on malloc error.
4510 (grub_bidi_logical_to_visual): Check that malloc succeded.
4511 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
4512 puts.
4513 (grub_xputs_normal): Likewise.
4514
d768d159
VS
45152010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
4518 extra_dist.
4519
45202010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/efiemu/runtime/efiemu.sh: Removed.
4523
5bf84df4
VS
45242010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
4527
3626810e
VS
45282010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
4531 dprintf.
4532
a7363f53
BC
45332010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
4534
4535 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
4536
902f75f6
VS
45372010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * grub-core/normal/term.c (print_more): Fix a memory leak.
4540 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
4541 (grub_xputs_normal): Likewise.
4542
3c707967
VS
45432010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
4546 the begining of the string
4547
2053cc07
VS
45482010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * grub-core/script/script.c (grub_script_parse): Free parsed on
4551 failure.
4552
46422ebf
VS
45532010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
4556 on failure.
4557
9e0fa3f6
VS
45582010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
4561 return.
4562
3393cf16
VS
45632010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
4566 (scroll_up): Fix a memory leak.
4567
b17540cb
VS
45682010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
4571 errors.
4572
67140446
VS
45732010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 Handle USB pendrives exposed as floppies.
4576
4577 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
4578 floppy.
4579 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
4580 Check for partitions on all devices.
4581
e35e46fc
VS
45822010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
4585 (readkey): Likewise.
4586
d24c6190
BC
45872010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
4588
4589 Multiple variable names support to "export" command.
4590
4591 * normal/context.c (grub_cmd_export): "export" command supports
4592 multiple variable names.
4593
04ddcc6a
ST
45942010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
4595
4596 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
4597 --target=drive output to Mach device name.
4598
0c8b61d8
BC
45992010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
4600
4601 New Automake based build system for GRUB.
4602
4603 * ABOUT-NLS: New file.
4604 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
4605 in Makefile.util.def file.
4606 * Makefile.util.def: New file. Autogen build definitions file for
4607 GRUB host utils.
4608 * conf/Makefile.common: New file. Common variables for GRUB host
4609 utils and target modules.
4610 * conf/Makefile.extra-dist: New file. Extra files for make dist.
4611 * docs/Makefile.am: New file. Automake file for docs.
4612 * gentpl.py: New file. Python script to generate Autogen
4613 template.
4614 * grub-core/Makefile.am: New file. GRUB target modules' rules
4615 that doesn't fit in Makefile.core.def file.
4616 * grub-core/Makefile.core.def: New file. Autogen build
4617 definitions file for GRUB target modules.
4618 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
4619 specific setjmp.S file.
4620 * po/Makefile.am: New file.
4621
4622 * .bzrignore: New ignores.
4623 * INSTALL: New requirements, without Ruby.
4624 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
4625 * autogen.sh: Updated to invoke autogen as necessary.
4626 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
4627 and defines for Automake conditionals.
4628 * geninit.sh: Refactoring.
4629
4630 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
4631 necessary.
4632 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
4633 New prototype.
4634
4635 * include/grub/test.h: Fix functional test modules' naming.
4636 * grub-core/tests/example_functional_test.c: Fix test module name.
4637
4638 * util/misc.c: Hosted versions' of grub functions for libgrub.a
4639 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
4640 * util/grub-editenv.c: Likewise.
4641 * util/grub-fstest.c: Likewise.
4642 * util/grub-mkdevicemap.c: Likewise.
4643 * util/grub-mkfont.c: Likewise.
4644 * util/grub-mkimage.c: Likewise.
4645 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4646 * util/grub-probe.c: Likewise.
4647 * util/grub-script-check.c: Likewise.
4648 * util/i386/pc/grub-setup.c: Likewise.
4649 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4650
4651 * tests/util/grub-shell.in: Fix override directory path.
4652 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
4653 * util/import_gcry.py: Create Makefile.gcry.def file instead.
4654
4655 * util/lvm.c: Update #includes.
4656 * util/raid.c: Likewise.
4657 * util/resolve.c: Likewise.
4658 * grub-core/bus/emu/pci.c: Likewise.
4659 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
4660 * grub-core/lib/posix_wrap/string.h: Likewise.
4661 * grub-core/kern/emu/main.c: Likewise.
4662
4663 * grub-core/gensymlist.sh: New file. Script for generating kernel
4664 symbols file.
4665 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
4666
4667 * grub-core/gentrigtables.c: Fix unused variable warnings.
4668
4669 * Makefile.in: Removed.
4670 * conf/any-emu.rmk: Removed.
4671 * conf/common.rmk: Removed.
4672 * conf/i386-coreboot.rmk: Removed.
4673 * conf/i386-efi.rmk: Removed.
4674 * conf/i386-ieee1275.rmk: Removed.
4675 * conf/i386-multiboot.rmk: Removed.
4676 * conf/i386-pc.rmk: Removed.
4677 * conf/i386-qemu.rmk: Removed.
4678 * conf/i386.rmk: Removed.
4679 * conf/mips-yeeloong.rmk: Removed.
4680 * conf/mips.rmk: Removed.
4681 * conf/powerpc-ieee1275.rmk: Removed.
4682 * conf/sparc64-ieee1275.rmk: Removed.
4683 * conf/tests.rmk: Removed.
4684 * conf/x86-efi.rmk: Removed.
4685 * conf/x86_64-efi.rmk: Removed.
4686 * gendistlist.sh: Removed.
4687 * geninitheader.sh: Removed.
4688 * genkernsyms.sh.in: Removed.
4689 * genmk.rb: Removed.
4690 * gensymlist.sh.in: Removed.
4691 * mkinstalldirs: Removed.
4692 * boot: Moved ...
4693 * grub-core/boot: ... to here.
4694 * bus: Moved ...
4695 * grub-core/bus: ... to here.
4696 * commands: Moved ...
4697 * grub-core/commands: ... to here.
4698 * disk: Moved ...
4699 * grub-core/disk: ... to here.
4700 * efiemu: Moved ...
4701 * grub-core/efiemu: ... to here.
4702 * font: Moved ...
4703 * grub-core/font: ... to here.
4704 * fs: Moved ...
4705 * grub-core/fs: ... to here.
4706 * gencmdlist.sh: Moved ...
4707 * grub-core/gencmdlist.sh: ... to here.
4708 * genemuinit.sh: Moved ...
4709 * grub-core/genemuinit.sh: ... to here.
4710 * genemuinitheader.sh: Moved ...
4711 * grub-core/genemuinitheader.sh: ... to here.
4712 * genfslist.sh: Moved ...
4713 * grub-core/genfslist.sh: ... to here.
4714 * genhandlerlist.sh: Moved ...
4715 * grub-core/genhandlerlist.sh: ... to here.
4716 * genmoddep.awk: Moved ...
4717 * grub-core/genmoddep.awk: ... to here.
4718 * genmodsrc.sh: Moved ...
4719 * grub-core/genmodsrc.sh: ... to here.
4720 * genpartmaplist.sh: Moved ...
4721 * grub-core/genpartmaplist.sh: ... to here.
4722 * genparttoollist.sh: Moved ...
4723 * grub-core/genparttoollist.sh: ... to here.
4724 * genterminallist.sh: Moved ...
4725 * grub-core/genterminallist.sh: ... to here.
4726 * gentrigtables.c: Moved ...
4727 * grub-core/gentrigtables.c: ... to here.
4728 * genvideolist.sh: Moved ...
4729 * grub-core/genvideolist.sh: ... to here.
4730 * gettext: Moved ...
4731 * grub-core/gettext: ... to here.
4732 * gfxmenu: Moved ...
4733 * grub-core/gfxmenu: ... to here.
4734 * gnulib: Moved ...
4735 * grub-core/gnulib: ... to here.
4736 * hello: Moved ...
4737 * grub-core/hello: ... to here.
4738 * hook: Moved ...
4739 * grub-core/hook: ... to here.
4740 * io: Moved ...
4741 * grub-core/io: ... to here.
4742 * kern: Moved ...
4743 * grub-core/kern: ... to here.
4744 * lib: Moved ...
4745 * grub-core/lib: ... to here.
4746 * loader: Moved ...
4747 * grub-core/loader: ... to here.
4748 * mmap: Moved ...
4749 * grub-core/mmap: ... to here.
4750 * normal: Moved ...
4751 * grub-core/normal: ... to here.
4752 * partmap: Moved ...
4753 * grub-core/partmap: ... to here.
4754 * parttool: Moved ...
4755 * grub-core/parttool: ... to here.
4756 * script: Moved ...
4757 * grub-core/script: ... to here.
4758 * term: Moved ...
4759 * grub-core/term: ... to here
4760 * tests/example_functional_test.c: Moved ...
4761 * grub-core/tests/example_functional_test.c: ... to here.
4762 * tests/lib/functional_test.c: Moved ...
4763 * grub-core/tests/lib/functional_test.c: ... to here.
4764 * tests/lib/test.c: Moved ...
4765 * grub-core/tests/lib/test.c: ... to here.
4766 * video: Moved ...
4767 * grub-core/video: ... to here.
4768
645586e6
BC
47692010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
4770
4771 Replace --enable-grub-emu-modules with grub-emu-lite.
4772
4773 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
4774 cache.S.
4775
4776 * include/grub/emu/misc.h (grub_emu_init): New prototype.
4777 * kern/emu/full.c: New file. For grub-emu specific initialization.
4778 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
4779 * kern/emu/main.c: Call initialization function grub_emu_init.
4780
4781 * Makefile.in: Include grub-emu-lite in install.
4782 * commands/parttool.c: Use grub_no_autoload to differentiate
4783 between grub-emu and grub-emu-lite.
4784 * include/grub/misc.h: New variable grub_no_autoload.
4785
4786 * conf/any-emu.rmk: New rules for grub-emu-lite.
4787 * configure.ac: Remove --enable-grub-emu-modules.
4788 * genmk.rb: Cleanup unnecessary rules.
4789 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
4790
4791 * normal/main.c: Don't load list files on grub-emu-lite.
4792 * util/misc.c (grub_arch_sync_caches): Removed.
4793
f86a4030
CW
47942010-08-23 Colin Watson <cjwatson@ubuntu.com>
4795
4796 * kern/mips/startup.S (grub_prefix): Update comment to refer to
4797 grub-mkimage rather than grub-mkelfimage.
4798 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
4799
06776944
VS
48002010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
4803 a key after CapsLock or NumLock. It's just a qemu bug.
4804
df262419
VS
48052010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
4808 needed by libusb wrapper.
4809
b40ea81b
ST
48102010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
4811
4812 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
4813
dee50575
VS
48142010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
4817 --nounzip is passed.
4818
fb1d7b79
VS
48192010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 USB hotunplugging and USB serial support.
4822
4823 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
4824 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
4825 (grub_uhci_transfer): Respect timeout and set *actual.
4826 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
4827 non-standard length.
4828 (grub_usb_device_attach): Autoload modules.
4829 (GRUB_MOD_INIT): Set grub_term_poll_usb.
4830 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
4831 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
4832 users updated.
4833 (grub_usb_add_hub): Fill nports and children.
4834 (attach_root_port): Receive hub instead of controller.
4835 All users updated. Fill hub->devices.
4836 (grub_usb_root_hub): Allocate hub->devices.
4837 (detach_device): New function.
4838 (poll_nonroot_hub): Fill children and detach devices.
4839 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
4840 actual arguments. All users updated.
4841 (grub_usb_bulk_read_extended): New function.
4842 * bus/usb/serial/common.c: New file.
4843 * bus/usb/serial/ftdi.c: Likewise.
4844 * bus/usb/serial/pl2303.c: Likewise.
4845 * commands/terminal.c (handle_command): Support wildcard.
4846 * commands/usbtest.c: Output "Unknown" instead of empty string.
4847 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
4848 (usbserial_common_mod_SOURCES): New variable.
4849 (usbserial_common_mod_CFLAGS): Likewise.
4850 (usbserial_common_mod_LDFLAGS): Likewise.
4851 (pkglib_MODULES): Add usbserial_pl2303.mod.
4852 (usbserial_pl2303_mod_SOURCES): New variable.
4853 (usbserial_pl2303_mod_CFLAGS): Likewise.
4854 (usbserial_pl2303_mod_LDFLAGS): Likewise.
4855 (pkglib_MODULES): Add usbserial_ftdi.mod.
4856 (usbserial_ftdi_mod_SOURCES): New variable.
4857 (usbserial_ftdi_mod_CFLAGS): Likewise.
4858 (usbserial_ftdi_mod_LDFLAGS): Likewise.
4859 (pkglib_MODULES): Add serial.mod.
4860 (serial_mod_SOURCES): New variable.
4861 (serial_mod_CFLAGS): Likewise.
4862 (serial_mod_LDFLAGS): Likewise.
4863 * conf/i386-pc.rmk: Likewise.
4864 * conf/mips-yeeloong.rmk: Likewise.
4865 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
4866 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
4867 * disk/usbms.c (first_available_slot): New variable.
4868 (grub_usbms_attach): Don't reuse free slots due to potential cache
4869 problems.
4870 * include/grub/serial.h: Moved to ..
4871 * include/grub/ns8250.h: ...this.
4872 * include/grub/serial.h: New file.
4873 * include/grub/term.h (grub_term_poll_usb): New variable.
4874 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
4875 readkey. All users updated.
4876 (grub_terminfo_output_state): Pass term to put.
4877 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
4878 (grub_usb_controller_dev): Add timeout and actual arguments to
4879 transfer. All users updated.
4880 (grub_usb_interface): New field detach_data.
4881 (grub_usb_device): New fields children and nports.
4882 (grub_usb_ep_type_t): New type.
4883 (grub_usb_get_ep_type): New function.
4884 (grub_usb_bulk_read_extended): Likewise.
4885 * include/grub/usbdesc.h (grub_usb_desc): New type.
4886 * include/grub/usbserial.h: New file.
4887 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
4888 * kern/term.c (grub_term_poll_usb): New variable.
4889 (grub_getkey): Call grub_term_poll_usb if set.
4890 (grub_checkkey): Likewise.
4891 (grub_getkeystatus): Likewise.
4892 * term/serial.c: Moved controller-specific parts to ...
4893 * term/ns8250.c: ... here.
4894 * term/serial.c: Mostly rewritten.
4895 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
4896 according to spec.
4897
21a313de
RM
48982010-08-20 Robert Millan <rmh@gnu.org>
4899
4900 Make kFreeBSD code more generic to support ext2fs as root, ufs as
4901 a separate module and maybe other interesting combinations.
4902
4903 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
4904 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
4905 (kfreebsd_entry): Add generic filesystem module load routine.
4906 Map GRUB `ext2' to kFreeBSD `ext2fs'.
4907
63c734a6
CW
49082010-08-20 Colin Watson <cjwatson@ubuntu.com>
4909
4910 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
4911 "numcenter" (I misunderstood the purpose of this entry).
4912 * docs/grub.texi (sendkey): Likewise.
4913
c4d16542
CW
49142010-08-20 Colin Watson <cjwatson@ubuntu.com>
4915
4916 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
4917 status flag options; simply omitting the option is equivalent and
4918 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
4919 (keysym_table): Rename "num5numlock" to "numlock".
4920 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
4921 can uniformly say that only the last of multiple `sendkey'
4922 invocations has any effect.
4923 * docs/grub.texi (sendkey): New section.
4924
93541d66
CW
49252010-08-19 Colin Watson <cjwatson@ubuntu.com>
4926
4927 * commands/i386/pc/sendkey.c (options): Fix three typos.
4928
b4ece5e1
VS
49292010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 Implement sendkey support.
4932
4933 * commands/i386/pc/sendkey.c: New file.
4934 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
4935 (sendkey_mod_SOURCES): New variable.
4936 (sendkey_mod_CFLAGS): Likewise.
4937 (sendkey_mod_LDFLAGS): Likewise.
4938
51f1f5af
CW
49392010-08-18 Colin Watson <cjwatson@ubuntu.com>
4940
4941 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
4942 fix warnings from Autoconf.
4943
9da94e05
CW
49442010-08-18 Colin Watson <cjwatson@ubuntu.com>
4945
4946 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
4947 to avoid false positives with some assemblers that output things
4948 like "someprefix_func" as part of their output.
4949
729a0f2e
RM
49502010-08-15 Robert Millan <rmh@gnu.org>
4951
4952 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
4953 errors.
4954 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
4955 grub_get_libzfs_handle() errors.
4956
f3710e08
RM
49572010-08-14 Robert Millan <rmh@gnu.org>
4958
4959 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
4960 filesystem is not ZFS.
4961
7a3c13de
BC
49622010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4963
4964 Fix for misspelled color names defaulting to black/black (bug
4965 reported by Doug Nazar)
4966
4967 * include/grub/normal.h (grub_parse_color_name_pair): Add return
4968 status to prototype.
4969 * normal/color.c (grub_parse_color_name_pair): Return failure
4970 status.
4971 (grub_env_write_color_normal): Ignore bad color names.
4972 (grub_env_write_color_highlight): Likewise.
4973 * normal/main.c (GRUB_MOD_INIT): Set default color names.
4974
ab8ba50d
BC
49752010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4976
4977 "shift" command support to GRUB script.
4978
4979 * include/grub/script_sh.h (grub_script_shift): New prototype.
4980 * script/execute.c (grub_script_shift): New function.
4981 * script/main.c (grub_script_init): Register shift command.
4982 (grub_script_fini): Unregister shift command.
4983 * util/grub-script-check.c (grub_script_cmd_shift): New function.
4984
4985 * tests/grub_script_shift.in: New testcase.
4986 * conf/tests.rmk: Rules for new testcase.
4987
4d61999e
BC
49882010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4989
4990 "continue" command support to GRUB script.
4991
4992 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
4993 (grub_script_break): Continue support.
4994 * script/main.c (grub_script_init): Register continue command.
4995 (grub_script_fini): Unregister continue command.
4996
4997 * tests/grub_script_continue.in: New testcase.
4998 * conf/tests.rmk: Rules for new testcase.
4999
4df51e00
BC
50002010-08-12 BVK Chaitanya <bvk@dbook>
5001
5002 "break" command support to GRUB script.
5003
5004 * conf/common.rmk: Rule updates to grub-script-check.
5005 * include/grub/misc.h (grub_min): New function.
5006 * include/grub/script_sh.h (grub_script_init): New prototype.
5007 (grub_script_fini): New prototype.
5008 (grub_script_break): New prototype.
5009 * script/main.c (grub_script_init): New function.
5010 (grub_script_fini): New function.
5011 * script/execute.c (grub_script_break): New function.
5012 * normal/main.c: Calls to grub_script_{init,fini}.
5013 * util/grub-script-check.c (grub_script_break): New function.
5014
5015 * tests/grub_script_break.in: New testcase.
5016 * conf/tests.rmk: Rules for new test case.
5017
f12c8420
BC
50182010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5019
5020 Function parameters support to GRUB script.
5021
5022 * script/yylex.l (VARIABLE): Regular expression update.
5023 * script/function.c (grub_script_function_call): Moved ...
5024 * script/execute.c (grub_script_function_call): ... to here.
5025 (grub_script_execute_arglist_to_argv): Removed.
5026 (grub_script_arglist_to_argv): New function.
5027 * script/argv.c: New file.
5028 (grub_script_argv_free): New function.
5029 (grub_script_argv_next): Likewise.
5030 (grub_script_argv_append): Likewise.
5031 (grub_script_argv_split_append): Likewise.
5032 * include/grub/script_sh.h (grub_script_argv): New struct.
5033 (grub_script_argv_free): New function.
5034 (grub_script_argv_next): Likewise.
5035 (grub_script_argv_append): Likewise.
5036 (grub_script_argv_split_append): Likewise.
5037
5038 * conf/common.rmk (normal.mod): New source script/argv.c.
5039
5040 * tests/grub_script_echo1.in: More tests.
5041 * tests/grub_script_vars1.in: Likewise.
5042 * tests/grub_script_functions.in: New test case.
5043 * conf/tests.rmk: Rules for new testcase.
5044
8022b748
BC
50452010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5046
5047 Remove grub_script_cmdblock struct.
5048
5049 * include/grub/script_sh.h: Remove grub_script_cmdblock.
5050 * script/parser.y: Likewise.
5051 * script/execute.c: Rename cmdblock suffix to cmdlist.
5052 * script/script.c: Likewise.
5053 * util/grub-script-check.c: Likewise.
5054
79a6ba61
YB
50552010-08-11 Yves Blusseau <blusseau@zetam.org>
5056
5057 * .bzrignore: add grub-macho2img
5058
d04b9414
VS
50592010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
5062
f947ab49
VS
50632010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 Remove the dump of sm712 initialisation sequence.
5066
5067 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
5068 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
5069 (GRUB_VGA_IO_MISC_WRITE): Likewise.
5070 (GRUB_VGA_CR_*): Added many registers.
5071 (GRUB_VGA_SR_*): Likewise.
5072 (GRUB_VGA_GR_*): Likewise.
5073 (grub_vga_write_arx): New function.
5074 (grub_video_hw_config): New struct.
5075 (grub_vga_set_geometry): New function.
5076 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
5077 GRUB_PCI_CLASS_SUBCLASS_VGA.
5078 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
5079 * video/sm712.c (grub_sm712_write_reg): New function
5080 (grub_sm712_read_reg): Likewise.
5081 (grub_sm712_sr_write): Likewise.
5082 (grub_sm712_gr_write): Likewise.
5083 (grub_sm712_cr_write): Likewise.
5084 (grub_sm712_write_arx): Likewise.
5085 (grub_sm712_cr_shadow_write): Likewise.
5086 (grub_sm712_write_dda_lookup): Likewise.
5087 (grub_video_sm712_setup): Initialise the video rather then
5088 blindly replay the dump.
5089 (main) [TEST]: Add a routine to be able to compile as standalone for
5090 tests.
5091 * video/sm712_init.c (sm712_init): Removed.
5092 (sm712_sr_seq1): New array.
5093 (sm712_sr_seq2): Likewise.
5094
f0206638
VS
50952010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * include/grub/vga.h: Add missing grub/pci.h include.
5098
2764da3b
YB
50992010-08-10 Yves Blusseau <blusseau@zetam.org>
5100
5101 * util/grub-macho2img.c (main): fix typo
5102
cf0c775e
VS
51032010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
5106 (grub_vga_gr_read): Likewise.
5107 (grub_vga_cr_write): Likewise.
5108 (grub_vga_cr_read): Likewise.
5109 (grub_vga_sr_write): Likewise.
5110 (grub_vga_sr_read): Likewise.
5111 (grub_vga_palette_read): Likewise.
5112 (grub_vga_palette_write): Likewise.
5113 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
5114 (grub_sm712_sr_read): New function.
5115 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
5116 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
5117
07f360e9
RM
51182010-08-09 Robert Millan <rmh@gnu.org>
5119
5120 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
5121 out unused variables on non-ZFS build.
5122
346c2072
RM
51232010-08-08 Robert Millan <rmh@gnu.org>
5124
5125 Fix path generation for sub-filesystems in ZFS.
5126
5127 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
5128 missing slash.
5129
71175420
RM
51302010-08-08 Robert Millan <rmh@gnu.org>
5131
5132 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
5133
0d8286f3
RM
51342010-08-08 Robert Millan <rmh@gnu.org>
5135
5136 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
5137 exist, issue a proper error message (rely on `ls' for translated
5138 strings).
5139
55dd2924
RM
51402010-08-08 Robert Millan <rmh@gnu.org>
5141
5142 Fix grub-probe invocation.
5143
5144 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
5145
d3dd9e80
RM
51462010-08-04 Robert Millan <rmh@gnu.org>
5147
5148 * configure.ac: Remove checks for getfsstat() and getmntany().
5149 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
5150 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
5151 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
5152 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
5153 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
5154 function.
5155 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
5156 via find_mount_point_from_dir() and getfsstat() / getmntany().
5157
0de22aa9
RM
51582010-08-04 Robert Millan <rmh@gnu.org>
5159
5160 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5161 (grub_find_zpool_from_mount_point): Merge into ...
5162 (grub_find_zpool_from_dir): ... this.
5163 * kern/emu/misc.c: Likewise.
5164
5165 * kern/emu/misc.c
5166 (grub_make_system_path_relative_to_its_root): Replace
5167 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
5168 with grub_find_zpool_from_dir().
5169 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
5170
62858144
RM
51712010-08-04 Robert Millan <rmh@gnu.org>
5172
5173 Support OpenSolaris in ZFS device resolution.
5174
5175 * configure.ac: Check for getmntany().
5176 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
5177 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
5178 support.
5179
9dd6fd50
RM
51802010-08-03 Robert Millan <rmh@gnu.org>
5181
5182 Fix grub-emu build.
5183
5184 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
5185 * include/grub/emu/misc.h: ... here.
5186
5187 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
5188 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
5189
5190 * util/misc.c: Remove `<grub/util/libzfs.h>'.
5191 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
5192 (grub_get_libzfs_handle): Move to ...
5193 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
5194 (grub_get_libzfs_handle): ... here.
5195
c9f7ff97
BC
51962010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
5197
5198 * script/execute.c (grub_script_execute_cmdline): Check for NULL
5199 as command name case.
5200
a870a783
CW
52012010-08-02 Colin Watson <cjwatson@ubuntu.com>
5202
5203 * disk/raid.c (insert_array): Select unique numbers for named arrays
5204 as well, for use as keys in the disk cache.
5205
c7db243b
RM
52062010-08-01 Robert Millan <rmh@gnu.org>
5207
5208 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
5209 kFreeBSD device name, except on ZFS where the filesystem label is
5210 used.
5211 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
5212 `/boot/zfs/zpool.cache'.
5213 Set mountfrom kernel variable using ${kfreebsd_device}.
5214
f7abdefb
RM
52152010-08-01 Robert Millan <rmh@gnu.org>
5216
5217 Make it even harder to use uninitialized `libzfs_handle' (and
5218 make the interface a bit simpler).
5219
5220 * include/grub/util/misc.h (grub_util_init_libzfs)
5221 (libzfs_handle): Remove.
5222 (grub_get_libzfs_handle): New prototype.
5223
5224 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
5225 attribute.
5226 (grub_util_init_libzfs): Remove.
5227 (grub_get_libzfs_handle): New function.
5228
5229 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
5230 grub_get_libzfs_handle() to obtain a libzfs handle instead of
5231 accessing `libzfs_handle' directly.
5232
c882acc0
RM
52332010-08-01 Robert Millan <rmh@gnu.org>
5234
5235 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5236 (grub_find_zpool_from_mount_point): New function prototypes.
5237
5238 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5239 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5240
5241 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5242 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5243 `static' attribute.
5244
5245 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5246 finding zpool from mount point into ...
5247 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5248
5249 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5250 requested path is part of a ZFS pool, use
5251 grub_find_zpool_from_mount_point() to detect its filesystem name,
5252 and generate a path with `/fsname@path' syntax.
5253
8bfe31d8
CW
52542010-08-01 Colin Watson <cjwatson@ubuntu.com>
5255
5256 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
5257 (void) rather than () so that this is a proper prototype.
5258
553df63d
VS
52592010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
5262
8687cf07
VS
52632010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
5266 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
5267
ea9be8ea
CW
52682010-08-01 Colin Watson <cjwatson@ubuntu.com>
5269
5270 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
5271
6eea041a
CW
52722010-08-01 Colin Watson <cjwatson@ubuntu.com>
5273
5274 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
5275
2cfb45df
CW
52762010-08-01 Colin Watson <cjwatson@ubuntu.com>
5277
5278 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
5279 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
5280 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
5281 disable gfxpayload.
5282 (Shell-like scripting): Add real content.
5283 (Serial terminal): Suggest `terminal_input serial; terminal_output
5284 serial' rather than putting the two commands on separate lines,
5285 since console input will be inoperative after the first command.
5286 (menuentry): Document --class, --users, and --hotkey options.
5287 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
5288 Vladimir Serbinenko).
5289
7decd202
VS
52902010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
52912010-08-01 Colin Watson <cjwatson@ubuntu.com>
5292
5293 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
5294
c882acc0
RM
52952010-08-01 Robert Millan <rmh@gnu.org>
5296
5297 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5298 (grub_find_zpool_from_mount_point): New function prototypes.
5299
5300 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5301 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5302
5303 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5304 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5305 `static' attribute.
5306
5307 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5308 finding zpool from mount point into ...
5309 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5310
5311 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5312 requested path is part of a ZFS pool, use
5313 grub_find_zpool_from_mount_point() to detect its filesystem name,
5314 and generate a path with `/fsname@path' syntax.
5315
deb0caa3
RM
53162010-08-01 Robert Millan <rmh@gnu.org>
5317
5318 Prevent accidental use of uninitialized libzfs_handle.
5319
5320 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
5321 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
5322 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
5323
ce04ef47
CW
53242010-08-01 Colin Watson <cjwatson@ubuntu.com>
5325
5326 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
5327 util/grub.d/10_linux.in). Fixes Debian bug #591093.
5328
ebf53056
RM
53292010-08-01 Robert Millan <rmh@gnu.org>
5330
5331 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 5332
3710bb6b
RM
53332010-07-31 Robert Millan <rmh@gnu.org>
5334
5335 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
5336
8072efeb
RM
53372010-07-31 Robert Millan <rmh@gnu.org>
5338
5339 * kern/emu/misc.c: Add missing license header.
5340
3169f4c7
RM
53412010-07-31 Robert Millan <rmh@gnu.org>
5342
5343 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
5344
5345 * include/grub/util/libnvpair.h: Include `<config.h>'.
5346 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
5347 declaring libnvpair prototypes ourselves.
5348 * include/grub/util/libzfs.h: Include `<config.h>'.
5349 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
5350 declaring libzfs prototypes ourselves.
5351
5352 (libzfs_handle): Moved to ...
5353 * include/grub/util/misc.h (libzfs_handle): ... here.
5354 Include `<grub/util/libzfs.h>'.
5355
c9a00aee
RM
53562010-07-30 Robert Millan <rmh@gnu.org>
5357
5358 * include/grub/emu/misc.h: Add missing license header.
5359
a184f9c8
RM
53602010-07-30 Robert Millan <rmh@gnu.org>
5361
5362 Enable `grub-probe -t device' resolution on ZFS.
5363
5364 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
5365 * include/grub/util/libnvpair.h: New file.
5366 * include/grub/util/libzfs.h: New file.
5367
5368 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
5369 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
5370 `<grub/util/libnvpair.h>'.
5371 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
5372
5373 (find_mount_point_from_dir): New static function.
5374 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
5375 function.
5376 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
5377 find_root_device_from_libzfs() before ressorting to find_root_device().
5378
5379 * include/grub/util/misc.h (grub_util_init_libzfs): New function
5380 prototype.
5381 * util/misc.c: Include `<grub/util/libzfs.h>'.
5382 (grub_util_init_libzfs): New function.
5383 [HAVE_LIBZFS] (libzfs_handle): New global variable.
5384 [HAVE_LIBZFS] (fini_libzfs): New static function.
5385 (grub_util_init_libzfs): New function.
5386 * util/grub-probe.c (main): Call grub_util_init_libzfs().
5387
f7790cdd
RM
53882010-07-30 Robert Millan <rmh@gnu.org>
5389
5390 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
5391 (xmalloc, xrealloc, xstrdup, xasprintf): Add
5392 `warn_unused_result' attribute.
5393 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
5394 (grub_xasprintf, grub_xvasprintf): Likewise.
5395 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
5396
0806b63c
RM
53972010-07-29 Robert Millan <rmh@gnu.org>
5398
5399 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
5400 (probe): Handle `PRINT_FS_LABEL'.
5401 (main): Handle `-t fs_label'.
5402
9f841f5c
RM
54032010-07-29 Robert Millan <rmh@gnu.org>
5404
5405 * configure.ac: Remove grub-mkisofs checks.
5406
46371121
VS
54072010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 * util/ieee1275/grub-install.in: Don't use empty grub_device.
5410 Reported by: Lennart Sorensen.
5411
54122010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
5415 prior to terminal_input/terminal_output separation. It's been over 1.5
5416 years and those versions weren't widely deployed.
5417
a9600892
CW
54182010-07-22 Colin Watson <cjwatson@ubuntu.com>
5419
5420 * disk/raid.c (insert_array): Don't count named arrays when looking
5421 for unused array numbers.
697e053c 5422 Reported and tested by: Michael Guntsche.
a9600892 5423
c03507df
CW
54242010-07-20 Colin Watson <cjwatson@ubuntu.com>
5425
5426 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
5427 implementation of this so that grub-emu links again, with a note
5428 that this should support hotplugging in the future.
5429
b26f1c11
CW
54302010-07-20 Colin Watson <cjwatson@ubuntu.com>
5431
5432 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
5433
efc9d7f1
CW
54342010-07-20 Colin Watson <cjwatson@ubuntu.com>
5435
5436 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
5437 handle on failure.
5438 (grub_loopback_close): Remove empty function.
5439 (grub_loopback_dev): Remove close method.
5440
dd8ff5c9
CW
54412010-07-20 Colin Watson <cjwatson@ubuntu.com>
5442
5443 Disable EFI cursor when the EFI console becomes inactive.
5444
5445 * term/efi/console.c (grub_efi_console_init): New function.
5446 (grub_efi_console_fini): New function.
5447 (grub_console_term_output): Register init and fini methods.
5448
5e3bec67
VS
54492010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * tests/util/grub-shell-tester.in: Remove bashism and declare as
5452 sh script.
5453
afaec079
VS
54542010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * disk/loopback.c (grub_loopback): Replace filename with file.
5457 (delete_loopback): Handle new semantics.
5458 (grub_cmd_loopback): Likewise.
5459 (grub_loopback_iterate): Likewise.
5460 (grub_loopback_close): Likewise.
5461
a6a11f3c
VS
54622010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
5465 with -p "".
5466 Reported by: Tito Keitel.
5467
64a638b0
VS
54682010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * docs/grub.texi (Naming convention): Document new naming convention.
5471
ab8ba957
VS
54722010-07-20 Vadim Solomin <vadic052@gmail.com>
54732010-07-20 Colin Watson <cjwatson@ubuntu.com>
5474
5475 Generate device.map in something closer to the old ordering.
5476
5477 * util/deviceiter.c (struct device): New declaration.
5478 (compare_file_names): Rename to ...
5479 (compare_devices): ... this. Sort by kernel name in preference to
5480 the stable by-id name, but keep the latter as a fallback comparison.
5481 Update header comment.
5482 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
5483 of `struct device' rather than of plain file names.
5484
a29d6a4b
TF
54852010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
5486
5487 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
5488 on i386.
5489
39d824e8
VS
54902010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * commands/acpi.c (setup_common_tables): Use sizeof instead of
5493 hardcoding size.
5494 (setv1table): Likewise.
5495
f058276b
FZ
54962010-07-20 Colin Watson <cjwatson@ubuntu.com>
5497
5498 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
5499 removing the homehost if present.
5500 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
5501 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
5502 removing the homehost if present.
5503 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
5504 if possible.
5505 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
5506
5507 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
5508 parameter. Set its pointer target to 0.
5509 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
5510 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
5511 `data_offset' value from the superblock for 1.x metadata.
5512 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
5513 data on the device.
5514 (insert_array): Record the start sector of data on the device.
5515 (grub_raid_register): Pass start_sector parameters to
5516 grub_raid_list->detect and insert_array.
5517 * include/grub/raid.h (struct grub_raid_array): Add start_sector
5518 member.
5519 (struct grub_raid): Add start_sector parameter to `detect'.
5520
5521 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
5522 __attribute__ ((packed)), leaving a comment.
5523 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
5524 (grub_mdraid_detect_09): ... here and ...
5525 (grub_mdraid_detect_1x): ... here.
5526
55272010-07-20 Peter Henn <peter.henn@web.de>
5528
5529 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
5530 chunk size and disk size, which are already given as sector counts
5531 as distinct from the 0.90 units. Fetch the correct device number
5532 from the role table instead of using the table index.
5533
55342010-07-20 Felix Zielcke <fzielcke@z-51.de>
5535
5536 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
5537 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
5538 (WriteMostly1): New macro.
5539 Set array->name to NULL for metadata format 0.90. Add support for
5540 metadata 1.x. Fix some comments.
5541 * disk/raid.c (): Add support for name based RAID arrays. Fix a
5542 few comments.
5543 * util/getroot.c (grub_util_get_grub_dev): Add support for
5544 /dev/md/name style devices.
5545
4b761da9
CW
55462010-07-20 Colin Watson <cjwatson@ubuntu.com>
5547
5548 * .bzrignore: Ignore 20_linux_xen.
5549
5771289a
CW
55502010-07-17 Colin Watson <cjwatson@ubuntu.com>
5551
5552 * util/import_unicode.py: Remove unnecessary imports.
5553
5dab68df
AN
55542010-07-17 Aleš Nesrsta <starous@volny.cz>
5555
5556 Hotplugging and USB hub support.
5557
5558 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
5559 (grub_ohci): Likewise.
5560 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
5561 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
5562 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
5563 (GRUB_OHCI_CTRL_EDS): Likewise.
5564 (GRUB_OHCI_BULK_EDS): Likewise.
5565 (GRUB_OHCI_TDS): Likewise.
5566 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
5567 (grub_ohci_ed_phys2virt): New function.
5568 (grub_ohci_virt_to_phys): Likewise.
5569 (grub_ohci_td_phys2virt): Likewise.
5570 (grub_ohci_td_virt2phys): Likewise.
5571 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
5572 attachment.
5573 (grub_ohci_find_ed): New function.
5574 (grub_ohci_alloc_td): Likewise.
5575 (grub_ohci_free_td): Likewise.
5576 (grub_ohci_free_tds): Likewise.
5577 (grub_ohci_transfer): Use previously allocated memory.
5578 (grub_ohci_portstatus): Reset status changed bit.
5579 (grub_ohci_detect_dev): Supply status changed.
5580 (grub_ohci_fini_hw): Free memory.
5581 (grub_ohci_restore_hw): Reallocate memory.
5582 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
5583 Reset status change.
5584 (grub_uhci_detect_dev): Supply status_change.
5585 * bus/usb/usb.c (attach_hooks): New var.
5586 (grub_usb_device_attach): New function.
5587 (grub_usb_register_attach_hook_class): Likewise.
5588 (grub_usb_unregister_attach_hook_class): Likewise.
5589 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
5590 (grub_usb_add_hub): Reset connection changed bit.
5591 (attach_root_port): New function.
5592 (grub_usb_root_hub): Likewise.
5593 (poll_nonroot_hub): Likewise.
5594 (grub_usb_poll_devices): Likewise.
5595 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
5596 * disk/usbms.c (grub_usbms_open): Use device hooks.
5597 (grub_usbms_iterate) :Poll devices.
5598 (grub_usbms_finddevs): Split into ...
5599 (grub_usbms_attach): ... this ...
5600 (grub_usbms_attach): ... and this.
5601 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
5602 in detect_dev.
5603 (grub_usb_interface): New fields attached and detach_hook.
5604 (grub_usb_attach_hook_class): New type.
5605 (grub_usb_attach_desc): New struct.
5606 (grub_usb_register_attach_hook_class): New function.
5607 (grub_usb_unregister_attach_hook_class): Likewise.
5608 (grub_usb_poll_devices): Likewise.
5609 (grub_usb_device_attach): Likewise.
5610 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
5611 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
5612
3222efaf
VS
56132010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
5616 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
5617 delta determination style. Works with most NetBSD partitions too.
5618
139b714a
VS
56192010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
5622 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
5623
986aad56
VS
56242010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
5627
99be513c
AB
56282010-07-14 Anton Blanchard <anton@samba.org>
5629
5630 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
5631 ET_DYN files.
5632
18075f62
GS
56332010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5634
5635 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
5636
8d9a5b15
GS
56372010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5638
5639 * kern/partition.c (grub_partition_check_containment): New function to
5640 check that a partition is physically contained in a parent. Since
5641 offsets are relative (and non-negative), this reduces to checking that
5642 the partition ends before its parent.
5643 (grub_partition_map_probe): Discard out-of-range sub-partitions.
5644 (grub_partition_iterate): Likewise.
5645 * include/grub/partition.h (grub_partition_map): Slightly more detailed
5646 comments.
5647 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
5648 partitions that start before their parent, and add debug printfs.
5649
19563c25
CW
56502010-07-13 Colin Watson <cjwatson@ubuntu.com>
5651
5652 * Makefile.in (.SUFFIX): Spell correctly, as ...
5653 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
5654 bare module name without `.mod', e.g. `test') tried to invoke a
5655 Modula-2 compiler.
5656
1a1f1e67
CW
56572010-07-13 Colin Watson <cjwatson@ubuntu.com>
5658
5659 * README: Point to the Info manual.
5660
811b0dca
JS
56612010-07-13 Jiro SEKIBA <jir@unicus.jp>
5662
5663 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
5664 2nd superblock position from partition size.
5665
e4f4eafc
CW
56662010-07-10 Colin Watson <cjwatson@ubuntu.com>
5667
5668 * Makefile.in (MAINTAINER_CLEANFILES): Remove
5669 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
5670 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
5671 outputs.
5672
4274c30f
VS
56732010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 Restructure SCSI .id handling.
5676 Reported and tested by: Aleš Nesrsta.
5677
5678 * disk/ata.c (grub_atapi_close): Removed. All users updated.
5679 (grub_atapi_dev): Changed .name to "ata". New field .id.
5680 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
5681 (grub_usbms_dev): New field .id.
5682 * disk/scsi.c (grub_scsi_iterate): Generate name.
5683 (grub_scsi_open): Parse name.
5684 * include/grub/scsi.h (grub_make_scsi_id): New function.
5685 (grub_scsi_dev): Change iterate and open to number instead of naming
5686 busses. All users updated.
5687 (grub_scsi): Remove name. Add .bus.
5688
5bc24388
VS
56892010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * commands/help.c (grub_cmd_help): Fix a typo.
5692
249975ba
VS
56932010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
5696 Reported and tested by: Colin Watson.
5697
3eaac1a1
VS
56982010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
5701 in this context.
5702
becce1b1
VS
57032010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
5706
f7bf0918
CW
57072010-07-07 Colin Watson <cjwatson@ubuntu.com>
5708
5709 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
5710 indentation.
5711
0b0f9620
CW
57122010-07-06 Colin Watson <cjwatson@ubuntu.com>
5713
5714 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
5715 and disk/raid6_recover.c.
5716 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5717 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
5718
1e545469
CW
57192010-07-06 Colin Watson <cjwatson@ubuntu.com>
5720
5721 * term/gfxterm.c (repaint_schedulded): Rename to ...
5722 (repaint_scheduled): ... this. Update all callers.
5723 (repaint_was_schedulded): Rename to ...
5724 (repaint_was_scheduled): ... this. Update all callers.
5725
5357687a
CW
57262010-07-06 Colin Watson <cjwatson@ubuntu.com>
5727
5728 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
5729 which we expect to be handled by upper layers.
5730
29d7e783
BC
57312010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
5732
5733 * bus/usb/usbhub.c: #include time.h header.
5734
37582066
CW
57352010-07-06 Colin Watson <cjwatson@ubuntu.com>
5736
5737 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
5738 entry_name also for entries without stat blocks (e.g. ".."); fixes
5739 corruption of the first entry in a directory.
5740
c8c06953
CW
57412010-07-06 Colin Watson <cjwatson@ubuntu.com>
5742
5743 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
5744 after setting gfxterm as the active terminal. GRUB_BACKGROUND
5745 doesn't work otherwise.
5746
e75056f1
CW
57472010-07-05 Colin Watson <cjwatson@ubuntu.com>
5748
5749 * docs/grub.texi (Features): Update list of supported file systems.
5750 (GNU/Linux): Update for GRUB 2.
5751 (Serial terminal): Remove mention of --disable-serial, which was a
5752 GRUB Legacy configure option. Update instructions to use
5753 `terminal_input' and `terminal_output' rather than `terminal'.
5754 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
5755 configuration' and `Installing GRUB using grub-install'.
5756 (Menu entry editor): Update for GRUB 2.
5757 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
5758 Document new -a, -u, and -v options.
5759 (initrd): New section.
5760 (initrd16): New section.
5761 (linux): New section.
5762 (linux16): New section.
5763 (search): The `var' argument to `--set' is optional.
5764 (GRUB only offers a rescue shell): Go into a little more detail on
5765 drive ordering.
5766
5cf69151
CW
57672010-07-05 Colin Watson <cjwatson@ubuntu.com>
5768
5769 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
5770
e3f90044
CW
57712010-07-05 Colin Watson <cjwatson@ubuntu.com>
5772
5773 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
5774 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
5775
38d8f4f3
CW
57762010-07-05 Colin Watson <cjwatson@ubuntu.com>
5777
5778 * util/i386/pc/grub-setup.c (setup): Rename prefix to
5779 install_prefix, in line with install_dos_part and install_bsd_part.
5780 Add new prefix variable, which is copied to install_prefix after
5781 comparing core.img in memory with the one read from disk in the
5782 no-embedding case, and use that rather than overwriting
5783 install_prefix immediately when installing to a partition.
5784 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
5785 Bicakci.
5786
57ebd41e
GS
57872010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
5788
5789 * configure.ac: Avoid == in test command, it's not portable.
5790 * util/grub.d/30_os-prober.in: Likewise.
5791
cb7f64b2
CW
57922010-07-04 Colin Watson <cjwatson@ubuntu.com>
5793
5794 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
5795
6b654bb0
GS
57962010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
5797
5798 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
5799 multiple (top-level) partmaps.
5800
72a2026d
VS
58012010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 5804 Reported by: Tino Keitel.
72a2026d 5805
df3eb88f
VS
58062010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 Bidi and diacritics support.
5809
5810 * Makefile.in (widthspec.bin): New target.
5811 (widthspec.h): Likewise.
5812 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
5813 * autogen.sh: Generate unidata.c.
5814 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
5815 * commands/ls.c (grub_ls_list_devices): Likewise.
5816 (grub_ls_list_files): Likewise.
5817 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
5818 (grub_mini_cmd_lsmod): Likewise.
5819 * commands/read.c: Likewise.
5820 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
5821 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
5822 * lib/arg.c (grub_arg_show_help): Likewise.
5823 * lib/crypto.c (grub_password_get): Likewise.
5824 * normal/auth.c (grub_username_get): Likewise.
5825 * normal/misc.c (grub_normal_print_device_info): Likewise.
5826 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
5827 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
5828 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
5829 (normal/charset.c_DEPENDENCIES): New variable.
5830 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
5831 (pkglib_MODULES): Remove charset.mod.
5832 (charset_mod_SOURCES): Removed.
5833 (charset_mod_CFLAGS): Likewise.
5834 (charset_mod_LDFLAGS): Likewise.
5835 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
5836 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
5837 and term/tparm.c.
5838 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5839 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5840 (kernel_img_HEADERS): Add terminfo.h.
5841 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
5842 Fill ->font. Reverse ascii bitmaps.
5843 (grub_font_get_xheight): New function.
5844 * font/font.c (grub_font_get_string_width): Moved from here ...
5845 * gfxmenu/font.c (grub_font_get_string_width): ... here.
5846 * font/font.c (grub_font_draw_string): Moved from here ...
5847 * gfxmenu/font.c (grub_font_draw_string): ... here.
5848 * font/font.c (grub_font_dup_glyph): New function.
5849 (grub_font_blit_glyph): Likewise.
5850 (grub_font_blit_glyph_mirror): Likewise.
5851 (blit_comb): Likewise.
5852 (grub_font_construct_dry_run): Likewise.
5853 (grub_font_get_constructed_device_width): Likewise.
5854 (grub_font_construct_glyph): Likewise.
5855 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
5856 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
5857 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
5858 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
5859 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
5860 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
5861 (grub_font_get_xheight): New proto.
5862 (grub_font_get_constructed_device_width): Likewise.
5863 (grub_font_construct_glyph): Likewise.
5864 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
5865 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
5866 * include/grub/font.h (grub_font_draw_string): Moved from here ...
5867 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
5868 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
5869 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
5870 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
5871 (grub_console_getcharwidth): Likewise.
5872 * include/grub/misc.h (grub_xputs): New proto.
5873 (grub_puts): Inlined.
5874 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
5875 (grub_normal_get_line_counter): Removed.
5876 (grub_install_newline_hook): Likewise.
5877 (grub_normal_get_char_counter): New proto.
5878 (grub_normal_reset_more): Likewise.
5879 (grub_xputs_normal): Likewise.
5880 * include/grub/powerpc/ieee1275/console.h: Removed.
5881 * include/grub/sparc64/ieee1275/console.h: Likewise.
5882 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
5883 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
5884 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
5885 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
5886 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
5887 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
5888 (grub_term_input): Pass reference to self. All users updated.
5889 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
5890 Pass reference to self. New fields normal_color, highlight_color and
5891 data. All users updated.
5892 (grub_putchar): Removed.
5893 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
5894 (grub_unicode_estimate_width): New function.
5895 (grub_term_getcharwidth): Add defaults.
5896 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
5897 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
5898 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
5899 (grub_cls): Remove EXPORT_FUNC.
5900 (grub_setcolorstate): Inline.
5901 (grub_newline_hook): Removed.
5902 * include/grub/terminfo.h: Rewritten. All users updated.
5903 * include/grub/unicode.h: New file.
5904 * include/grub/video.h (grub_video_signed_rect): New type.
5905 * kern/emu/console.c (grub_console_highlight_color): Removed.
5906 (grub_console_normal_color): Likewise.
5907 (grub_console_standard_color): Made static.
5908 (grub_ncurses_putchar): Remove mapping.
5909 (grub_ncurses_getcharwidth): Removed.
5910 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
5911 (grub_ncurses_setcolor): Removed.
5912 (grub_ncurses_getcolor): Likewise.
5913 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
5914 (grub_console_putchar): ... this.
5915 (grub_console_putchar): Handle argument difference.
5916 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
5917 console_init_early and console_init_lately.
5918 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
5919 * kern/misc.c (grub_puts): Removed.
5920 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
5921 (grub_vsnprintf_real): Remove str = NULL support.
5922 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
5923 * normal/charset.c (grub_utf8_to_ucs4): ... here.
5924 * kern/term.c (grub_putcode): Renamed to ...
5925 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
5926 (grub_putchar): Removed.
5927 (grub_xputs_dumb): New function.
5928 (grub_xputs): New variable.
5929 * lib/charset.c: Move from here ...
5930 * normal/charset.c: ... to here.
5931 (grub_ucs4_to_utf8): New function.
5932 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
5933 (join_types): New variable.
5934 (unpack_join): New function.
5935 (bidi_types): New variable.
5936 (unpack_bidi): New function.
5937 (get_bidi_type): Likewise.
5938 (get_join_type): Likewise.
5939 (is_mirrored): Likewise.
5940 (grub_unicode_get_comb_type): Likewise.
5941 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
5942 (is_type_after): Likewise.
5943 (grub_unicode_aglomerate_comb): Likewise.
5944 (bidi_line_wrap): Likewise.
5945 (grub_bidi_line_logical_to_visual): Likewise.
5946 (grub_bidi_logical_to_visual): Likewise.
5947 (grub_unicode_mirror_code): Likewise.
5948 (grub_unicode_shape_code): Likewise.
5949 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
5950 Don't use grub_putchar.
5951 * normal/main.c (grub_normal_init_page): Use grub_putcode.
5952 (grub_normal_reader_init): Likewise.
5953 (grub_xputs_saved): New variable.
5954 (GRUB_MOD_INIT): Set grub_xputs.
5955 (GRUB_MOD_FINI): Restore grub_xputs.
5956 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
5957 (menu_init): Avoid printing gfxmenu error.
5958 (show_menu): Use grub_normal_get_char_counter.
5959 * normal/menu_entry.c (update_screen): Fix out-of-array.
5960 (complete): Avoid NULL dereferencing.
5961 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
5962 * normal/menu_text.c (print_spaces): Removed.
5963 (grub_print_ucs4): Likewise.
5964 (grub_print_message_indented): Use grub_print_ucs4.
5965 (print_message): Use grub_putcode.
5966 (print_entry): Hanlde diacritics.
5967 * normal/term.c (term_state): New type.
5968 (grub_more_lines): Removed.
5969 (term_states): New variable.
5970 (grub_normal_line_counter): Renamed to ..
5971 (grub_normal_char_counter): ...this. All users updated.
5972 (grub_normal_get_line_counter): Renamed to ...
5973 (grub_normal_get_char_counter): ... this.
5974 (grub_normal_reset_more): New function.
5975 (process_newline): Removed.
5976 (print_more): New function.
5977 (grub_install_newline_hook): Removed.
5978 (map_code): New function.
5979 (grub_puts_terminal): Use grub_print_ucs4.
5980 (putglyph): New function.
5981 (putcode_real): Likewise.
5982 (grub_putcode): Use putcode_real.
5983 (get_maxwidth): New function.
5984 (get_startwidth): Likewise.
5985 (print_ucs4_terminal): Likewise.
5986 (find_term_state): Likewise.
5987 (put_glyphs_terminal): Likewise.
5988 (print_backlog): Likewise.
5989 (print_ucs4_real): Likewise.
5990 (grub_print_ucs4): Likewise.
5991 (grub_xputs_normal): Likewise.
5992 * term/efi/console.c (grub_console_putchar): Output diacritics.
5993 (grub_console_getcharwidth): Removed.
5994 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
5995 * term/gfxterm.c (clear_char): Free chars.
5996 (scroll_up): Avoid leaking memory.
5997 (grub_gfxterm_putchar): Support diacritics.
5998 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
5999 * term/i386/pc/console.c (grub_console_term_output): Declare as
6000 GRUB_TERM_CODE_TYPE_VGA.
6001 * term/i386/pc/vga.c (grub_vga_term): Declare as
6002 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
6003 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
6004 GRUB_TERM_CODE_TYPE_VGA.
6005 * term/i386/vga_common.c (map_char): Removed.
6006 (grub_console_putchar): Likewise.
6007 (grub_console_getcharwidth): Likewise.
6008 * term/ieee1275/ofconsole.c: Simplify using terminfo.
6009 (colors): Reordered to match terminfo.
6010 (grub_ofconsole_normal_color): Removed.
6011 (grub_ofconsole_writeesc): Likewise.
6012 (grub_ofconsole_highlight_color): Likewise.
6013 (grub_ofconsole_getcharwidth): Likewise.
6014 (grub_ofconsole_setcolorstate): Likewise.
6015 (grub_ofconsole_setcolor): Likewise.
6016 (grub_ofconsole_getcolor): Likewise.
6017 (grub_ofconsole_readkey): Renamed to ...
6018 (readkey): ... this. Remove escape sequence handling. Return -1 on no
6019 key.
6020 (grub_ofconsole_checkkey): Removed.
6021 (grub_ofconsole_getkey): Likewise.
6022 (grub_ofconsole_getxy): Likewise.
6023 (grub_ofconsole_gotoxy): Likewise.
6024 (grub_ofconsole_cls): Likewise.
6025 (grub_ofconsole_refresh): Likewise.
6026 (grub_ofconsole_terminfo_input): New struct.
6027 (grub_ofconsole_terminfo_output): Likewise.
6028 (grub_ofconsole_term_input): Use terminfo.
6029 (grub_ofconsole_term_output): Likewise.
6030 (grub_console_init): Split into ...
6031 (grub_console_init_early): ...this and ...
6032 (grub_console_init_lately): ...this. Use terminfo.
6033 (grub_ofconsole_putchar): Renamed to ...
6034 (put): ... this. Remove mapping.
6035 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6036 * term/serial.c: Simplify using terminfo.
6037 (xpos): Removed.
6038 (ypos): Likewise.
6039 (keep_track): Likewise.
6040 (registered): Likewise.
6041 (input_buf): Likewise.
6042 (npending): Likewise.
6043 (serial_translate_key_sequence): Likewise.
6044 (fill_input_buf): Likewise.
6045 (grub_serial_checkkey): Likewise.
6046 (grub_serial_getkey): Likewise.
6047 (grub_serial_getxy): Likewise.
6048 (grub_serial_gotoxy): Likewise.
6049 (grub_serial_putchar): Likewise.
6050 (grub_serial_cls): Likewise.
6051 (grub_serial_setcolorstate): Likewise.
6052 (grub_serial_setcursor): Likewise.
6053 (serial_hw_init): Use serial_hw_fetch.
6054 (grub_serial_terminfo_input): New variable.
6055 (grub_serial_terminfo_output): Likewise.
6056 (grub_serial_term_input): Use terminfo.
6057 (grub_serial_term_output): Likewise.
6058 * term/terminfo.c (putstr): Use put.
6059 (grub_terminfo_all_free): New function
6060 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
6061 (grub_terminfo_output_register): New function.
6062 (grub_terminfo_output_unregister): Likewise.
6063 (grub_terminfo_getxy): Likewise.
6064 (grub_terminfo_readkey): Likewise.
6065 (grub_terminfo_checkkey): Likewise.
6066 (grub_terminfo_getkey): Likewise.
6067 (grub_terminfo_input_init): Likewise.
6068 (print_terminfo): Likewise.
6069 (grub_cmd_terminfo): Handle encoding.
6070 (grub_terminfo_gotoxy): Track position.
6071 (grub_terminfo_cls): Likewise.
6072 (grub_terminfo_putchar): Likewise.
6073 (grub_terminfo_setcolorstate): Handle colors
6074 (grub_terminfo_cursor_on): This ...
6075 (grub_terminfo_cursor_off): ... and this merged into ...
6076 (grub_terminfo_setcursor): ... this.
6077 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
6078 * unicode/ArabicShaping.txt: New file (imported from Unicode).
6079 * unicode/BidiMirroring.txt: Likewise.
6080 * unicode/UnicodeData.txt: Likewise.
6081 * unicode/COPYING: Likewise.
6082 * util/grub-editenv.c (grub_putchar): Removed.
6083 (grub_xputs_real): New function.
6084 (grub_xputs): New variable.
6085 * util/grub-fstest.c (grub_putchar): Removed.
6086 (grub_xputs_real): New function.
6087 (grub_xputs): New variable.
6088 * util/grub-mkdevicemap.c (grub_putchar): Removed.
6089 (grub_xputs_real): New function.
6090 (grub_xputs): New variable.
6091 * util/grub-probe.c (grub_putchar): Removed.
6092 (grub_xputs_real): New function.
6093 (grub_xputs): New variable.
6094 * util/grub-script-check.c (grub_putchar): Removed.
6095 (grub_xputs_real): New function.
6096 (grub_xputs): New variable.
6097 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
6098 (grub_xputs_real): New function.
6099 (grub_xputs): New variable.
6100 * util/import_unicode.py: New file.
6101 * util/grub-mkfont.c (ft_errmsgs): New array.
6102 (grub_glyph_info): Make bitmap a pointer.
6103 (file_formats): New type WIDTH_SPEC.
6104 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
6105 (options): Add width-spec.
6106 (help): Likewise.
6107 (add_char): Renamed to ...
6108 (add_glyph): ... this.
6109 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
6110 (glyph_replace): New type.
6111 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
6112 (add_char): New function.
6113 (add_subst): Likewise.
6114 (process_cursive): Likewise.
6115 (add_font): Handle GSUB.
6116 (write_font_width_spec): New function.
6117 (main): Sort glyphs.
6118 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
6119 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
6120 * kern/term.c (grub_cls): Moved from here...
6121 * normal/term.c (grub_cls): ... here.
6122
50f0bcda
CW
61232010-07-02 Colin Watson <cjwatson@ubuntu.com>
6124
6125 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
6126 suitable for using within the format argument of printf when
6127 converting grub_size_t.
6128 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
6129 "x" to convert grub_size_t arguments.
6130
40372103
VS
61312010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
6134 too long captions.
6135 (list_get_minimal_size): Take selection box into account.
6136
942a10c7
VS
61372010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
6140 NULL font.
6141
2bdb2892
CW
61422010-07-02 Colin Watson <cjwatson@ubuntu.com>
6143
6144 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
6145 devices when iterating over /dev/disk/by-id; they will be handled
6146 later if appropriate, which they aren't always (e.g. LVM).
6147
e03ed6c1
CW
61482010-07-02 Colin Watson <cjwatson@ubuntu.com>
6149
6150 * include/grub/misc.h (grub_reboot): Declare as noreturn.
6151 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
6152 fails.
6153 (grub_halt): Likewise.
6154 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
6155 reset-all fails.
6156 (grub_halt): Don't return, even if all of shut-down, power-off, and
6157 poweroff fail.
6158
47695765
CW
61592010-07-02 Colin Watson <cjwatson@ubuntu.com>
6160
6161 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
6162 arguments, not three.
6163
507736c8
CW
61642010-07-02 Colin Watson <cjwatson@ubuntu.com>
6165
6166 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
6167 * util/grub.d/10_linux.in: Use it to check for LVM, so that
6168 LVM-on-RAID is handled correctly.
6169
e3c8cd37
CW
61702010-07-02 Colin Watson <cjwatson@ubuntu.com>
6171
6172 * docs/grub.texi (Changes from GRUB Legacy): New section.
6173 (Future): Fix typo.
6174
8d4a2fec
CW
61752010-07-02 Colin Watson <cjwatson@ubuntu.com>
6176
6177 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
6178 grub.d/README accidentally ends up executable for one reason or
6179 another. Ignore it.
6180
1c4827be
VS
61812010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
6184 (gpt_partition_map_iterate): Support non-512B sectors.
6185
d9a0c941
VS
61862010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 * kern/efi/init.c (grub_efi_init): Disable watchdog.
6189 Tested by: Seth Goldberg.
6190
48f27e87
VS
61912010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
6194 Properly align mbi.
6195 Reported by: Seth Goldberg.
6196
b0c4f956
VS
61972010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * util/grub-mkrescue.in: Avoid module duplication.
6200
105a2e8c
SF
62012010-07-01 Sean Finney <seanius@seanius.net>
6202
6203 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
6204
5944958c
SF
62052010-07-01 Sean Finney <seanius@seanius.net>
6206
6207 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
6208
62092010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 * disk/lvm.c (grub_lvm_checkvalue): New function.
6212 (grub_lvm_check_flag): Likewise.
6213
b79889ba
RM
62142010-07-01 Robert Millan <rmh@gnu.org>
6215
6216 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
6217 Support 'p' as partition separator on kernel of FreeBSD (used
6218 with GPT labels).
6219 (grub_util_biosdisk_get_grub_dev): Likewise.
6220
ec1d04f1
VS
62212010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 Yeeloong firmware port.
6224
6225 * boot/mips/yeeloong/fwstart.S: New file.
6226 * bus/cs5536.c (gpiodump): New const.
6227 (set_io_space): New function.
6228 (set_iod): Likewise.
6229 (set_p2d): Likewise.
6230 (grub_cs5536_init_geode): Likewise.
6231 * commands/mips/yeeloong/lsspd.c: New file.
6232 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
6233 (serial_mod_SOURCES): New variable.
6234 (serial_mod_CFLAGS): Likewise.
6235 (serial_mod_LDFLAGS): Likewise.
6236 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
6237 term/terminfo.c and term/tparm.c.
6238 (pkglib_IMAGES): Add fwstart.img.
6239 (fwstart_img_SOURCES): New variable.
6240 (fwstart_img_CFLAGS): Likewise.
6241 (fwstart_img_ASFLAGS): Likewise.
6242 (fwstart_img_LDFLAGS): Likewise.
6243 (fwstart_img_FORMAT): Likewise.
6244 (pkglib_MODULES): Add lsspd.mod.
6245 (lsspd_mod_SOURCES): New variable.
6246 (lsspd_mod_CFLAGS): Likewise.
6247 (lsspd_mod_LDFLAGS): Likewise.
6248 (pkglib_MODULES): Add halt.mod.
6249 (halt_mod_SOURCES): New variable.
6250 (halt_mod_CFLAGS): Likewise.
6251 (halt_mod_LDFLAGS): Likewise.
6252 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
6253 (serial_mod_SOURCES): Removed.
6254 (serial_mod_CFLAGS): Likewise.
6255 (serial_mod_LDFLAGS): Likewise.
6256 * disk/ata.c (check_device): New function.
6257 (grub_ata_device_initialize): Use check_device.
6258 (grub_ata_iterate): Recheck devices.
6259 (grub_ata_open): Likewise.
6260 (grub_atapi_iterate): Likewise.
6261 (grub_atapi_open): Likewise.
6262 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
6263 (GRUB_ATA_CH1_PORT1): Likewise.
6264 (GRUB_ATA_CH0_PORT2): Likewise.
6265 (GRUB_ATA_CH1_PORT2): Likewise.
6266 * include/grub/mips/loongson.h: New file.
6267 * include/grub/mips/yeeloong/ec.h: Likewise.
6268 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
6269 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
6270 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
6271 * include/grub/misc.h (grub_halt): Declare as noreturn.
6272 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
6273 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
6274 (UART_ENABLE_FIFO_TRIGGER1): New definition.
6275 (UART_ENABLE_DTRRTS): Likewise.
6276 (UART_ENABLE_MODEM): Removed.
6277 (UART_ENABLE_OUT2): New const.
6278 * include/grub/term.h (grub_term_register_input_active): New function.
6279 (grub_term_register_output_active): Likewise.
6280 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
6281 argument.
6282 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
6283 (init_pci): New function.
6284 (grub_machine_init): Execute platform init when firmware. Init serial.
6285 (grub_halt): Implement.
6286 (grub_exit): Likewise.
6287 (grub_reboot): Likewise.
6288 * term/serial.c (serial_hw_init): Update macros.
6289 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
6290 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
6291 (image_targets): New target mipsel-yeeloong-flash.
6292 (generate_image): Support IMAGE_YEELOONG_FLASH.
6293 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
6294 (grub_video_sm712_setup): Init card.
6295 (grub_video_sm712_set_palette): Removed.
6296 * video/sm712_init.c: New file.
6297
ff4a70d2
CW
62982010-06-30 Colin Watson <cjwatson@ubuntu.com>
6299
6300 * Makefile.in (install-local): Temporarily prepend $(builddir) to
6301 PATH when running help2man and then run it on the unadorned
6302 executable names, rather than passing $(builddir)/* paths to
6303 help2man. This avoids the build directory ending up in generated
6304 manual pages.
6305
1246efeb
CW
63062010-06-29 Colin Watson <cjwatson@ubuntu.com>
6307
6308 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
6309 to avoid accidents when debugging with 'sh -x'.
6310 * util/grub-mkrescue.in: Likewise.
6311 * util/grub.d/00_header.in: Likewise.
6312 * util/grub.d/10_hurd.in: Likewise.
6313 * util/grub.d/10_kfreebsd.in: Likewise.
6314 * util/grub.d/10_linux.in: Likewise.
6315 * util/grub.d/10_netbsd.in: Likewise.
6316 * util/grub.d/10_windows.in: Likewise.
6317 * util/grub.d/20_linux_xen.in: Likewise.
6318 * util/grub.d/30_os-prober.in: Likewise.
6319 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6320
1ba9b889
CW
63212010-06-29 Colin Watson <cjwatson@ubuntu.com>
6322
6323 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
6324 last character in the buffer.
6325 Reported by: Vladimir Serbinenko.
6326
dccaf99d
RM
63272010-06-29 Robert Millan <rmh@gnu.org>
6328
6329 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
6330 (Command-line and menu entry commands): Document `badram' command.
6331
d500ed12
RM
63322010-06-28 Robert Millan <rmh@gnu.org>
6333
6334 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
6335 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
6336 command using ${GRUB_BADRAM} as parameter.
6337
20bc84a6
CW
63382010-06-28 Colin Watson <cjwatson@ubuntu.com>
6339
6340 * docs/grub.texi (Device map): New section.
6341 (Themes): New section (stub).
6342 * Makefile.in (docs/grub.info): The info documentation now builds
6343 without errors. Make sure it stays that way.
6344
4045dee1
VS
63452010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 Use normal parser for menu entries.
6348 Reported by: Thomas Frauendorfer
6349
6350 * include/grub/parser.h (grub_parser_execute): Don't export.
6351 * normal/menu.c (grub_menu_execute_entry_real): New function.
6352 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
6353
bca58c7b
CW
63542010-06-28 Colin Watson <cjwatson@ubuntu.com>
6355
6356 * docs/grub.texi (Embedded configuration): New section (replacing
6357 old "Preset Menu" stub).
6358 (Images): New section.
6359 (configfile): Note that any menu entries defined in `file' are shown
6360 immediately.
6361
dec53e63
JT
63622010-06-28 Josh Triplett <josh@joshtriplett.org>
6363
6364 * mmap/i386/pc/mmap_helper.S: Set CF on return.
6365
c06e40f7
CW
63662010-06-28 Colin Watson <cjwatson@ubuntu.com>
6367
6368 * util/grub-install.in: Add --debug-image= option.
6369
cb88052b
CW
63702010-06-28 Colin Watson <cjwatson@ubuntu.com>
6371
6372 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
6373 possible on Linux.
6374
6375 * util/deviceiter.c (check_device): Rename to ...
6376 (check_device_readable_unique): ... this. Update all callers.
6377 Maintain and check a list of which devices (by canonicalized name)
6378 have already been seen.
6379 (clear_seen_devices): New function.
6380 (compare_file_names) [__linux__]: New function.
6381 (grub_util_iterate_devices): Clear the list of seen devices on exit
6382 and (just in case) on entry.
6383 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
6384 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
6385 seen-devices list, superseded by general code in check_device.
6386
bbe34652
CW
63872010-06-28 Colin Watson <cjwatson@ubuntu.com>
6388
6389 * commands/cat.c (options): New variable.
6390 (grub_cmd_cat): Parse options. If the --dos option is given, print
6391 DOS-style "\r\n" line endings as simple newlines (Debian bug
6392 #586358).
6393 (GRUB_MOD_INIT): Use extcmd.
6394 (GRUB_MOD_FINI): Likewise.
6395 * docs/grub.texi (cat): Document --dos.
6396
412e09f3
VS
63972010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 XEN with Linux grub-mkconfig support.
6400
6401 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
6402 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
6403 GRUB_CMDLINE_XEN_DEFAULT.
6404 * util/grub.d/20_linux_xen.in: New file.
6405
53f3ef38 64062010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
6407
6408 Initialise VGA video on qemu ourselves.
6409
6410 * boot/i386/qemu/boot.S: Don't call 0xc000.
6411 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
6412 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
6413 (kernel_img_HEADERS): Add pci.h.
6414 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
6415 * configure.ac: Force unifont on qemu and yeeloong.
6416 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
6417 (grub_vga_palette_write): Use correct register.
6418 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
6419 Call grub_qemu_init_cirrus.
6420 * kern/i386/qemu/init.c: New file.
6421 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
6422
6423 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
6424
c75be4fb
PR
64252010-06-26 Pavel Roskin <proski@gnu.org>
6426
6427 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
6428 13.
6429
d8034603
CW
64302010-06-26 Colin Watson <cjwatson@ubuntu.com>
6431
6432 * docs/grub.texi (Simple configuration): Explain that
6433 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
6434 set to `true' to disable their respective recovery entries, not
6435 merely set.
6436
3fa06487
CW
64372010-06-26 Colin Watson <cjwatson@ubuntu.com>
6438
6439 Make the `source' command slightly faster.
6440
6441 * normal/main.c (grub_normal_execute): Don't re-read list files when
6442 nested.
6443
e9b29642
CW
64442010-06-23 Colin Watson <cjwatson@ubuntu.com>
6445
6446 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
6447 field position and mask size to red fields from mode_info, not
6448 green.
6449 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
6450 Remove redundant tag->common.framebuffer_type assignment.
6451 Reported by: Seth Goldberg.
6452
e726542f
CW
64532010-06-23 Colin Watson <cjwatson@ubuntu.com>
6454
6455 Sync up other versions of the Linux loader with Robert Millan's
6456 change of 2010-01-09, "Make loader output a bit more user-friendly".
6457
6458 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
6459 grub_dprintf().
6460 (grub_cmd_linux): Likewise.
6461 (grub_cmd_initrd): Likewise.
6462 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
6463 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6464
d6e98a17
CW
64652010-06-21 Colin Watson <cjwatson@ubuntu.com>
6466
6467 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
6468 larger than MEMORY_MAP_SIZE.
6469
14d3f08e
BC
64702010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
6471
6472 Fix parallel build.
6473
6474 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
6475 dependency.
6476 * script/parser.y: #include grub_script.tab.h header.
6477
4f9613a3
VS
64782010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 Support >3GiB and <16MiB RAM in i386-qemu.
6481
6482 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
6483 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
6484 (grub_lower_mem): Removed.
6485 (grub_upper_mem): Likewise.
6486 (mem_size): Made static.
6487 (above_4g): New variable.
6488 (grub_machine_mmap_init): Detect small mem_size and above_4g.
6489 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
6490 support.
6491
05e51879
VS
64922010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 Cirrus 5446 and Bochs video cards support.
6495
6496 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
6497 video_bochs.mod
6498 (video_cirrus_mod_SOURCES): New variable.
6499 (video_cirrus_mod_CFLAGS): Likewise.
6500 (video_cirrus_mod_LDFLAGS): Likewise.
6501 (video_bochs_mod_SOURCES): Likewise.
6502 (video_bochs_mod_CFLAGS): Likewise.
6503 (video_bochs_mod_LDFLAGS): Likewise.
6504 * include/grub/vga.h: New file.
6505 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
6506 (grub_video_fb_set_page_t): New type.
6507 (grub_video_fb_setup): New prototype.
6508 (grub_video_fb_swap_buffers): Likewise.
6509 (grub_video_fb_get_info_and_fini): Likewise.
6510 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
6511 (CRTC_DATA_PORT): Likewise.
6512 (CRTC_CURSOR): Likewise.
6513 (CRTC_CURSOR_ADDR_HIGH): Likewise.
6514 (CRTC_CURSOR_ADDR_LOW): Likewise.
6515 (CRTC_CURSOR_DISABLE): Likewise.
6516 (update_cursor): Use grub_vga_cr_write.
6517 (grub_vga_text_setcursor): Likewise.
6518 * video/bochs.c: New file.
6519 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
6520 (palette): Likewise.
6521 (palette_size): Likewise.
6522 (framebuffer): New variable.
6523 (grub_video_fb_init): Use 'framebuffer'.
6524 (grub_video_fb_fini): Likewise.
6525 (grub_video_fb_get_info): Likewise.
6526 (grub_video_fb_get_palette): Likewise.
6527 (grub_video_fb_set_palette): Likewise.
6528 (grub_video_fb_set_viewport): Likewise.
6529 (grub_video_fb_get_viewport): Likewise.
6530 (grub_video_fb_map_color): Likewise.
6531 (grub_video_fb_map_rgb): Likewise.
6532 (grub_video_fb_map_rgba): Likewise.
6533 (grub_video_fb_unmap_color): Likewise.
6534 (grub_video_fb_unmap_color_int): Likewise.
6535 (grub_video_fb_fill_rect): Likewise.
6536 (grub_video_fb_blit_bitmap): Likewise.
6537 (grub_video_fb_blit_render_target): Likewise.
6538 (grub_video_fb_scroll): Likewise.
6539 (grub_video_fb_create_render_target): Likewise.
6540 (grub_video_fb_doublebuf_blit_init): Likewise.
6541 (grub_video_fb_set_active_render_target): Handle doublebuffering.
6542 (doublebuf_pageflipping_update_screen): New function.
6543 (doublebuf_pageflipping_init): Likewise.
6544 (grub_video_fb_setup): Likewise.
6545 (grub_video_fb_swap_buffers): Likewise.
6546 (grub_video_fb_get_info_and_fini): Likewise.
6547 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
6548 All users updated.
6549 (doublebuf_pageflipping_commit): Restructured into ...
6550 (doublebuf_pageflipping_set_page): ... this.
6551 (doublebuf_pageflipping_update_screen): Removed.
6552 (doublebuf_pageflipping_init): Likewise.
6553 (double_buffering_init): Likewise.
6554 (grub_video_vbe_setup): Use grub_video_fb_setup.
6555 (grub_video_vbe_swap_buffers): Removed.
6556 (grub_video_vbe_set_active_render_target): Likewise.
6557 (grub_video_vbe_get_active_render_target): Likewise.
6558 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
6559 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
6560 grub_video_fb_set_active_render_target and
6561 grub_video_fb_get_active_render_target.
6562 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
6563 (SEQUENCER_DATA_PORT): Likewise.
6564 (MAP_MASK_REGISTER): Likewise.
6565 (CRTC_ADDR_PORT): Likewise.
6566 (CRTC_DATA_PORT): Likewise.
6567 (START_ADDR_HIGH_REGISTER): Likewise.
6568 (START_ADDR_LOW_REGISTER): Likewise.
6569 (GRAPHICS_ADDR_PORT): Likewise.
6570 (GRAPHICS_DATA_PORT): Likewise.
6571 (READ_MAP_REGISTER): Likewise.
6572 (INPUT_STATUS1_REGISTER): Likewise.
6573 (INPUT_STATUS1_VERTR_BIT): Likewise.
6574 (get_map_mask): Use grub_vga_sr_read.
6575 (set_map_mask): Use grub_vga_sr_write.
6576 (set_read_map): Use grub_vga_gr_write.
6577 (set_start_address): Use grub_vga_cr_write.
6578 * video/sm712.c (framebuffer): Remove leftover fields.
6579
4321c64a
CW
65802010-06-20 Colin Watson <cjwatson@ubuntu.com>
6581
6582 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
6583 setting GRUB_VIDEO_BACKEND. Make it available as a user override
6584 instead. Replace the gfxterm backend check with a check that
6585 ${GRUB_PREFIX}/video.lst is non-empty.
6586 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
6587 again.
6588 (load_video): New generated function. Call it before loading
6589 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
6590 * util/grub.d/10_linux.in (linux_entry): Call load_video.
6591 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
6592 * docs/grub.texi (Simple configuration): Document
6593 GRUB_VIDEO_BACKEND.
6594
65952010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 Use video functions in linux and xnu loaders.
6598
6599 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
6600 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
6601 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
6602 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
6603 loader/i386/pc/linux.c.
6604 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
6605 (find_line_len): Removed.
6606 (find_framebuf): Likewise.
6607 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
6608 * loader/i386/efi/xnu.c: Removed.
6609 * loader/i386/pc/xnu.c: Moved from here...
6610 * loader/i386/xnu.c: ...here.
6611
6612 Enable priorities in video drivers.
6613
6614 * include/grub/video.h (grub_video_adapter_prio_t): New type.
6615 (grub_video_adapter): New field prio.
6616 (grub_video_register): Respect prio when inserting.
6617 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
6618 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
6619 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
6620 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
6621 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
6622 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
6623 * video/sm712.c (grub_video_sm712_adapter): Likewise.
6624
6625 Fix SDL driver ID.
6626
6627 * include/grub/video.h (grub_video_driver_id_t): New value
6628 GRUB_VIDEO_DRIVER_SDL.
6629 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
6630
7d24e434
CW
66312010-06-17 Colin Watson <cjwatson@ubuntu.com>
6632
6633 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
6634 argument to printf.
6635 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6636
c88a83f6
CW
66372010-06-17 Colin Watson <cjwatson@ubuntu.com>
6638
6639 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
6640 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6641
094dfb69
CW
66422010-06-17 Colin Watson <cjwatson@ubuntu.com>
6643
6644 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
6645 directly, and recommend grub-install instead.
6646 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6647
2164da6b
CW
66482010-06-17 Colin Watson <cjwatson@ubuntu.com>
6649
6650 Fix i386-pc prefix handling with nested partitions (Debian bug
6651 #585068). Note that the case where the core image is booted using
6652 multiboot and relocated from its original location still requires
6653 more work.
6654
6655 * kern/i386/pc/init.c (make_install_device): If the prefix starts
6656 with "(,", fill the boot drive in between those two characters, but
6657 expect that a full partition specification including partition map
6658 names will follow.
6659 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
6660 specified, write a prefix without the drive name but including a
6661 full partition specification.
6662
044e2e60
CW
66632010-06-16 Colin Watson <cjwatson@ubuntu.com>
6664
6665 * util/grub-mkconfig.in: Ignore non-option arguments, for
6666 compatibility with older versions (before 2010-06-12) which did the
6667 same. In particular, this makes it easier to ship an update-grub
6668 wrapper which is compatible with that used with GRUB Legacy (Debian
6669 bug #586056).
6670
5591324f
GS
66712010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6672
6673 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
6674 for manual page generation.
6675
662e24d5
GS
66762010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6677
6678 * po/POTFILES: Remove leftover commands/handler.c.
6679
8d70754e
CW
66802010-06-14 Colin Watson <cjwatson@ubuntu.com>
6681
6682 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
6683 left this script non-functional.
6684
41160e2e
CW
66852010-06-14 Colin Watson <cjwatson@ubuntu.com>
6686
6687 * docs/man/grub-emu.h2m: New file.
6688
b5309cc1
CW
66892010-06-13 Colin Watson <cjwatson@ubuntu.com>
6690
6691 * docs/grub.texi (Commands): Document reduced command set in rescue
6692 mode.
6693 (cpuid): New section.
6694
fcb2d090
GS
66952010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
6696
6697 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
6698 new partition naming style.
6699 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
6700
96e5c556
BC
67012010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
6702
6703 Add "-o grub.iso" like cmdline options support.
6704
6705 * util/grub-install.in: Improve cmdline option parsing.
6706 * util/grub-mkconfig.in: Likewise.
6707 * util/grub-mkrescue.in: Likewise.
6708 * util/grub-reboot.in: Likewise.
6709 * util/grub-set-default.in: Likewise.
6710 * util/i386/efi/grub-install.in: Likewise.
6711 * util/ieee1275/grub-install.in: Likewise.
6712 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6713
c16be99b
CW
67142010-06-12 Colin Watson <cjwatson@ubuntu.com>
6715
6716 * .bzrignore: Ignore 41_custom.
6717
ce08a9fb
TS
67182010-06-12 Thomas Schmitt <scdbackup@gmx.net>
6719
6720 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
6721
7beac90c
CW
67222010-06-12 Colin Watson <cjwatson@ubuntu.com>
6723
6724 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
6725 prototype declarations.
6726
6727 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
6728 generating fs, partmap, and video lists.
6729 * include/grub/fs.h (grub_fs_register): Omit prototype if
6730 GRUB_LST_GENERATOR is defined.
6731 * include/grub/partition.h (grub_partition_map_register): Likewise.
6732 * include/grub/video.h (grub_video_register): Likewise.
6733
1c8f0f8d
JM
67342010-06-12 Javier Martín <lordhabbit@gmail.com>
6735
6736 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
6737
a6085973
TS
67382010-06-12 Thomas Schmitt <scdbackup@gmx.net>
6739
6740 * util/grub-mkrescue.in: Support --xorriso argument.
6741
25c56d29
VS
67422010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
6745 Suggested by: Thomas Schmitt.
6746
e03e4b24
VS
67472010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
6750 Suggested by: Thomas Schmitt.
6751
57711df6
VS
67522010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 custom.cfg support.
6755
6756 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
6757 * util/grub.d/41_custom.in: New file.
6758
ee62c427
CW
67592010-06-12 Colin Watson <cjwatson@ubuntu.com>
6760
6761 * util/grub-mkrescue.in (make_image): Remove sh module, which has
6762 been merged back into normal.
6763
283af07a
CW
67642010-06-11 Colin Watson <cjwatson@ubuntu.com>
6765
6766 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
6767 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
6768
56a0d956
CW
67692010-06-11 Colin Watson <cjwatson@ubuntu.com>
6770
6771 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
6772 when generating manual pages.
6773 * docs/man/grub-bin2h.h2m: New file.
6774 * docs/man/grub-editenv.h2m: New file.
6775 * docs/man/grub-fstest.h2m: New file.
6776 * docs/man/grub-install.h2m: New file.
6777 * docs/man/grub-macho2img.h2m: New file.
6778 * docs/man/grub-mkconfig.h2m: New file.
6779 * docs/man/grub-mkdevicemap.h2m: New file.
6780 * docs/man/grub-mkfont.h2m: New file.
6781 * docs/man/grub-mkimage.h2m: New file.
6782 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
6783 * docs/man/grub-mkrelpath.h2m: New file.
6784 * docs/man/grub-mkrescue.h2m: New file.
6785 * docs/man/grub-ofpathname.h2m: New file.
6786 * docs/man/grub-pe2elf.h2m: New file.
6787 * docs/man/grub-probe.h2m: New file.
6788 * docs/man/grub-reboot.h2m: New file.
6789 * docs/man/grub-script-check.h2m: New file.
6790 * docs/man/grub-set-default.h2m: New file.
6791 * docs/man/grub-setup.h2m: New file.
6792
3a37e322
VS
67932010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 Use FOR_* macros instead of *_iterate whenever possible.
6796
6797 * commands/handler.c: Removed.
6798 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
6799 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
6800 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6801 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
6802 (grub_probe_SOURCES): Remove kern/parser.c.
6803 (util/grub-script-check.c_DEPENDENCIES): Removed.
6804 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
6805 and grub_script_check_init.c.
6806 (grub_script_check_init.lst): Removed.
6807 (grub_script_check_init.h): Likewise.
6808 (grub_script_check_init.c): Likewise.
6809 (pkglib_MODULES): Remove handler.mod and sh.mod.
6810 (handler_mod_SOURCES): Removed.
6811 (handler_mod_CFLAGS): Likewise.
6812 (handler_mod_LDFLAGS): Likewise.
6813 (normal_mod_SOURCES): Remove normal/handler.c.
6814 Add script/main.c, script/script.c, script/execute.c,
6815 script/function.c, script/lexer.c, grub_script.tab.c
6816 and grub_script.yy.c.
6817 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6818 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6819 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
6820 (grub_setup_SOURCES): Remove kern/parser.c.
6821 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6822 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
6823 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
6824 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6825 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6826 (grub_setup_SOURCES): Remove kern/parser.c.
6827 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6828 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
6829 * include/grub/command.h (grub_command_iterate): Removed.
6830 (FOR_COMMANDS): New macro.
6831 * include/grub/dl.h (grub_dl): New member next.
6832 (grub_dl_iterate): Removed.
6833 (grub_dl_head): New variable declaration.
6834 (FOR_DL_MODULES): New macro.
6835 * include/grub/fs.h: Include list.h.
6836 (grub_fs): Make next first element.
6837 (grub_fs_list): New variable declaration.
6838 (grub_fs_register): Make inline.
6839 (grub_fs_unregister): Likewise.
6840 (grub_fs_iterate): Removed.
6841 (FOR_FILESYSTEMS): New macro.
6842 * include/grub/handler.h: Removed.
6843 * include/grub/list.h (grub_list_hook_t): Removed.
6844 (grub_list_test_t): Likewise.
6845 (grub_list_pop): Likewise.
6846 (grub_list_iterate): Likewise.
6847 (grub_list_insert): Likewise.
6848 (FOR_LIST_ELEMENTS): New macro.
6849 * include/grub/parser.h (grub_parser_class): Removed.
6850 (grub_parser_register): Likewise.
6851 (grub_parser_unregister): Likewise.
6852 (grub_parser_get_current): Likewise.
6853 (grub_parser_set_current): Likewise.
6854 (grub_register_rescue_parser): Likewise.
6855 (grub_rescue_parse_line): New function.
6856 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
6857 * include/grub/script_sh.h (grub_script_function_list): New variable
6858 declaration.
6859 (FOR_SCRIPT_FUNCTIONS): New macro.
6860 (grub_script_function_iterate): Removed.
6861 (grub_normal_parse_line): New prototype.
6862 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
6863 (FOR_DISABLED_TERM_INPUTS): Likewise.
6864 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
6865 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
6866 * include/grub/video.h (grub_video_adapter): Move 'next' to first
6867 element.
6868 (grub_video_register): Inline.
6869 (grub_video_unregister): Likewise.
6870 (grub_video_adapter_list): New variable declaration.
6871 (grub_video_iterate): Removed.
6872 (FOR_VIDEO_ADAPTERS): New macro.
6873 * kern/dl.c (grub_dl_list): Removed. All users updated.
6874 (grub_dl_iterate): Removed.
6875 * kern/fs.c (grub_fs_list): Make global.
6876 (grub_fs_register): Removed.
6877 (grub_fs_unregister): Likewise.
6878 (grub_fs_iterate): Likewise.
6879 * kern/handler.c: Removed.
6880 * kern/list.c (grub_list_pop): Removed.
6881 (grub_list_iterate): Likewise.
6882 (grub_list_insert): Likewise.
6883 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
6884 (grub_prio_list_insert): Don't use grub_list_insert.
6885 * kern/main.c (grub_register_rescue_parser): Don't call
6886 grub_register_rescue_parser.
6887 * kern/parser.c (grub_parser_class): Removed.
6888 (grub_parser_execute): Use grub_rescue_parse_line.
6889 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
6890 (grub_rescue_parser): Removed.
6891 (grub_register_rescue_parser): Likewise.
6892 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
6893 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
6894 (grub_auth_check_authentication): Likewise.
6895 * normal/completion.c (iterate_command): Removed.
6896 (grub_normal_do_completion): Use FOR_COMMANDS.
6897 * normal/handler.c: Removed.
6898 * normal/main.c (read_config_file): Remove parser changing.
6899 (grub_normal_execute): Don't call read_handler_list.
6900 (grub_normal_read_line_real): Statically allocate prompt.
6901 (grub_cmdline_run): Use grub_normal_parse_line.
6902 (GRUB_MOD_FINI): Don't call free_handler_list.
6903 * normal/menu_entry.c (run): Likewise.
6904 * script/function.c (grub_script_function_list): Make global.
6905 (grub_script_function_iterate): Removed.
6906 * script/main.c (grub_normal_parse_line): Make global.
6907 (grub_sh_parser): Removed.
6908 (GRUB_MOD_INIT): Likewise.
6909 (GRUB_MOD_FINI): Likewise.
6910 * tests/lib/functional_test.c (grub_functional_test): Use
6911 FOR_LIST_ELEMENTS.
6912 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
6913 (grub_test_run): Use FOR_LIST_ELEMENTS.
6914 * tests/lib/unit_test.c (main): Likewise.
6915 * util/deviceiter.c (grub_util_iterate_devices): Don't use
6916 grub_list_pop.
6917 * util/grub-fstest.c (grub_term_input_class): Removed.
6918 (grub_term_output_class): Likewise.
6919 * util/grub-probe.c: Likewise.
6920 * util/i386/pc/grub-setup.c: Likewise.
6921 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6922 * util/grub-script-check.c (main): Don't call grub_init_all and
6923 grub_fini_all.
6924 * video/video.c (grub_video_adapter_list): Make global.
6925 (grub_video_register): Removed.
6926 (grub_video_unregister): Likewise.
6927 (grub_video_iterate): Likewise.
6928
6289c3a7
VS
69292010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
6932 reported by Henrique Ferreiro.
6933
91460247
RM
69342010-06-09 Robert Millan <rmh@gnu.org>
6935
6936 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
6937 ones, when both are available.
6938
0ea7c4f9
GS
69392010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6940
6941 Make --version uniform and avoid hard-coded program name.
6942
6943 * util/grub-mkimage.c (main): Use `program_name' instead of
6944 hard-coded string.
6945 * util/i386/pc/grub-setup.c (main): Likewise.
6946 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
6947 * util/grub-install.in: Save the basename of $0 in $self, and use the
6948 latter in informational messages. Use the same format for --version
6949 as the binary programs.
6950 * util/grub-mkconfig.in: Likewise.
6951 * util/grub-mkrescue.in: Likewise.
6952 * util/grub-reboot.in: Likewise.
6953 * util/grub-set-default.in: Likewise.
6954 * util/i386/efi/grub-install.in: Likewise.
6955 * util/ieee1275/grub-install.in: Likewise.
6956 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6957
e8a6f3b6
GS
69582010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6959
6960 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
6961 embedding area. Use <= instead of == when checking for non-emptiness.
6962
f4d095d7
GS
69632010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6964
6965 * configure.ac: Add `.' to the directories searched for unifont.
6966
50e532ca
CW
69672010-06-08 Colin Watson <cjwatson@ubuntu.com>
6968
6969 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
6970 grub_script.yy.h.
6971
d39f3dec
CW
69722010-06-08 Colin Watson <cjwatson@ubuntu.com>
6973
6974 * docs/grub.texi (History): Expand to cover GRUB 2.
6975 (Serial terminal): Refer to `terminal_input' and `terminal_output'
6976 commands, not `terminal'.
6977 (serial): Likewise.
6978 (terminal_input): New section.
6979 (terminal_output): New section.
6980 (uppermem): New section (stub).
6981 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
6982
6ef0ddb4
CW
69832010-06-08 Colin Watson <cjwatson@ubuntu.com>
6984
6985 * docs/grub.texi (Security): Menu entries are unrestricted by
6986 default, not restricted to superusers as I had previously thought.
6987 Reword to account for this.
6988
e0f4c438
CW
69892010-06-07 Colin Watson <cjwatson@ubuntu.com>
6990
6991 * kern/emu/misc.c (device_mapper_null_log): New function.
6992 (grub_device_mapper_supported): New function.
6993 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
6994 prototype.
6995 * kern/emu/hostdisk.c (find_partition_start): Check whether
6996 device-mapper is supported before trying to use it.
6997 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
6998
da908200
CW
69992010-06-07 Colin Watson <cjwatson@ubuntu.com>
7000
7001 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
7002 (File name syntax): Likewise.
7003 (help): --all is no longer supported in GRUB 2. Be more precise
7004 about pattern matching.
7005
fb55c3ac
CW
70062010-06-07 Colin Watson <cjwatson@ubuntu.com>
7007
7008 * normal/completion.c (grub_normal_do_completion): When completing
7009 arguments to "set" and the current word contains an equals sign,
7010 skip to after the equals sign before starting completion.
7011
258c2573
CW
70122010-06-07 Colin Watson <cjwatson@ubuntu.com>
7013
7014 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
7015
ee75515e
CW
70162010-06-07 Colin Watson <cjwatson@ubuntu.com>
7017
7018 * docs/grub.texi (Network): New section.
7019 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
7020 `(nd)' as in GRUB Legacy.
7021 (pxe_unload): New section.
7022
a6a700aa
CW
70232010-06-07 Colin Watson <cjwatson@ubuntu.com>
7024
7025 * docs/grub.texi (Troubleshooting): `echo' is not usually available
7026 in the rescue shell, so recommend using `set' instead. Thanks,
7027 Jordan Uggla.
7028
4003dd38
CW
70292010-06-07 Colin Watson <cjwatson@ubuntu.com>
7030
7031 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
7032 (password): New section.
7033 (password_pbkdf2): New section.
7034 (search): New section.
7035 (Security): New section.
7036 (Troubleshooting): New section, currently very incomplete.
7037 (Invoking grub-mkpasswd-pbkdf2): New section.
7038 (Internals): New section, currently very incomplete.
7039
e1cbcc40
CW
70402010-06-07 Colin Watson <cjwatson@ubuntu.com>
7041
7042 * util/grub.d/00_header.in: Add some more quoting (of
7043 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
7044 work again.
7045 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
7046
db8fa1ad
CW
70472010-06-07 Colin Watson <cjwatson@ubuntu.com>
7048
7049 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
7050 to `count', fixing variable shadowing that broke the -c option.
7051
70522010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
7053
7054 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
7055 in case they contain spaces.
7056
f28a9212
CW
70572010-06-04 Colin Watson <cjwatson@ubuntu.com>
7058
7059 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
7060 "part_" to partmap module names, in line with grub-install.
7061 Reported by: Jindřich Makovička (Debian bug #584426).
7062
9cdfe32f
CW
70632010-06-04 Colin Watson <cjwatson@ubuntu.com>
7064
7065 * util/grub-mkimage.c: Make target-related error messages slightly
7066 more helpful; -O talks about "format". Explicitly point to the use
7067 of -O if no target is specified.
7068 Reported by: Didier Raboud (Debian bug #584415).
7069
795b593a
CW
70702010-06-03 Colin Watson <cjwatson@ubuntu.com>
7071
7072 * INSTALL: Document several build requirements for optional features
7073 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
7074
9d9b5833
GS
70752010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7076
7077 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
7078 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
7079 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
7080
0819fec8
CW
70812010-06-02 Colin Watson <cjwatson@ubuntu.com>
7082
7083 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
7084 Thanks to Jordan Uggla for spotting this.
7085
49396b4f
VS
70862010-06-02 Aleš Nesrsta <starous@volny.cz>
7087
7088 Finally make USB usable.
7089
7090 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
7091 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
7092 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
7093 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
7094 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
7095 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
7096 (GRUB_OHCI_FSMPS): Likewise.
7097 (GRUB_OHCI_PERIODIC_START): Likewise.
7098 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
7099 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
7100 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
7101 (GRUB_OHCI_SET_PORT_RESET): Likewise.
7102 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
7103 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
7104 (grub_ohci_transaction): Likewise.
7105 (grub_ohci_transfer): Improve condition detection algorithms.
7106 Handle toggle property. Program the transactions correctly.
7107 Improve error handling. Various important fixups.
7108 (grub_ohci_portstatus): Put register writes in right order.
7109 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
7110 (grub_uhci_transfer): Don't show "failed" message on success.
7111 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
7112 array.
7113 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
7114 determine its size.
7115 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
7116 before initialization is completed. Use IN direction for empty
7117 transfers. Use last_trans and compute toggle.
7118 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
7119 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
7120 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
7121 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
7122 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
7123 (grub_usb_device): Increase toggle to 256.
7124 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
7125 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
7126 GRUB_USBMS_SUBCLASS_SFF8070.
7127 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
7128 (grub_scsi_inquiry): New member page and alloc_length.
7129 (grub_scsi_request_sense): New structure.
7130 (grub_scsi_request_sense_data): Likewise.
7131 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
7132 control.
7133 * disk/scsi.c (grub_scsi_request_sense): New function.
7134 (grub_scsi_test_unit_ready): Likewise.
7135 (grub_scsi_inquiry): Fill new fields.
7136 (grub_scsi_read_capacity): Likewise.
7137 (grub_scsi_read10): Add request sense at the end.
7138 (grub_scsi_read12): Likewise.
7139 (grub_scsi_write10): Likewise.
7140 (grub_scsi_write12): Likewise.
7141 (grub_scsi_open): Add Test Unit Ready.
7142 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
7143 Support additional subclasses. Con't clear halt yet. Activate the
7144 proper config. Calculate LUNs correctly.
7145 (grub_usbms_transfer): Various important fixups.
7146
71472010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
7150 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
7151 (grub_ohci_fini_hw): New function.
7152 (grub_ohci_restore_hw): Likewise.
7153 (GRUB_MOD_INIT(ohci)): Register preboot hook.
7154 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
7155 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
7156
71572010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 Dedicated DMA allocations.
7160
7161 * bus/pci.c (grub_memalign_dma32): New function
7162 (grub_dma_free): Likewise.
7163 (grub_dma_get_virt): Likewise.
7164 (grub_dma_get_phys): Likewise.
7165 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
7166 (grub_ohci_pci_iter): Use dma32_alloc.
7167 (grub_ohci_transfer): Likewise.
7168 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7169 (grub_usb_bulk_readwrite): Likewise.
7170 * include/grub/pci.h: Add declarations.
7171
71722010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 CS5536 support.
7175
7176 * bus/cs5536.c: New file.
7177 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
7178 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
7179 (cs5536_mod_SOURCES): New variable.
7180 (cs5536_mod_CFLAGS): Likewise.
7181 (cs5536_mod_LDFLAGS): Likewise.
7182 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
7183 machine/pci.h.
7184 (kernel_img_SOURCES): Add bus/cs5536.c.
7185 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
7186 usb_keyboard.mod.
7187 (usb_mod_SOURCES): New variable.
7188 (usb_mod_CFLAGS): New variable.
7189 (usb_mod_LDFLAGS): New variable.
7190 (usbtest_mod_SOURCES): New variable.
7191 (usbtest_mod_CFLAGS): New variable.
7192 (usbtest_mod_LDFLAGS): New variable.
7193 (ohci_mod_SOURCES): New variable.
7194 (ohci_mod_CFLAGS): New variable.
7195 (ohci_mod_LDFLAGS): New variable.
7196 (usbms_mod_SOURCES): New variable.
7197 (usbms_mod_CFLAGS): New variable.
7198 (usbms_mod_LDFLAGS): New variable.
7199 (usb_keyboard_mod_SOURCES): New variable.
7200 (usb_keyboard_mod_CFLAGS): New variable.
7201 (usb_keyboard_mod_LDFLAGS): New variable.
7202 * include/grub/smbus.h: New file.
7203 * include/grub/cs5536.h: New file.
7204
0b35b2a9
CW
72052010-06-02 Colin Watson <cjwatson@ubuntu.com>
7206
7207 * util/grub.d/00_header.in: Add safety check to make sure that
7208 ${locale_dir} exists before trying to probe it.
7209
ca0afd5b
CW
72102010-06-02 Colin Watson <cjwatson@ubuntu.com>
7211
7212 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
7213 per the GNU Coding Standards; this is now too obscure to be worth
7214 documenting.
7215 (QNX): Likewise.
7216 (chainloader): Remove cross-reference to `SCO UnixWare'.
7217
1c41aa78
CW
72182010-06-02 Colin Watson <cjwatson@ubuntu.com>
7219
7220 * docs/grub.texi (Chain-loading): New section.
7221 (DOS/Windows): New section, borrowed from GRUB Legacy with details
7222 adjusted for GRUB 2.
7223 (SCO UnixWare): Likewise.
7224 (QNX): Likewise.
7225 (chainloader): Add reference to `Block list syntax'.
7226 (drivemap): New section.
7227 (parttool): New section.
7228
bb8ea0f5
CW
72292010-06-02 Colin Watson <cjwatson@ubuntu.com>
7230
7231 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
7232 the grub shell'.
7233 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
7234 (Installing GRUB using grub-install): Remove reference to the grub
7235 shell; mention `grub-mkimage' and `grub-setup' instead.
7236 (Invoking grub-install): Likewise.
7237 (Interface): Add reference to `Menu entry editor'.
7238 (serial): Remove `--device' option.
7239
288dd6ed
CW
72402010-06-02 Colin Watson <cjwatson@ubuntu.com>
7241
7242 * docs/grub.texi (Configuration): New section, documenting
7243 configuration file generation using grub-mkconfig. I've left a slot
7244 for documenting the full shell scripting format but have not yet
7245 started on writing that up.
7246 (Invoking grub-mkconfig): New section.
7247
34c9f0e9
CW
72482010-06-02 Colin Watson <cjwatson@ubuntu.com>
7249
7250 * docs/grub.texi (direntry): Remove grub-terminfo reference.
7251 (GNU GRUB manual): Likewise.
7252 (General commands): Update description of `terminfo' for GRUB 2.
7253
9121567e
CW
72542010-06-02 Colin Watson <cjwatson@ubuntu.com>
7255
7256 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
7257 (GRUB_MOD_INIT): Fix capitalisation.
7258 * docs/grub.texi (Command-line and menu entry commands): Document
7259 gettext and gptsync commands.
7260
ab631611
CW
72612010-06-02 Colin Watson <cjwatson@ubuntu.com>
7262
7263 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
7264 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
7265
bde4a9ac
CW
72662010-06-01 Colin Watson <cjwatson@ubuntu.com>
7267
7268 Add btrfs probing support, currently only in the single-device case.
7269
7270 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
7271 function.
7272 (grub_guess_root_device): Call find_root_device_from_mountinfo
7273 before looking in /dev.
7274
b1d17e10
VS
72752010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
7278 GRUB_DISK_SIZE_UNKNOWN.
7279 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
7280
dfbfe004
JS
72812010-05-31 Jiro SEKIBA <jir@unicus.jp>
7282
7283 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
7284 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
7285 corrupted or not synced properly.
7286
c2ffc8e9
VS
72872010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7288
7289 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
7290 Reported by: Seth Goldberg.
7291
56293166
VS
72922010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
7295 addition of dest.
7296 Reported by: Seth Goldberg.
7297
7620e7de
VS
72982010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
7301 Reported by: Seth Goldberg.
7302
c837af3f
VS
73032010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
7306 64-bit address as signed on MIPS.
7307
c7c75cf4
CW
73082010-05-28 Colin Watson <cjwatson@ubuntu.com>
7309
7310 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
7311 to the empty string.
7312
fa4b8490
BC
73132010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
7314
7315 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
7316
7317 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
7318 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
7319 * kern/misc.c (__enable_execute_stack): Disable on
7320 GRUB_MACHINE_EMU.
7321
a33075b9
CW
73222010-05-28 Colin Watson <cjwatson@ubuntu.com>
7323
7324 Make grub-probe work with symbolic links under /dev/mapper as well
7325 as with real block devices. The Linux world seems to be (at best)
7326 in transition here, and GRUB shouldn't get caught in the middle.
7327
7328 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
7329 /dev/mapper.
7330
d8708134
CW
73312010-05-27 Colin Watson <cjwatson@ubuntu.com>
7332
7333 * util/grub-script-check.c (main): Ensure defined behaviour on empty
7334 input files (in which case exit zero).
7335
db2102a0
CW
73362010-05-27 Colin Watson <cjwatson@ubuntu.com>
7337
7338 * kern/emu/misc.c (canonicalize_file_name): realpath can still
7339 return NULL for various reasons even if it has a maximum-length
7340 buffer: for example, there might be a symlink loop, or the path
7341 might exceed PATH_MAX. If this happens, return NULL.
7342
5fdba519
RM
73432010-05-27 Robert Millan <rmh@gnu.org>
7344
7345 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
7346 partmap module to handle cross-partmap setups.
7347 Reported by Orestes Mas. Gràcies!
7348
d1d368e4
CW
73492010-05-27 Colin Watson <cjwatson@ubuntu.com>
7350
7351 * util/grub-mkrescue.in: Initialise override_dir rather than
7352 assuming that it's unset or empty in the environment.
7353
95ac3c73
GS
73542010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
7355
7356 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
7357 variable index into p_index to suppress a warning with -Wshadow.
7358
7d8c0213
BC
73592010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
7360
7361 * INSTALL: Added flex >= 2.5.35 requirement.
7362
db4d5813
VS
73632010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
7366
f24f4300
VS
73672010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 cmostest support.
7370
7371 * commands/i386/cmostest.c: New file.
7372 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
7373 (cmostest_mod_SOURCES): New variable.
7374 (cmostest_mod_CFLAGS): Likewise.
7375 (cmostest_mod_LDFLAGS): Likewise.
7376 * conf/i386-pc.rmk: Likewise.
7377 * docs/grub.texi (Vendor power-on keys): New section.
7378 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
7379 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
7380 and GRUB_BUTTON_CMOS_ADDRESS.
7381 * util/grub.d/00_header.in: Handle powering-on by separate button.
7382
ad603f61
VS
73832010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
7386 Removed drawing_scrollbar argument. All users updated
7387 Fixes #29792.
7388 Reported by Jo Shields
7389
3ecb080a
VS
73902010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
7393 buffer since gfxterm handles double repaint.
7394
5f2316c1
VS
73952010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
7398 * term/gfxterm.c (real_scroll): Likewise.
7399
9a25f885
VS
74002010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
7403 before calling BIOS.
7404
39fbb79a
VS
74052010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 * include/grub/i18n.h: Always enable grub_gettext.
7408
228cfa97
VS
74092010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
7412 partition naming style.
7413
21717c8f
CW
74142010-05-21 Colin Watson <cjwatson@ubuntu.com>
7415
7416 * util/grub-mkconfig.in: Fix handling of -o so that it works when
7417 not the first option.
7418
c0f48e65
CW
74192010-05-20 Colin Watson <cjwatson@ubuntu.com>
7420
7421 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
7422
96779aec
CW
74232010-05-20 Colin Watson <cjwatson@ubuntu.com>
7424
7425 * util/misc.c: Move inclusion of <limits.h> to ...
7426 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
7427
fa9d256e
GS
74282010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
7429
7430 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
7431 Fix merge error in NetBSD code.
7432 (find_partition_start) [__NetBSD__]: Likewise.
7433
123b7a85
BC
74342010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
7435
7436 Fix grub-mkrescue usage unit testing.
7437
7438 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
7439
74276c0d
CF
74402010-05-18 Christian Franke <franke@computer.org>
7441
7442 * util/grub.d/10_windows.in: Use path names instead of
7443 drive letters to prevent warning from Cygwin 1.7.
7444 Add drivemap command to menuentry if needed.
7445
c4f7b523
ST
74462010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
7447
7448 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
7449 gnumach and gnumach.gz.
7450
95b97950
VS
74512010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * include/grub/i18n.h (gettext): Inline instead of using #define.
7454 (grub_gettext): Likewise.
7455 (_): Likewise.
7456
01b8d2d7
VS
74572010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
7460 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
7461 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
7462 (main): Add a slash after pkglibdirroot.
7463
654e1d1e
VS
74642010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * util/grub-install.in: Add missing "in" keyword.
7467
26966aeb
VS
74682010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
7471 Reported by: Seth Goldberg.
7472
75006747
VS
74732010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
7476
74cbf5bd
CW
74772010-05-18 Colin Watson <cjwatson@ubuntu.com>
7478
7479 * configure.ac: Check for Linux device-mapper support.
7480
7481 * util/hostdisk.c (device_is_mapped): New function.
7482 (find_partition_start): New function, partly broken out from
7483 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
7484 device-mapper support added.
7485 (linux_find_partition): Use find_partition_start.
7486 (convert_system_partition_to_system_disk): Add `st' argument.
7487 Support Linux /dev/mapper/* devices if device-mapper support is
7488 available; only DM-RAID devices are understood at present.
7489 (find_system_device): Add `st' argument. Pass it to
7490 convert_system_partition_to_system_disk.
7491 (grub_util_biosdisk_get_grub_dev): Pass stat result to
7492 find_system_device and convert_system_partition_to_system_disk. Use
7493 find_partition_start.
7494
7495 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
7496 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
7497 * util/deviceiter.c [__linux__]: Define MINOR.
7498 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
7499 * util/mkdevicemap.c (grub_putchar): New function.
7500 (grub_getkey): New function.
7501 (grub_refresh): New function.
7502 (main): Set debug=all if -v -v is used.
7503
355b51e9
CW
75042010-05-18 Colin Watson <cjwatson@ubuntu.com>
7505
7506 Fix build with non-GNU libcs.
7507
7508 * util/misc.c (canonicalize_file_name): Move to ...
7509 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
7510 grub_make_system_path_relative_to_its_root.
7511
7fb5c25f
CW
75122010-05-18 Colin Watson <cjwatson@ubuntu.com>
7513
7514 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
7515 we handle finding grub-mkimage. Default to finding grub-mkimage in
7516 ${bindir} with program_transform_name applied, and provide a
7517 --grub-mkimage option to override this.
7518
1d3293d6
VS
75192010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7520
7521 Remove grub-mkisofs.
7522
7523 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
7524 (grub_mkisofs_SOURCES): Removed.
7525 (grub_mkisofs_CFLAGS): Removed.
7526 * util/mkisofs/defaults.h: Removed.
7527 * util/mkisofs/eltorito.c: Likewise.
7528 * util/mkisofs/exclude.h: Likewise.
7529 * util/mkisofs/hash.c: Likewise.
7530 * util/mkisofs/include/: Likewise.
7531 * util/mkisofs/include/fctldefs.h: Likewise.
7532 * util/mkisofs/include/mconfig.h: Likewise.
7533 * util/mkisofs/include/prototyp.h: Likewise.
7534 * util/mkisofs/include/statdefs.h: Likewise.
7535 * util/mkisofs/iso9660.h: Likewise.
7536 * util/mkisofs/joliet.c: Likewise.
7537 * util/mkisofs/match.c: Likewise.
7538 * util/mkisofs/match.h: Likewise.
7539 * util/mkisofs/mkisofs.c: Likewise.
7540 * util/mkisofs/mkisofs.h: Likewise.
7541 * util/mkisofs/msdos_partition.h: Likewise.
7542 * util/mkisofs/multi.c: Likewise.
7543 * util/mkisofs/name.c: Likewise.
7544 * util/mkisofs/rock.c: Likewise.
7545 * util/mkisofs/tree.c: Likewise.
7546 * util/mkisofs/write.c: Likewise.
7547
5dde9afe
VS
75482010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 Unify grub-mkimage accross platforms.
7551
7552 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
7553 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
7554 (grub_mkelfimage_SOURCES): Removed.
7555 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
7556 (util/grub-mkimage.c_DEPENDENCIES): .. this.
7557 (bin_UTILITIES): Add grub-mkimage.
7558 (grub_mkimage_SOURCES): New variable.
7559 (kernel_img_HEADERS): Remove machine/kernel.h.
7560 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
7561 (pkglib_PROGRAMS): Add kernel.img.
7562 (kernel_img_HEADERS): Add machine/kernel.h.
7563 (kernel_img_FORMAT): Removed.
7564 (bin_UTILITIES): Remove grub-mkimage.
7565 (grub_mkimage_SOURCES): Removed.
7566 (grub_mkimage_CFLAGS): Likewise.
7567 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7568 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
7569 (pkglib_PROGRAMS): Add kernel.img.
7570 (bin_UTILITIES): Remove grub-mkimage.
7571 (grub_mkimage_SOURCES): Removed.
7572 (grub_mkimage_CFLAGS): Likewise.
7573 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7574 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
7575 (pkglib_PROGRAMS): Add kernel.img.
7576 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
7577 (pkglib_PROGRAMS): Add kernel.img.
7578 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
7579 (grub_mkimage_SOURCES): Removed.
7580 (grub_mkimage_CFLAGS): Likewise.
7581 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7582 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
7583 (pkglib_PROGRAMS): Add kernel.img.
7584 (bin_UTILITIES): Remove grub-mkimage.
7585 (grub_mkimage_SOURCES): Removed.
7586 (grub_mkimage_CFLAGS): Likewise.
7587 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7588 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
7589 (grub_mkimage_SOURCES): Removed.
7590 (grub_mkimage_CFLAGS): Likewise.
7591 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7592 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
7593 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
7594 (grub_pe32_optional_header): ... this.
7595 (grub_pe64_optional_header): ... and this. All users updated.
7596 (GRUB_PE32_PE32_MAGIC): Split into ..
7597 (GRUB_PE32_PE32_MAGIC): .. this.
7598 (GRUB_PE32_PE64_MAGIC): .. and this.
7599 (GRUB_PE32_SIGNATURE_SIZE): New definition.
7600 * include/grub/elf.h (PT_GNU_STACK): New definition.
7601 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
7602 * include/grub/i386/efi/kernel.h: Likewise.
7603 * include/grub/i386/kernel.h: Likewise.
7604 * include/grub/i386/pc/kernel.h: Likewise.
7605 * include/grub/i386/qemu/boot.h: Likewise.
7606 * include/grub/mips/kernel.h: Likewise.
7607 * include/grub/mips/qemu-mips/kernel.h: Likewise.
7608 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7609 * include/grub/powerpc/kernel.h: Likewise.
7610 * include/grub/sparc64/ieee1275/boot.h: Likewise.
7611 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7612 * include/grub/sparc64/kernel.h: Likewise.
7613 * include/grub/x86_64/efi/kernel.h: Likewise.
7614 * include/grub/x86_64/kernel.h: Likewise.
7615 * include/grub/offsets.h: New file.
7616 * include/grub/kernel.h (grub_module_info): Split into ...
7617 (grub_module_info32): ... this.
7618 (grub_module_info64): ... and this.
7619 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
7620 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
7621 (grub_boot_blocklist): Moved from here ...
7622 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
7623 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
7624 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
7625 * include/grub/types.h (grub_target_to_host16): Removed.
7626 (grub_target_to_host32): Likewise.
7627 (grub_target_to_host64): Likewise.
7628 (grub_host_to_target16): Likewise.
7629 (grub_host_to_target32): Likewise.
7630 (grub_host_to_target64): Likewise.
7631 (grub_host_to_target_addr): Likewise.
7632
7633 Support grub-mkrescue for efi, coreboot and qemu.
7634
7635 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
7636 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
7637 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
7638 * util/grub-mkrawimage.c: Moved from here ...
7639 * util/grub-mkimage.c: ... here. All users updated.
7640 (ALIGN_ADDR): Use image_target.
7641 (TARGET_NO_FIELD): New const.
7642 (image_target_desc): New type.
7643 (image_targets): New array.
7644 (grub_target_to_host64): Use image_target.
7645 (grub_target_to_host32): Likewise.
7646 (grub_target_to_host16): Likewise.
7647 (grub_host_to_target64): Likewise.
7648 (grub_host_to_target32): Likewise.
7649 (grub_host_to_target16): Likewise.
7650 (grub_host_to_target_addr): Likewise.
7651 (generate_image): Handle multiimage.
7652 (main): Require -O parameter. All users updated.
7653 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
7654 util/efi/grub-mkimage.c
7655 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
7656 New option --rom-directory.
7657 Use xorriso.
7658 * util/i386/efi/grub-mkimage.c: Removed.
7659 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
7660 (grub_target_to_host32): Likewise.
7661 (grub_target_to_host64): Likewise.
7662 (grub_host_to_target16): Likewise.
7663 (grub_host_to_target32): Likewise.
7664 (grub_host_to_target64): Likewise.
7665 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
7666 (grub_target_to_host32): Likewise.
7667 (grub_target_to_host64): Likewise.
7668 (grub_host_to_target16): Likewise.
7669 (grub_host_to_target32): Likewise.
7670 (grub_host_to_target64): Likewise.
7671
f4fc97d0
BC
76722010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
7673
7674 Source tree is reorganized for emu build.
7675
7676 * include/grub/util/console.h: Move from here...
7677 * include/grub/emu/console.h: ...to here.
7678 * include/grub/util/getroot.h: Move from here...
7679 * include/grub/emu/getroot.h: ...to here.
7680 * include/grub/util/hostdisk.h: Move from here...
7681 * include/grub/emu/hostdisk.h: ...to here.
7682 * util/console.c: Move from here...
7683 * kern/emu/console.c: ...to here.
7684 * util/getroot.c: Move from here...
7685 * kern/emu/getroot.c: ...to here.
7686 * util/grub-emu.c: Move from here...
7687 * kern/emu/main.c: ...to here.
7688 * util/hostdisk.c: Move from here...
7689 * kern/emu/hostdisk.c: ...to here.
7690 * util/hostfs.c: Move from here...
7691 * kern/emu/hostfs.c: ...to here.
7692 * util/mm.c: Move from here...
7693 * kern/emu/mm.c: ...to here.
7694 * util/pci.c: Move from here...
7695 * bus/emu/pci.c: ...to here.
7696 * util/sdl.c: Move from here...
7697 * video/emu/sdl.c: ...to here.
7698 * util/time.c: Move from here...
7699 * kern/emu/time.c: ...to here.
7700 * util/usb.c: Move from here...
7701 * bus/usb/emu/usb.c: ...to here.
7702
7703 * include/grub/emu/misc.h: New header for grub-emu functions.
7704 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
7705
7706 * conf/any-emu.rmk: Rule updates for above renames.
7707 * conf/common.rmk: Likewise.
7708 * conf/i386-pc.rmk: Likewise.
7709 * conf/i386-qemu.rmk: Likewise.
7710 * conf/mips.rmk: Likewise.
7711 * conf/sparc64-ieee1275.rmk: Likewise.
7712 * conf/x86-efi.rmk: Likewise.
7713
7714 * disk/lvm.h: #include updates for above renames.
7715 * util/grub-mkrelpath.c: Likewise.
7716 * util/grub-probe.c: Likewise.
7717 * util/i386/pc/grub-setup.c: Likewise.
7718 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7719 * kern/emu/console.c: Likewise.
7720 * kern/emu/getroot.c: Likewise.
7721 * kern/emu/hostdisk.c: Likewise.
7722 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
7723
7724 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
7725 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
7726 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
7727 * util/misc.c: Remove grub-emu functions.
7728
cced9145
VS
77292010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7730
7731 Fix gfxmenu crash.
7732 Reported by: Thorsten Grützmacher.
7733
7734 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
7735 timeout hook.
7736 (circprog_set_property): Register and unregister timeout hook.
7737 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
7738 (label_destroy): Free template. and unregister hook.
7739 (label_set_state): New function.
7740 (label_set_property): Handle templates and hooks.
7741 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
7742 timeout hook.
7743 (progress_bar_set_property): Register and unregister timeout hook.
7744 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
7745 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
7746 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
7747 (update_timeout_visit): Removed.
7748 (update_timeouts): New function.
7749 (redraw_timeouts): Likewise.
7750 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
7751 (grub_gfxmenu_clear_timeout): Likewise.
7752 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
7753 (grub_gfxmenu_timeout_notify): Likewise.
7754 (grub_gfxmenu_timeout_notifications): New external variable.
7755 (grub_gfxmenu_timeout_register): New function.
7756 (grub_gfxmenu_timeout_unregister): Likewise.
7757
c6e5caab
VS
77582010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 Transform (broken) vga terminal into (working) vga video driver.
7761
7762 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
7763 video/i386/pc/vga.c.
7764 * include/grub/video.h (grub_video_driver_id):
7765 Add GRUB_VIDEO_DRIVER_VGA.
7766 * term/i386/pc/vga.c: Renamed to ...
7767 * video/i386/pc/vga.c: ...this
7768 (DEBUG_VGA): Removed.
7769 (CHAR_WIDTH): Likewise.
7770 (CHAR_HEIGHT): Likewise.
7771 (TEXT_WIDTH): Likewise.
7772 (TEXT_HEIGHT): Likewise.
7773 (DEFAULT_FG_COLOR): Likewise.
7774 (DEFAULT_BG_COLOR): Likewise.
7775 (colored_char): Likewise.
7776 (xpos): Likewise.
7777 (ypos): Likewise.
7778 (cursor_state): Likewise.
7779 (fg_color): Likewise.
7780 (bg_color): Likewise.
7781 (text_buf): Likewise.
7782 (page): Likewise.
7783 (font): Likewise.
7784 (framebuffer): New variable.
7785 (set_read_map): Disabled.
7786 (setup): New variable.
7787 (is_target): Likewise.
7788 (grub_vga_mod_init): Likewise.
7789 (grub_vga_mod_fini): Likewise.
7790 (check_vga_mem): Likewise.
7791 (write_char): Likewise.
7792 (write_cursor): Likewise.
7793 (scroll_up): Likewise.
7794 (grub_vga_putchar): Likewise.
7795 (grub_vga_getcharwidth): Likewise.
7796 (grub_vga_getwh): Likewise.
7797 (grub_vga_getxy): Likewise.
7798 (grub_vga_gotoxy): Likewise.
7799 (grub_vga_cls): Likewise.
7800 (grub_vga_setcolorstate): Likewise.
7801 (grub_vga_setcursor): Likewise.
7802 (grub_video_vga_init): New function.
7803 (grub_video_vga_setup): Likewise.
7804 (grub_video_vga_fini): Likewise.
7805 (update_target): Likewise.
7806 (grub_video_vga_blit_bitmap): Likewise.
7807 (grub_video_vga_blit_render_target): Likewise.
7808 (grub_video_vga_set_active_render_target): Likewise.
7809 (grub_video_vga_get_active_render_target): Likewise.
7810 (grub_video_vga_swap_buffers): Likewise.
7811 (grub_video_vga_set_palette): Likewise.
7812 (grub_video_vga_get_info_and_fini): Likewise.
7813 (grub_vga_term): Removed.
7814 (grub_video_vga_adapter): New variable.
7815 (GRUB_MOD_INIT): Register a video driver instead of terminal.
7816 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
7817
2bf61a98
VS
78182010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * video/readers/jpeg.c: Indented.
7821
09ddcd11
VS
78222010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 Various jpeg cleanups.
7825
7826 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
7827 (grub_jpeg_decode_quan_table): Use sizeof.
7828 (grub_jpeg_decode_du): Use ARRAY_SIZE.
7829
e5507505
PH
78302010-05-05 Peter Hurley <No e-mail available> (tiny change)
7831
7832 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
7833 tables. Ignore non-last ac bit.
7834 (grub_jpeg_decode_quan_table): Likewise.
7835
7e720a9b
VS
78362010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7839 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
7840 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7841 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
7842 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
7843 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
7844
a7fc080b
VS
78452010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
7848 error.
7849
2bf6012d
VS
78502010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7851
7852 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
7853
265d68cd
VS
78542010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
7857 condition.
7858
78592010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
7860
7861 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
7862 part.
7863
265d68cd 78642010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
7865
7866 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
7867 pointers.
7868
265d68cd 78692010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
7870
7871 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
7872
d1b61374
CF
78732010-05-01 Christian Franke <franke@computer.org>
7874
7875 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
7876 Remove broken Cygwin path conversion.
7877 * util/misc.c: [__CYGWIN__] Add include and define.
7878 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
7879 for Cygwin 1.7.
7880 (make_system_path_relative_to_its_root): Simplify loop, replace early
7881 return by break.
7882 [__CYGWIN__] Add conversion to win32 path.
7883 Include "/" case in trailing slash removal.
7884
3558c6e9
VS
78852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 * kern/main.c (grub_load_config): Fix copy-pasted comment.
7888 Reported by: Seth Goldberg
7889
f5f3ff93
VS
78902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 * commands/help.c (grub_cmd_help): Fix a typo.
7893 Reported by: Seth Goldberg
7894
d8b5cd40
VS
78952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
7898 name and add N_.
7899 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
7900 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
7901 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
7902 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
7903 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
7904 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
7905 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
7906 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
7907 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
7908 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
7909 * normal/context.c (GRUB_MOD_INIT): Likewise.
7910 * normal/main.c (GRUB_MOD_INIT): Likewise.
7911 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
7912 * term/serial.c (GRUB_MOD_INIT): Likewise.
7913 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
7914
88c14915
VS
79152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7916
7917 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
7918 extra == 0.
7919
165134bc
VS
79202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * commands/iorw.c: New file.
7923 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
7924 (iorw_mod_SOURCES): New variable.
7925 (iorw_mod_CFLAGS): Likewise.
7926 (iorw_mod_LDFLAGS): Likewise.
7927
c5ac9b32
VS
79282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 Hotkey support
7931
7932 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
7933 * normal/main.c (hotkey_aliases): New variable.
7934 (grub_normal_add_menu_entry): Parse "--hotkey".
7935 * normal/menu_text.c (run_menu): Handle hotkeys.
7936
ce60689c
VS
79372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * kern/i386/coreboot/init.c (grub_machine_init): Call
7940 grub_machine_mmap_init on qemu.
7941
0359d006
VS
79422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * boot/i386/qemu/boot.S: Add a missing .code16.
7945
7819a456
VS
79462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 Use LBIO on coreboot.
7949
7950 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
7951 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
7952 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
7953 New declaration.
7954 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
7955 grub_machine_mmap_init on coreboot.
7956 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
7957 GRUB_LINUXBIOS_MEMBER_LINK.
7958 (grub_machine_mmap_iterate): Fix declaration.
7959 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
7960
7210dca9
VS
79612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7962
7963 Split coreboot and multiboot ports.
7964
7965 * conf/i386-multiboot.rmk: New file.
7966 * configure.ac: Add multiboot port.
7967 * include/grub/i386/multiboot/boot.h: New file.
7968 * include/grub/i386/multiboot/console.h: Likewise.
7969 * include/grub/i386/multiboot/init.h: Likewise.
7970 * include/grub/i386/multiboot/kernel.h: Likewise.
7971 * include/grub/i386/multiboot/loader.h: Likewise.
7972 * include/grub/i386/multiboot/memory.h: Likewise.
7973 * include/grub/i386/multiboot/serial.h: Likewise.
7974 * include/grub/i386/multiboot/time.h: Likewise.
7975 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
7976 * loader/multiboot.c: Likewise.
7977 * loader/multiboot_mbi2.c: Likewise.
7978 * util/grub-mkrescue.in: Generate multiboot rescue.
7979
6f8aaf68
VS
79802010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7981
3080f7a7
VS
7982 * kern/parser.c (grub_parser_execute): Cope with read-only config.
7983
79842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
7987
7988 * commands/terminal.c (abstract_terminal): New struct.
7989 (handle_command): New function. Based on grub_cmd_terminal_input.
7990 (grub_cmd_terminal_input): Use handle_command.
7991 (grub_cmd_terminal_output): Use handle_command.
7992
a8ebb841
BC
79932010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
7994
7995 Fix comment handling.
7996
7997 * tests/grub_script_comments.in: New testcase.
7998 * conf/tests.rmk: Rules for new testcase.
7999 * script/yylex.l: Updated flex rules.
8000
bb06ba08
ST
80012010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
8002
8003 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
8004 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
8005 if argc is 1.
bb06ba08 8006
cc9d2425
VS
80072010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8010 autogen issues.
8011
460d8402
CF
80122010-04-26 Christian Franke <franke@computer.org>
8013
8014 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
8015 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
8016 (grub_get_prefix): Remove function.
8017 * util/grub-emu.c (main): Replace grub_get_prefix () call by
8018 make_system_path_relative_to_its_root ().
8019 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8020
553c01f9
CF
80212010-04-24 Christian Franke <franke@computer.org>
8022
8023 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
8024 (kernel_img_LDFLAGS): Remove -static-libgcc.
8025
2aec1692
CF
80262010-04-24 Christian Franke <franke@computer.org>
8027
8028 * configure.ac: Do not CHECK_BSS_START_SYMBOL
8029 and CHECK_END_SYMBOL if grub-emu is built.
8030 Unset TARGET_OBJ2ELF if grub-emu is built
8031 without module support.
8032
f67dc308
JS
80332010-04-24 Jiro SEKIBA <jir@unicus.jp>
8034
8035 Nilfs2 support.
8036
8037 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
8038 (grub_fstest_SOURCES): Likewise.
8039 (pkglib_MODULES): Add nilfs2.mod.
8040 (nilfs2_mod_SOURCES): New variable.
8041 (nilfs2_mod_CFLAGS): Likewise.
8042 (nilfs2_mod_LDFLAGS): Likewise.
8043 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8044 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8045 * fs/nilfs2.c: New file.
8046
4ba8d354
VS
80472010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
8050 is not supported.
8051
0d2c20c6
GS
80522010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
8053
8054 Add grub-mkconfig support for NetBSD.
8055
8056 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
8057 * util/grub-mkconfig.in: export new NetBSD specific variables.
8058 * po/POTFILES-shell: added 10_netbsd.in.
8059 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
8060
bc4a2d83
BC
80612010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
8062
8063 Fix emu build with grub-emu-pci and grub-emu-modules.
8064
8065 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
8066 functions.
8067 * include/grub/libpciaccess.h: New file.
8068 * conf/any-emu.rmk: Update kernel headers for emu build.
8069
f48c87aa
VS
80702010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8071
8072 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
8073
18959385
VS
80742010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
8077
0037de3f
VS
80782010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8079
8080 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
8081 Retrieve chosen/bootpath if bootpath isn't hardcoded.
8082 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
8083 util/ieee1275/ofpath.c.
8084 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
8085 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
8086 * include/grub/sparc64/ieee1275/boot.h
8087 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
8088 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
8089 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
8090 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
8091 const char *.
8092 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
8093 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
8094 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
8095 install.
8096
38e55e90
GS
80972010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8098
8099 * util/grub-mkconfig.in: Corrected two == equality tests.
8100 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
8101 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
8102 expect a number appended to it.
8103 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
8104 expects a number appended to it.
8105
a9e6ff28
VS
81062010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
8109
0b830b8f
VS
81102010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8111
8112 * util/hostdisk.c (make_device_name): Change to new partition naming.
8113
0973daeb
VS
81142010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
8117
460d8402 81182010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
8119
8120 * Makefile.in: Add missing localedir setting.
8121
0b456309
CW
81222010-04-14 Colin Watson <cjwatson@ubuntu.com>
8123
8124 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
8125 mistake in r2156. Noticed by Anthony Fok.
8126
8127 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
8128 @localedir@.
8129 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8130
08f46d62
BC
81312010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
8132
8133 Fix a spurious, uninitialized variable warning.
8134
8135 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
8136 Initialize variable, shdr.
8137 (grub_freebsd_load_elfmodule): Likewise.
8138 (grub_freebsd_load_elf_meta): Likewise.
8139
8c4a72d4
BC
81402010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
8141
8142 Fix for escaped dollar in double quoted strings.
8143
8144 * script/yylex.l: Updated flex rules.
8145 * conf/tests.rmk: Rule for new testcase.
8146 * tests/grub_script_dollar.in: New testcase.
8147
ce44826e
CPE
81482010-04-13 Carles Pina i Estany <carles@pina.cat>
81492010-04-13 Colin Watson <cjwatson@ubuntu.com>
8150
8151 Enclose all translated strings in grub.cfg in single quotes, and
8152 escape them appropriately (Ubuntu bug #552921).
8153
8154 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
8155 * util/grub.d/10_hurd.in: Use it.
8156 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8157 * util/grub.d/10_linux.in (linux_entry): Likewise.
8158
4b0cd8f8
VS
81592010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 Fix cygwin compilation.
8162
8163 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
8164 * include/grub/misc.h (__register_frame_info)
8165 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
8166 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8167 * kern/misc.c (__register_frame_info)
8168 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
8169 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8170
01fcf061
VS
81712010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
8174
5d04b11e
VS
81752010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 Unify libgcc processing.
8178
8179 * Makefile.in (kernel_img_LDFLAGS): New variable.
8180 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
8181 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
8182 overwriting.
8183 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
8184 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
8185 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
8186 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
8187 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
8188 overwriting. Remove -lgcc and -static-libgcc
8189 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
8190 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8191 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8192 (kernel_img_LDFLAGS): Append instead of overwriting.
8193 Remove -lgcc and -static-libgcc
8194 * conf/sparc64-ieee1275.rmk: Likewise.
8195 * include/grub/powerpc/libgcc.h: Move to ...
8196 * include/grub/libgcc.h: .. this.
8197 * include/grub/libgcc.h: Don't export most of the function on x86.
8198 (__bswapsi2): New export.
8199 (__bswapdi2): Likewise.
8200 * include/grub/mips/libgcc.h: Removed.
8201 * include/grub/sparc64/libgcc.h: Likewise.
8202
b7f3ac29
VS
82032010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
8206 disk_info_msg (conflicts with gettexting into languages with cases).
8207
2c7031b1
GS
82082010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8209
8210 Add grub-probe support for NetBSD.
8211
8212 * util/getroot.c (find_root_device): Convert block device to
8213 character device on NetBSD.
8214 * util/probe.c (probe): Require character device on NetBSD.
8215 * util/hostdisk.c: NetBSD specific headers.
8216 (configure_device_driver): new function to tune device driver
8217 parameters (currently only for NetBSD floppy driver).
8218 (grub_util_biosdisk_open): NetBSD specific code (get disk size
8219 via disklabel ioctl).
8220 (open_device): call configure_device_driver on NetBSD.
8221 (convert_system_partition_to_system_disk): NetBSD specific code.
8222 (device_is_wholedisk): Likewise.
8223 (grub_util_biosdisk_get_grub_dev): Likewise.
8224 (make_device_name): Fixed a typo in bsd_part_str.
8225 * configure.ac: check for opendisk() and getrawpartition() on
8226 NetBSD and set LIBUTIL.
8227 * Makefile.in: add LIBUTIL to LIBS.
8228
f516290c
BC
82292010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8230
8231 Documentation fix.
8232
8233 * util/grub-script-check.c: Better help message.
8234
d8dcc0df
BC
82352010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8236
8237 Fix FreeBSD build.
8238
8239 * configure.ac: Flex version check.
8240 * conf/common.rmk: Add -Wno-error to sh.mod.
8241 * script/yylex.l: Remove all #pragma.
8242
6734334a
VS
82432010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * include/grub/util/misc.h (canonicalise_file_name): Add missing
8246 prototype.
8247 Reported by: Seth Goldberg.
8248
daea6abd
VS
82492010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
8252 Rename "module" to "module2".
8253 Reported by: Seth Goldberg.
8254
f2fd9d2b
VS
82552010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
8258 EXPORT_FUNC.
8259 Reported by: Seth Goldberg.
8260
be124579
VS
82612010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * lib/posix_wrap/locale.h: Add missing file.
8264 Reported by: Seth Goldberg.
8265
ef5da797
VS
82662010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 grub-emu module load support.
8269
8270 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
8271 NO_DYNAMIC_MODULES switched to this.
8272 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
8273 (CFLAGS): Likewise.
8274 * conf/any-emu.rmk: Generate symlist.
8275 (kernel_img_HEADERS): Add util/datetime.h.
8276 (kernel_img_HEADERS) [sdl]: Add sdl.h.
8277 (kernel_img_HEADERS) [libusb]: Add libusb.h.
8278 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
8279 kern/$(target_cpu)/cache.S.
8280 * configure.ac (grub-emu-modules): New option.
8281 * genmk.rb: Handle multiple source lists.
8282 * include/grub/sdl.h: New file.
8283 * include/grub/libusb.h: Likewise.
8284 * util/grub-emu.c (main): Hanle (host) root.
8285 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
8286 GRUB_ERR_UNKNOWN_DEVICE.
8287 * util/misc.c: Move mm functions to ...
8288 * util/mm.c: ... here. All users updated.
8289
47822096
VS
82902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
8293 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
8294 missing files.
8295 (maintainer-clean): Remove libgcrypt-grub.
8296
5d7e7445
VS
82972010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
8300
25f4e252
EC
83012010-04-09 EFI Coder <eficoder@hotmail.com>
8302
8303 * normal/menu_text.c (print_message): Clean up the message and show
8304 the Fn information when on EFI
8305 * term/efi/console.c (grub_console_checkkey): Add F4 support.
8306
027de555
VS
83072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
8310 All users updated.
8311 * normal/crypto.c (read_crypto_list): Likewise.
8312 * normal/dyncmd.c (read_command_list): Likewise.
8313 * normal/term.c (read_terminal_list): Likewise.
8314 * normal/main.c (read_lists): Use explicit prefix.
8315 (read_lists_hook): Use read_lists.
8316 (grub_normal_execute): Likewise.
8317
47779711
VS
83182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
8321 Reported by: Thomas Schmitt.
8322 Add -no-emul-boot to grub-mkisofs parameters.
8323
1118c32e
VS
83242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8325
8326 * font/font.c: Indented.
8327
7d652447
BC
83282010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
8329
8330 Elif support to GRUB script (by Deepak Vankadaru).
8331
8332 * tests/grub_script_if.in: New testcase.
8333 * conf/tests.rmk: Rule for new testcase.
8334 * script/parser.y: Grammar rules for elif.
8335
34bb22df
BC
83362010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
8337
8338 While and until loops support to GRUB script.
8339
8340 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
8341 (grub_script_create_cmdwhile): New function prototype.
8342 (grub_script_execute_cmdwhile): New function prototype.
8343 * script/execute.c (grub_script_execute_cmdwhile): New function.
8344 * script/parser.y (command): New commands.
8345 (whilecmd): New grammar rule.
8346 (untilcmd): New grammar rule.
8347 * script/script.c (grub_script_create_cmdwhile): New function.
8348 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
8349 function.
8350
8351 * tests/grub_script_while1.in: New testcase.
8352 * conf/tests.rmk: Rule for new testcase.
8353
e215d8e0
VS
83542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8355
8356 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
8357 as *.jpg.
8358
d7c43ba1
MV
83592010-04-09 Mario Vazquez <mariovazq@gmail.com>
8360
8361 GRUB_BACKGROUND support.
8362
8363 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
8364 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
8365
d64795c0
VS
83662010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 8369 Idea by: Mario Vazquez
d64795c0
VS
8370
8371 * util/grub.d/00_header.in: Load pf2 and image modules.
8372
f267f83a
VS
83732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 grub-mkconfig multiple terminal support.
8376
8377 * util/grub-mkconfig.in: Handle multiple terminals correctly.
8378 * util/grub.d/00_header.in: Likewise.
8379
b7841ceb
VS
83802010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 * Makefile.in: Specify files explicitly instead of using $< and $@ since
8383 we use cd $(srcdir).
8384
df60998c
CW
83852010-04-08 Colin Watson <cjwatson@ubuntu.com>
8386
8387 * util/grub.d/10_linux.in: Only use the first word of
8388 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
8389 spaces in GRUB_DISTRIBUTOR.
8390 * util/grub.d/10_kfreebsd.in: Likewise.
8391 * util/grub.d/10_hurd.in: Likewise.
8392
fa09c82e
BC
83932010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
8394
14e18ae3 8395 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
8396
8397 * tests/util/grub-shell.in: Remove -serial stdio option.
8398
daf892b3
BC
83992010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 POSIX header file wrappers.
8402
8403 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
8404 equivalents.
8405 * lib/posix_wrap/ctype.h: Likewise.
8406 * lib/posix_wrap/errno.h: Likewise.
8407 * lib/posix_wrap/langinfo.h: Likewise.
8408 * lib/posix_wrap/limits.h: Likewise.
8409 * lib/posix_wrap/localcharset.h: Likewise.
8410 * lib/posix_wrap/stdint.h: Likewise.
8411 * lib/posix_wrap/stdio.h: Likewise.
8412 * lib/posix_wrap/stdlib.h: Likewise.
8413 * lib/posix_wrap/string.h: Likewise.
8414 * lib/posix_wrap/sys/types.h: Likewise.
8415 * lib/posix_wrap/unistd.h: Likewise.
8416 * lib/posix_wrap/wchar.h: Likewise.
8417 * lib/posix_wrap/wctype.h: Likewise.
8418 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
8419 (grub_script.yy.h): Likewise.
8420 * script/yylex.l: Remove POSIX emulation #defines.
8421 * Makefile.in (POSIX_CFLAGS): New variable.
8422 (GNULIB_UTIL_CFLAGS): Likewise.
8423
8424 Regexp support.
8425
8426 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
8427 (regexp_mod_SOURCES): New variable.
8428 (regexp_mod_CFLAGS): Likewise.
8429 (regexp_mod_LDFLAGS): Likewise.
8430 * commands/regexp.c: New file.
8431 * gnulib/regcomp.c: New file. Imported from gnulib.
8432 * gnulib/regex.c: Likewise.
8433 * gnulib/regex_internal.c: Likewise.
8434 * gnulib/regex_internal.h: Likewise.
8435 * gnulib/regexec.c: Likewise.
8436 * gnulib/regex.h: Likewise.
8437
974ac4f7
VS
84382010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
8441 unsupported video mode types.
8442
2622c3ff
VS
84432010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
8446
064cb524
VS
84472010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8448
8449 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
8450 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
8451
a8c3b552
VS
84522010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8453
8454 Remove unused grub_vga_get_font.
8455
8456 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
8457 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
8458
187bbe3d
GS
84592010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8460
8461 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
8462 * include/grub/misc.h: Likewise.
8463
b9396631
GS
84642010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8465
8466 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
8467 for which failure is fatal.
8468
50479feb
GS
84692010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8470
8471 * util/grub-install.in: Use mkdir -p to create grub directory.
8472 * util/i386/efi/grub-install.in: Likewise.
8473 * util/ieee1275/grub-install.in: Likewise.
8474
b1654fdf
GS
84752010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8476
8477 * Makefile.in (LEX): new variable.
8478
bd5a6415
GS
84792010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8480
8481 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
8482 `=' and added double quotes on operands of this equality test.
8483
3db3a82b
VS
84842010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 * Makefile.in (uninstall): Remove a leftover debug echo.
8487 Reported by: Grégoire Sutre
8488
38023412
VS
84892010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
8490
8491 MIPS multiboot2 support.
8492
8493 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
8494 (multiboot2_mod_SOURCES): New variable.
8495 (multiboot2_mod_CFLAGS): Likewise.
8496 (multiboot2_mod_LDFLAGS): Likewise.
8497 (multiboot2_mod_ASFLAGS): Likewise.
8498 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
8499 definition.
8500 (MULTIBOOT_ENTRY_REGISTER): Likewise.
8501 (MULTIBOOT_MBI_REGISTER): Likewise.
8502 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
8503 (MULTIBOOT_ELF32_MACHINE): Likewise.
8504 (MULTIBOOT_ELF64_MACHINE): Likewise.
8505 * include/grub/mips/multiboot.h: New file.
8506 * include/grub/video.h (grub_video_driver_id): New type
8507 GRUB_VIDEO_DRIVER_SM712.
8508 (grub_video_get_info_and_fini): Export.
8509 (grub_video_get_palette): Likewise.
8510 (grub_video_get_driver_id): Likewise.
8511 * include/multiboot2.h: Resynced with spec.
8512 * loader/i386/multiboot.c: Moved from here ...
8513 * loader/multiboot.c: ... here. All users updated.
8514 (grub_multiboot_boot): Use platform-specific macros.
8515 * loader/i386/multiboot_elfxx.c: Moved from here ...
8516 * loader/multiboot_elfxx.c: ... here. All users updated.
8517 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
8518 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
8519 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
8520
47674667
VS
85212010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 Import gnulib argp module.
8524
8525 * gnulib/argp-ba.c: New file.
8526 * gnulib/argp-eexst.c: Likewise.
8527 * gnulib/argp-fmtstream.c: Likewise.
8528 * gnulib/argp-fmtstream.h: Likewise.
8529 * gnulib/argp-fs-xinl.c: Likewise.
8530 * gnulib/argp-help.c: Likewise.
8531 * gnulib/argp-namefrob.h: Likewise.
8532 * gnulib/argp-parse.c: Likewise.
8533 * gnulib/argp-pin.c: Likewise.
8534 * gnulib/argp-pv.c: Likewise.
8535 * gnulib/argp-pvh.c: Likewise.
8536 * gnulib/argp-version-etc.c: Likewise.
8537 * gnulib/argp-version-etc.h: Likewise.
8538 * gnulib/argp-xinl.c: Likewise.
8539 * gnulib/argp.h: Likewise.
8540
495442ed
VS
85412010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * kern/device.c (grub_device_iterate): Clear errors after failed
8544 opening device.
8545
f9fd65df
VS
85462010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
8549 returned by firmware.
8550
af09641e
VS
85512010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
8554 compilation on coreboot and qemu
8555
016883a5
VS
85562010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8557
8558 * include/multiboot2.h: Resync with spec.
8559
f97e1f7d
VS
85602010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 Multiboot2 tag support
8563
8564 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
8565 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
8566 Remove loader/multiboot_loader.c.
8567 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
8568 (grub_multiboot2_real_boot): Likewise.
8569 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
8570 (grub_get_multiboot_mmap_count): New proto.
8571 (grub_fill_multiboot_mmap): Likewise.
8572 (grub_multiboot_set_video_mode): Likewise.
8573 (grub_multiboot_set_console): Likewise.
8574 (grub_multiboot_load): Likewise.
8575 (grub_multiboot_load_elf): Likewise.
8576 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
8577 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
8578 * include/multiboot.h: Resynced with specification.
8579 * include/multiboot2.h: Resynced with specification.
8580 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
8581 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
8582 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
8583 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
8584 users updated.
8585 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
8586 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
8587 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
8588 Removed.
8589 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
8590 Moved from here...
8591 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
8592 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8593 Moved from here...
8594 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
8595 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
8596 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
8597 All users updated.
8598 * loader/i386/multiboot_mbi2.c: New file.
8599
3506b90b
VS
86002010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8601
8602 Resync with gnulib.
8603
8604 * Makefile.in (GNULIB_CFLAGS): New variable.
8605 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
8606 (grub_script_check_CFLAGS): New variable.
8607 * gnulib/alloca.h: Resync with gnulib.
8608 * gnulib/error.c: Likewise.
8609 * gnulib/error.h: Likewise.
8610 * gnulib/fnmatch.c: Likewise.
8611 * gnulib/fnmatch_loop.c: Likewise.
8612 * gnulib/getdelim.c: Likewise.
8613 * gnulib/getline.c: Likewise.
8614 * gnulib/getopt.c: Likewise.
8615 * gnulib/getopt1.c: Likewise.
8616 * gnulib/getopt_int.h: Likewise.
8617 * gnulib/gettext.h: Likewise.
8618 * gnulib/progname.c: Likewise.
8619 * gnulib/progname.h: Likewise.
8620
394a3120
GS
86212010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
8622
8623 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
8624 which is the case with --disabled-nls.
8625
8626 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
8627 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
8628 * util/misc.c: Likewise.
8629 * util/mkisofs/mkisofs.c: Likewise.
8630 * util/mkisofs/mkisofs.h: Likewise.
8631
969d1c78
VS
86322010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 Simplify Apple CC support.
8635
8636 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
8637 Add 0 byte at the end not to have a symbol with empty target.
8638 * mmap/i386/pc/mmap_helper.S: Likewise.
8639 * genmk.rb: Ignore errors 2030 and 2050.
8640 * kern/i386/pc/startup.S: Use LOCAL when possible.
8641
8d2977bb
BC
86422010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
8643
8644 Testcase and the fix for final semicolon on cmdline.
8645
8646 * tests/grub_script_final_semicolon.in: New testcase.
8647 * conf/tests.rmk: Rules for the new testcase.
8648 * script/parser.y: Grammar fix.
8649
a7bd6915
BC
86502010-03-26 BVK Chaitanya <bvk@localhost>
8651
8652 Blank lines testcase for GRUB script.
8653
8654 * tests/grub_script_blanklines.in: New testcase.
8655 * conf/tests.rmk: Rules for the new testcase.
8656
e4ff6628
VS
86572010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 Don't use __FILE__.
8660
8661 * genmk.rb: Add -DGRUB_FILE to all C targets.
8662 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
8663 * include/grub/list.h: Likewise.
8664 * include/grub/misc.h: Likewise.
8665 * include/grub/mm.h: Likewise.
8666 * include/grub/test.h: Likewise.
8667 * kern/mm.c: Likewise.
8668 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
8669
6a5cf6b6
VS
86702010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8671
8672 Sunpc partitions support.
8673
8674 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
8675 (grub_fstest_SOURCES): Likewise.
8676 (pkglib_MODULES): Add part_sunpc.mod.
8677 (part_sunpc_mod_SOURCES): New variable.
8678 (part_sunpc_mod_CFLAGS): Likewise.
8679 (part_sunpc_mod_LDFLAGS): Likewise.
8680 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
8681 * partmap/sunpc.c: New file.
8682
746d9045
BC
86832010-03-26 BVK Chaitanya <bvk@localhost>
8684
8685 For loop support to GRUB script.
8686
8687 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
8688 (grub_script_create_cmdfor): New function prototype.
8689 (grub_script_execute_cmdfor): New function prototype.
8690 * script/execute.c (grub_script_execute_cmdfor): New function.
8691 * script/parser.y (command): New for command.
8692 (forcmd): New grammar rule.
8693 * script/script.c (grub_script_create_cmdfor): New function.
8694 * util/grub-script-check.c (grub_script_execute_cmdfor): New
8695 function.
8696 * tests/grub_script_for1.in: New testcase.
8697 * conf/tests.rmk: Rules for new testcase.
8698
18486b18
VS
86992010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 Nested partitions
8702
8703 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
8704 'partition' is NULL, grub_partition_get_start already does that.
8705 * commands/loadenv.c (check_blocklists): Likewise.
8706 (write_blocklists): Likewise.
8707 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
8708 (grub_fstest_SOURCES): Likewise.
8709 (pkglib_MODULES): Add part_bsd.mod.
8710 (part_bsd_mod_SOURCES): New variable.
8711 (part_bsd_mod_CFLAGS): Likewise.
8712 (part_bsd_mod_LDFLAGS): Likewise.
8713 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
8714 (grub_emu_SOURCES): Likewise.
8715 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8716 * include/grub/bsdlabel.h: New file.
8717 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
8718 'get_name'.
8719 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
8720 (grub_partition_map_list): New variable.
8721 (grub_partition_map_register): Inline.
8722 (grub_partition_map_unregister): Likewise.
8723 (FOR_PARTITION_MAPS): New macro.
8724 (grub_partition_map_iterate): Removed.
8725 (grub_partition_get_start): Handle nested partitions.
8726 * include/grub/msdos_partition.h: Remove bsd-related entries.
8727 (grub_pc_partition): Remove.
8728 * kern/disk.c (grub_disk_close): Free partition data.
8729 (grub_disk_adjust_range): Handle nested partitions.
8730 * kern/partition.c (grub_partition_map_probe): New function.
8731 (grub_partition_probe): Parse name to number, handle subpartitions.
8732 (get_partmap): New function.
8733 (grub_partition_iterate): Handle subpartitions.
8734 (grub_partition_get_name): Likewise.
8735 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
8736 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
8737 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
8738 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
8739 Set 'number'.
8740 (acorn_partition_map_probe): Remove.
8741 (acorn_partition_map_get_name): Likewise.
8742 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
8743 Set 'number'.
8744 Set 'index' to 0 since there can be only one partition entry per sector.
8745 (amiga_partition_map_probe): Remove.
8746 (amiga_partition_map_get_name): Likewise.
8747 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
8748 Set 'number'.
8749 Set 'offset' and 'index' to real positions of partitions.
8750 (apple_partition_map_probe): Remove.
8751 (apple_partition_map_get_name): Likewise.
8752 * partmap/bsdlabel.c: New file.
8753 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
8754 Set 'number'.
8755 Allocate 'data' so it can be correctly freed.
8756 Set 'index' to offset inside sector.
8757 (gpt_partition_map_probe): Remove.
8758 (gpt_partition_map_get_name): Likewise.
8759 * partmap/msdos.c (grub_partition_parse): Remove.
8760 (pc_partition_map_iterate): Don't force raw access.
8761 Set 'number'.
8762 Make 'ext_offset' a local variable.
8763 (pc_partition_map_probe): Remove.
8764 (pc_partition_map_get_name): Remove.
8765 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
8766 Set 'number'.
8767 (sun_partition_map_probe): Remove.
8768 (sun_partition_map_get_name): Likewise.
8769 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
8770 (grub_pcpart_type): Likewise.
8771 * util/hostdisk.c (open_device): Handle new numbering scheme.
8772 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
8773 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
8774 * util/grub-probe.c (probe_partmap): Handle nested paritions.
8775 * util/grub-install.in: Insert all subpartition modules.
8776 * util/ieee1275/grub-install.in: Likewise.
8777
a3940f88
AG
87782010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
8779
8780 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
8781 grammar.
8782
21b99926 87832010-03-24 Colin Watson <cjwatson@ubuntu.com>
8784
8785 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
8786
bed1d352
CW
87872010-03-21 Colin Watson <cjwatson@ubuntu.com>
8788
8789 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
8790 match where 'make install' puts them.
8791 * util/i386/efi/grub-install.in: Likewise.
8792
c9f58427
CW
87932010-03-19 Colin Watson <cjwatson@ubuntu.com>
8794
8795 * .bzrignore: Add gentrigtables, grub-script-check,
8796 grub_script_check_init.c, grub_script_check_init.h, and
8797 trigtables.c.
8798
f84afb27
VS
87992010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * kern/parser.c: Indented.
8802
ed0e3d30
VS
88032010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
8806
0ea81d98
VS
88072010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
8810 alpha_mask_size == 0 case.
8811
0cdc2a09
BC
88122010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
8813
8814 GRUB shell lexer and parser improvements.
8815
8816 * conf/any-emu.rmk: Build rule updates.
8817 * conf/common.rmk: Likewise.
8818 * conf/i386-coreboot.rmk: Likewise.
8819 * conf/i386-efi.rmk: Likewise.
8820 * conf/i386-ieee1275.rmk: Likewise.
8821 * conf/i386-pc.rmk: Likewise.
8822 * conf/powerpc-ieee1275.rmk: Likewise.
8823 * conf/x86_64-efi.rmk: Likewise.
8824
8825 * configure.ac: Configure check for flex.
8826
8827 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
8828 types.
8829 (grub_lexer_param): Struct member updates.
8830 (grub_parser_param): Likewise.
8831 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
8832 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
8833 (grub_script_lexer_init): Prototype update.
8834 (grub_script_lexer_record_start): Likewise.
8835 (grub_script_lexer_record_stop): Likewise.
8836 (grub_script_lexer_yywrap): New function prototype.
8837 (grub_script_lexer_fini): Likewise.
8838 (grub_script_execute_argument_to_string): Removed by...
8839 (grub_script_execute_argument_to_argv): ...better version.
8840
8841 * script/execute.c (ROUND_UPTO): New macro.
8842 (grub_script_execute_cmdline): Out of memory fixes.
8843 (grub_script_execute_menuentry): Likewise.
8844 (grub_script_execute_argument_to_string): Removed. Update all
8845 users by...
8846 (grub_script_execute_argument_to_argv): ...better version.
8847 * script/function.c (grub_script_function_create): Use
8848 grub_script_execute_argument_to_argv instead of
8849 grub_script_execute_argument_to_string.
8850
8851 * script/lexer.c (check_varstate): Removed.
8852 (check_textstate): Removed.
8853 (grub_script_lexer_record_start): Likewise.
8854 (grub_script_lexer_record_stop): Likewise.
8855 (recordchar): Replaced with...
8856 (grub_script_lexer_record): ...new function.
8857 (nextchar): Removed.
8858 (grub_script_lexer_init): Rewritten.
8859 (grub_script_yylex): Rewritten.
8860 (append_newline): New function.
8861 (grub_script_lexer_yywrap): New function.
8862 (grub_script_lexer_fini): New function.
8863 (grub_script_yyerror): Sets error flag.
8864
8865 * script/yylex.l: New file.
8866 (grub_lexer_yyfree): Wrapper for flex yyffre.
8867 (grub_lexer_yyalloc): Likewise.
8868 (grub_lexer_yyrealloc): Likewise.
8869 * script/parser.y: Refactored.
8870
8871 * script/script.c (grub_script_arg_add): Out of memory fixes.
8872 (grub_script_add_arglist): Likewise.
8873 (grub_script_create_cmdline): Likewise.
8874 (grub_script_create_cmdmenu): Likewise.
8875 (grub_script_add_cmd): Likewise.
8876 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
8877 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
8878 unnecessary code.
8879
8880 * tests/grub_script_echo1.in: New testcase.
8881 * tests/grub_script_vars1.in: New testcase.
8882 * tests/grub_script_echo_keywords.in: New testcase.
8883
1d63a066
VS
88842010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 Remove some redundancy in build system.
8887
8888 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
8889 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
8890 (TARGET_LDFLAGS): Add -nostdlib.
8891 (TARGET_IMG_LDFLAGS): Likewise.
8892 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
8893 anything since mmap isn't available.
8894 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
8895 Add util/time.c.
8896 (pkglib_MODULES): Remove reboot.mod.
8897 (reboot_mod_SOURCES): Removed.
8898 (reboot_mod_CFLAGS): Likewise.
8899 (reboot_mod_LDFLAGS): Likewise.
8900 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
8901 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
8902 (DEFSYMFILES): Add kernel_syms.lst.
8903 (kernel_img_HEADERS): Add common headers.
8904 (symlist.c): New target.
8905 (kernel_syms.lst): Likewise.
8906 (pkglib_MODULES): Add memdisk.mod.
8907 (memdisk_mod_SOURCES): New variable.
8908 (memdisk_mod_CFLAGS): Likewise.
8909 (memdisk_mod_LDFLAGS): Likewise.
8910 (pkglib_MODULES): Add reboot.mod.
8911 (reboot_mod_SOURCES): New variable.
8912 (reboot_mod_CFLAGS): Likewise.
8913 (reboot_mod_LDFLAGS): Likewise.
8914 (pkglib_MODULES): Add date.mod.
8915 (date_mod_SOURCES): New variable.
8916 (date_mod_CFLAGS): Likewise.
8917 (date_mod_LDFLAGS): Likewise.
8918 (pkglib_MODULES): Add datehook.mod.
8919 (datehook_mod_SOURCES): New variable.
8920 (datehook_mod_CFLAGS): Likewise.
8921 (datehook_mod_LDFLAGS): Likewise.
8922 (pkglib_MODULES): Add lsmmap.mod.
8923 (lsmmap_mod_SOURCES): New variable.
8924 (lsmmap_mod_CFLAGS): Likewise.
8925 (lsmmap_mod_LDFLAGS): Likewise.
8926 (pkglib_MODULES): Add boot.mod.
8927 (boot_mod_SOURCES): New variable.
8928 (boot_mod_CFLAGS): Likewise.
8929 (boot_mod_LDFLAGS): Likewise.
8930 * conf/i386-coreboot.rmk: Removed redundant parts.
8931 * conf/i386-ieee1275.rmk: Likewise.
8932 * conf/i386-pc.rmk: Likewise.
8933 * conf/mips-yeeloong.rmk: Likewise.
8934 * conf/mips.rmk: Likewise.
8935 * conf/powerpc-ieee1275.rmk: Likewise.
8936 * conf/sparc64-ieee1275.rmk: Likewise.
8937 * conf/x86_64-efi.rmk: Likewise.
8938 * conf/i386-coreboot.rmk: Moved qemu parts ..
8939 * conf/i386-qemu.rmk: ... here
8940 * conf/i386-efi.rmk: Moved common parts to...
8941 * conf/x86-efi.rmk: ... here.
8942 * conf/i386.rmk: Added modules common to all x86 variants.
8943 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
8944 * disk/memdisk.c: Remove grub/machine/kernel.h.
8945 * gensymlist.sh.in: Include symbol.h.
8946 * hook/datehook.c: Correct module name.
8947 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
8948 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
8949 * include/grub/i386/efi/serial.h: New file.
8950 * include/grub/x86_64/efi/serial.h: Likewise.
8951 * util/time.c: Likewise.
8952 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
8953
463ac55f
CK
89542010-03-14 Colin King <colin.king@ubuntu.com>
89552010-03-14 Colin Watson <cjwatson@ubuntu.com>
8956
8957 Shrink the pre-partition-table part of boot.img by eight bytes.
8958
8959 * boot/i386/pc/boot.S (ERR): New macro.
8960 (chs_mode): Use ERR.
8961 (geometry_error): Likewise.
8962 (hd_probe_error): Remove. This is only used once, so we wrwite
8963 it inline instead.
8964 (read_error): Instead of printing read_error_string, just set up
8965 %si and fall through to ...
8966 (error_message): ... this new function, also used by ERR.
8967
08e46ede
CW
89682010-03-14 Colin Watson <cjwatson@ubuntu.com>
8969
8970 Speed up consecutive hostdisk operations on the same device.
8971
8972 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
8973 (grub_util_biosdisk_open): Initialise disk->data.
8974 (struct linux_partition_cache): New structure.
8975 (linux_find_partition): Cache partition start positions; these are
8976 expensive to compute on every read and write.
8977 (open_device): Cache open file descriptor in disk->data, so that we
8978 don't have to reopen it and flush the buffer cache for consecutive
8979 operations on the same device.
8980 (grub_util_biosdisk_close): New function.
8981 (grub_util_biosdisk_dev): Set `close' member.
8982
8983 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
8984 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
8985 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8986 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
8987 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
8988
4a6d2d06
VS
89892010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 Compile parts of grub-emu as modules.
8992
8993 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
8994 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
8995 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
8996 (all-local): Add $(GRUB_EMU).
8997 (install-local): Install $(GRUB_EMU).
8998 (uninstall): Uninstall $(GRUB_EMU).
8999 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
9000 * kern/dl.c: Likewise.
9001 * commands/sleep.c: Not include machine/time.h.
9002 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
9003 (COMMON_CFLAGS): Likewise.
9004 (sbin_UTILITIES): Remove grub-emu.
9005 (grub_emu_SOURCES): Removed.
9006 (kernel_img_RELOCATABLE): New variable.
9007 (pkglib_PROGRAMS): Add kernel.img.
9008 (kernel_img_SOURCES): New variable
9009 (kernel_img_CFLAGS): Likewise.
9010 (kernel_img_LDFLAGS): Likewise.
9011 (TARGET_NO_STRIP): Likewise.
9012 (TARGET_NO_DYNAMIC_MODULES): Likewise.
9013 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
9014 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
9015 (grub-emu): New target.
9016 (GRUB_EMU): New variable.
9017 * configure.ac: Whitelist -emu as possible x86_64 architecture.
9018 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
9019 * loader/xnu.c: Likewise.
9020 * include/grub/pci.h: Likewise.
9021 * genemuinit.sh: New file.
9022 * genemuinitheader.sh: Likewise.
9023 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
9024 Support TARGET_NO_DYNAMIC_MODULES.
9025 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
9026 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
9027 * disk/loopback.c: Likewise.
9028 * font/font_cmd.c: Likewise.
9029 * partmap/acorn.c: Likewise.
9030 * partmap/amiga.c: Likewise.
9031 * partmap/apple.c: Likewise.
9032 * partmap/gpt.c: Likewise.
9033 * partmap/msdos.c: Likewise.
9034 * partmap/sun.c: Likewise.
9035 * parttool/msdospart.c: Likewise.
9036 * term/gfxterm.c: Likewise.
9037 * video/bitmap.c: Likewise.
9038 * video/readers/jpeg.c: Likewise.
9039 * video/readers/png.c: Likewise.
9040 * video/readers/tga.c: Likewise.
9041 * video/video.c: Likewise.
9042 * util/grub-emu.c (read_command_list): Removed.
9043 (main): Don't call util_init_nls.
9044 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
9045 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
9046
91fdd2ed
VS
90472010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
9050 date.mod, datehook.mod.
9051 (datetime_mod_SOURCES): New variable.
9052 (datetime_mod_CFLAGS): Likewise.
9053 (datetime_mod_LDFLAGS): Likewise.
9054 (date_mod_SOURCES): Likewise.
9055 (date_mod_CFLAGS): Likewise.
9056 (date_mod_LDFLAGS): Likewise.
9057 (datehook_mod_SOURCES): Likewise.
9058 (datehook_mod_CFLAGS): Likewise.
9059 (datehook_mod_LDFLAGS): Likewise.
9060 * conf/sparc64-ieee1275.rmk: Likewise.
9061 * lib/ieee1275/datetime.c: New file.
9062
873ccae6
VS
90632010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
9066 (ieee1275_fb_mod_SOURCES): New variable.
9067 (ieee1275_fb_mod_CFLAGS): Likewise.
9068 (ieee1275_fb_mod_LDFLAGS): Likewise.
9069 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
9070 New proto.
9071 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
9072 (HEAP_MAX_ADDR): Likewise.
9073 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
9074 type.
9075 Correct stop condition.
9076 (grub_ieee1275_devices_iterate): New function.
9077 * video/ieee1275.c: New file.
9078
601c97c0
VS
90792010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
9082
9083 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
9084 as scratch.
9085 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
9086 SCRATCH_PAD_DISKBOOT as scratch.
9087 (bootit): Pass Openfirmware pointer in %o4.
9088 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
9089 of 0x200000.
9090 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
9091 with util/grub-mkrawimage.c.
9092 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
9093 * include/grub/aout.h (AOUT_MID_SUN): New definition.
9094 (grub_aout_get_type) [GRUB_UTIL]: Removed.
9095 (grub_aout_load) [GRUB_UTIL]: Likewise.
9096 * include/grub/kernel.h (grub_modules_get_end): New proto.
9097 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
9098 (SCRATCH_PAD_BOOT): New definition.
9099 (SCRATCH_PAD_DISKBOOT): Likewise.
9100 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
9101 * include/grub/sparc64/ieee1275/ieee1275.h
9102 (grub_ieee1275_original_stack): New variable
9103 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9104 New definition
9105 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
9106 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
9107 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
9108 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
9109 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
9110 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
9111 (grub_platform_image_format_t): New type.
9112 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
9113 * kern/main.c (grub_modules_get_end)
9114 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
9115 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
9116 (codestart): Switch stacks.
9117 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
9118 variable.
9119 (grub_heap_init): Use grub_modules_get_end.
9120 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
9121 stack.
9122 * util/grub-mkrawimage.c (generate_image): Support sparc64.
9123 (main): Likewise.
9124 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
9125
d68b491e
TG
91262010-03-14 Thorsten Glaser <tg@mirbsd.org>
9127
9128 * util/grub-mkrescue.in: Base ISO UUID on UTC.
9129
4e02ed50
MK
91302010-03-08 Matt Kraai <kraai@ftbfs.org>
9131
9132 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
9133 bug #559005).
9134
1f15fc1e
VS
91352010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 * genmoddep.awk: Output all missing symbols and not only first.
9138
fce5d8ff
VS
91392010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9140
9141 * NEWS: Put the date of 1.98 release.
9142
d1e8a02f
VS
91432010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
9146 ft2build.h.
9147
696fd607
VS
91482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
9151 completition in the middle of string.
9152
33e2e6f3
VS
91532010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9154
9155 * util/grub-mkrescue.in: Use mktemp with explicit template.
9156
b1f6d291
VS
91572010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
9160
2ac227c7
VS
91612010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
9164 right pointer.
9165
8f9a632b
VS
91662010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 Fix FreeBSD compilation.
9169
9170 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
9171 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
9172
60b03859
VS
91732010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
9176
48a5a769
VS
91772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
9180
3ab4bd77
VS
91812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
9184
d116e0d8
RM
91852010-03-04 Robert Millan <rmh.grub@aybabtu.com>
9186
9187 Support relative image path in theme file.
9188
9189 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
9190 (image_set_property): Handle theme_dir and relative path.
9191
c7ef54aa
VS
91922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * configure.ac: Alias amd64 to x86_64.
9195
fcee14ed
VS
91962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 * NEWS: mention multiboot on EFI.
9199
d0780363
VS
92002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * kern/main.c (grub_load_modules): Handle errors from init functions of
9203 embeded modules.
9204
41168ea4
VS
92052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * normal/autofs.c (autoload_fs_module): Handle errors.
9208
b54d93ac
VS
92092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 Disable linux.mod on qemu-mips since it's not functional and leads
9212 to compilation failure.
9213
9214 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
9215 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
9216 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
9217 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
9218 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
9219 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
9220 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
9221 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
9222 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
9223 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
9224 Reported by: BVK Chaitanya
9225
fc8345da
JU
92262010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
9227
9228 * INSTALL: Add gettext as a dependency and add qemu to a new section
9229 "Prerequisites for make-check".
9230
4760f979
CF
92312010-03-04 Christian Franke <franke@computer.org>
9232
9233 * util/grub-pe2elf.c: Add missing include "progname.h".
9234
f209b5b2
VS
92352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * normal/crypto.c (read_crypto_list): Fix a typo.
9238 Reported by: Seth Goldberg.
9239
b4b7be98
VS
92402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 9243 Reported by: Seth Goldberg.
b4b7be98 9244
c0ee0385
VS
92452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
9248 ascii.bitmaps.
9249
a8efbf64
VS
92502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9251
9252 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 9253 Reported by: Seth Goldberg.
a8efbf64 9254
08dcd913
VS
92552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * util/i386/efi/grub-install.in: Copy gettext files.
9258
c4d0b332
VS
92592010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
9262
c6f2fe52
VS
92632010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 Wait for user entry basing on presence of output rather than on errors.
9266
9267 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
9268 (grub_install_newline_hook): Likewise.
9269 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
9270 * normal/menu.c (show_menu): Check line_counter to determine presence
9271 of output.
9272 * normal/term.c (grub_normal_line_counter): New variable.
9273 (grub_normal_get_line_counter): New function.
9274 (grub_install_newline_hook): Likewise.
9275
5382b1e4
VS
92762010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
9279
5519963b
VS
92802010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 * configure.ac: Update version to 1.98.
9283
72b28631
VS
92842010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9285
9286 * util/grub.d/10_linux.in (linux_entry): Don't default to
9287 gfxpayload=keep if Linux doesn't support video handover.
9288
c140a180
VS
92892010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 Don't compile video modules on yeeloong since video subsystem is part
9292 of kernel.
9293
9294 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
9295 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
9296 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
9297 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
9298 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
9299 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
9300 * include/grub/bitmap_scale.h: Likewise.
9301 * include/grub/bufio.h: Likewise.
9302 * include/grub/font.h: Likewise.
9303 * include/grub/gfxterm.h: Likewise.
9304 * include/grub/video.h: Likewise.
9305 * include/grub/vbe.h: Don't include video_fb.h.
9306 * video/i386/pc/vbe.c: Include video_fb.h.
9307 * commands/i386/pc/vbetest.c: Include video.h.
9308
a0ca21c2
CW
93092010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
9310
9311 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
9312 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
9313 default entry if GRUB_SAVEDEFAULT=true. This allows using
9314 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
9315 saving a new default on every boot.
9316
4a8a763c
VS
93172010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * normal/crypto.c (read_crypto_list): Fix a memory leak.
9320 * normal/term.c (read_terminal_list): Likewise.
9321 * normal/main.c (grub_normal_init_page): Likewise.
9322 (grub_normal_read_line_real): Likewise.
9323
607ffde2
VS
93242010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
9327 memory leak.
9328 Reported by: Seth Goldberg.
9329
2b8fa975
CW
93302010-02-24 Joey Korkames <joey+lists@kidfixit.com>
9331
9332 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
9333 duplicate declaration of `start'.
9334
618307dd
VS
93352010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
9338 filename.
9339 Reported by: Georgy Buranov
9340
7dd05b96 93412010-02-20 Carles Pina i Estany <carles@pina.cat>
9342
9343 * util/grub-mkrawimage.c (usage): Change string formatting to
9344 improve gettext.
9345
d1484a42
MRA
93462010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9347
9348 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
9349 backspace keys.
9350
42b1d186
VS
93512010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
9354 Reported by: Michael Suchanek.
9355
93562010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
9357
9358 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
9359 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
9360
d9f31a41
VS
93612010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 Remove any reference to non-free fonts.
9364
9365 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
9366 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
9367 uses non-free components.
9368 * font/font.c (grub_font_get_name): Remove example name.
9369 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
9370 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9371 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
9372 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
9373
2793c71e
GB
93742010-02-16 Georgy Buranov <gburanov@gmail.com>
9375
9376 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
9377
402e3779
VS
93782010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
9381 Double divisor.
9382 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
9383 features.
9384 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
9385
0dd1e0dd
VS
93862010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 * gensymlist.sh.in: Use TARGET_CC instead of CC.
9389
6fa7cfce
ST
93902010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9391
9392 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
9393 * docs/grub.texi (Command-line and menu entry commands): Document play
9394 command.
9395
37c8483b
ST
93962010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9397
9398 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
9399 parse arguments as inline tempo and notes. Move code for playing notes
9400 to...
9401 (play): ... new function.
9402
14da0fb7
ST
94032010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9404
9405 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
9406 grub_uint16_t instead of short.
9407 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
9408 disk from little endian to cpu endianness.
9409
04459e70
ST
94102010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
9411
9412 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
9413 GRUB_TICKS_PER_SECOND instead of 120.
9414
a0876943
VS
94152010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
9418 escape sequence after \e.
9419
e29f95dc
VS
94202010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
9423 non-ASCII characters.
9424
d27859b2
VS
94252010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
9428 set root in single quotes to prevent \, from being unescaped.
9429
bc028f2f
VS
94302010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 Prevent unknown commands from stopping menuentry execution.
9433
9434 * script/execute.c (grub_script_execute_cmdline): Print error after
9435 unknown command.
9436
095f5f82
VS
94372010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
9440 Reported by: Pavel Pisa.
9441
8c717950
VS
94422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
9445
904935c3
VS
94462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 Merge grub_ieee1275_map_physical into grub_map and rename to
9449 grub_ieee1275_map
9450
9451 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
9452 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
9453 Remove.
9454 * kern/ieee1275/openfw.c (grub_map): Rename to ...
9455 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
9456 necessary.
9457 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
9458
5b59a4e3
VS
94592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
9462 opening and not after.
9463
69e137e8
VS
94642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
9467 constants.
9468
2c0fcc36
VS
94692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
9472 (alloc_phys): Use ALIGN_UP instead of align_addr.
9473
8c6052ce
VS
94742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
9477
17cec782
VS
94782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
9481
e0128bbd
VS
94822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9483
9484 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
9485 verbose dprintf.
9486
ca62070b
VS
94872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 Fix over-4GiB seek on sparc64.
9490
9491 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
9492 Replace pos_i and pos_lo with pos. All users updated.
9493 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
9494 New constant.
9495 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
9496 Likewise.
9497 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
9498 and pos_lo.
9499
bdca2607
VS
95002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 * util/grub-mkrawimage.c (main): Call set_program_name.
9503
da278c4d
VS
95042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9505
9506 Properly align 64-bit targets.
9507
9508 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
9509 (generate_image): Use ALIGN_ADDR.
9510
b274d734
VS
95112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 Properly create cross-endian images.
9514
9515 * include/grub/types.h (grub_host_to_target_addr): New macro
9516 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
9517
82da2062
VS
95182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
9521
7cae4377
VS
95222010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
9525
9526 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
9527 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
9528 (grub_linux_boot): Divide by 64K when on VESA.
9529
65a533e7
VS
95302010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9531
9532 Support GRUB_GFXPAYLOAD_LINUX.
9533
9534 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
9535 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
9536
dd01d397
VS
95372010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
9540 to show messages instead of discarding them.
9541 Process errors after executing command and not before. Keep old method
9542 too as precaution.
9543
660960d6
VS
95442010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * configure.ac: Check for ft2build.h.
9547
62509f04
VS
95482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
9551
473df63d
VS
95522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * genkernsyms.sh.in: Use TARGET_CC.
9555
c98d2a13
CW
95562010-02-07 Colin Watson <cjwatson@ubuntu.com>
9557
9558 * NEWS: Update.
9559
6e14234c
VS
95602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9561
9562 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
9563 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
9564 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 9565
b255e9cf
YB
95662010-02-07 Yves Blusseau <blusseau@zetam.org>
9567
6e14234c 9568 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 9569
98e6959d
VS
95702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9571
9572 Fix warnings in grub-emu when compiling with maximum warning options.
9573
9574 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
9575 (grub_arch_modules_addr): Return 0 and not NULL.
9576 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 9577 (xstrdup): Use newstr instead of dup.
f88d801b
VS
9578 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
9579 of disk to dsk to avoid shadowing.
74e4934e
VS
9580 (find_free_slot): Fix prototype.
9581 * util/getroot.c (grub_util_is_dmraid): Make static.
9582 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
9583 Add missing prototype.
9584 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 9585
74e31b5c
VS
95862010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9587
9588 * loader/i386/linux.c (grub_linux_setup_video): Handle error
9589 appropriately.
9590
6b2ad14b
VS
95912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
9594 code out.
9595
8f891adc
VS
95962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
9599 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
9600 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
9601 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
9602 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
9603 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
9604
74b45184
VS
96052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 * include/grub/err.h (grub_err_printf): Don't export.
9608
a4bced77
VS
96092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9610
9611 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
9612
007d0695
VS
96132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * include/grub/i18n.h (grub_gettext_dummy): Removed.
9616 * kern/misc.c (grub_gettext_dummy): Make static.
9617
b6c0d9c2
VS
96182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
9621 by non-valid ones.
9622 * kern/term.c (grub_putchar): Likewise.
9623
f51a90d0
VS
96242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
9627 buggy hook call and memory leak.
9628
6846cec5
VS
96292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
9632
468d69fe
VS
96332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
9636
51906b8c
VS
96372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
9640 modevar.
9641 Return grub_errno on allocation error.
9642
09706ce5
VS
96432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
9646
911df80c
YB
96472010-02-06 Yves Blusseau <blusseau@zetam.org>
9648
9649 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
9650 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
9651
3746a6bc
VS
96522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
9655 non-pxe disk.
9656 (grub_pxefs_open): Likewise.
9657
09706ce5
VS
96582010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9659
9660 * util/grub.d/10_hurd.in: Add --class information to menuentries.
9661 * util/grub.d/10_kfreebsd.in: Likewise.
9662 * util/grub.d/10_linux.in: Likewise.
9663
7cc192d9
VS
96642010-02-06 Colin D Bennett <colin@gibibit.com>
9665
9666 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
9667 (gfxmenu_mod_SOURCES): New variable.
9668 (gfxmenu_mod_CFLAGS): Likewise.
9669 (gfxmenu_mod_LDFLAGS): Likewise.
9670 * include/grub/term.h (grub_term_set_current_output): Declare
9671 argument as const.
9672 * docs/gfxmenu-theme-example.txt: New file.
9673 * gfxmenu/gfxmenu.c: Likewise.
9674 * gfxmenu/gui_box.c: Likewise.
9675 * gfxmenu/gui_canvas.c: Likewise.
9676 * gfxmenu/gui_circular_progress.c: Likewise.
9677 * gfxmenu/gui_image.c: Likewise.
9678 * gfxmenu/gui_label.c: Likewise.
9679 * gfxmenu/gui_list.c: Likewise.
9680 * gfxmenu/gui_progress_bar.c: Likewise.
9681 * gfxmenu/gui_string_util.c: Likewise.
9682 * gfxmenu/gui_util.c: Likewise.
9683 * gfxmenu/icon_manager.c: Likewise.
9684 * gfxmenu/model.c: Likewise.
9685 * gfxmenu/named_colors.c: Likewise.
9686 * gfxmenu/theme_loader.c: Likewise.
9687 * gfxmenu/view.c: Likewise.
9688 * gfxmenu/widget-box.c: Likewise.
9689 * include/grub/gfxmenu_model.h: Likewise.
9690 * include/grub/gfxmenu_view.h: Likewise.
9691 * include/grub/gfxwidgets.h: Likewise.
9692 * include/grub/gui.h: Likewise.
9693 * include/grub/gui_string_util.h: Likewise.
9694 * include/grub/icon_manager.h: Likewise.
9695
96962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9697
9698 Agglomerate scrolling in gfxterm.
9699
9700 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
9701 (grub_virtual_screen_setup): Initialise 'total_screen'.
9702 (write_char): Split to ...
9703 (paint_char): ... this ...
9704 (write_char): ... and this.
9705 (paint_char): Handle delayed scrolling.
9706 (draw_cursor): Likewise.
9707 (scroll_up): Split to ...
9708 (real_scroll): ... this ...
9709 (scroll_up): ... and this.
9710 (real_scroll): Handle multi-line scroll and draw below-the-bottom
9711 characters.
9712 (grub_gfxterm_refresh): Call real_scroll.
9713
97142010-02-06 Colin D Bennett <colin@gibibit.com>
9715
9716 * include/grub/misc.h (grub_iscntrl): New inline function.
9717 (grub_isalnum): Likewise.
9718 (grub_strtol): Likewise.
9719
97202010-02-06 Colin D Bennett <colin@gibibit.com>
9721
9722 * normal/menu_text.c (get_entry_number): Move from here ...
9723 * normal/menu.c (get_entry_number): ... moved here.
9724 * include/grub/menu.h (grub_menu_get_default_entry_index):
9725 New prototype.
9726 * normal/menu.c (grub_menu_get_default_entry_index): New function.
9727 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
9728 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
9729 (grub_menu_viewer_should_return): Likewise.
9730 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
9731 * normal/menu_text.c (run_menu): Enable menu switching.
9732 * normal/menu_viewer.c (should_return): New variable.
9733 (menu_viewer_changed): Likewise.
9734 (grub_menu_viewer_show_menu): Handle menu viewer changes.
9735 (grub_menu_viewer_should_return): New function.
9736 (menuviewer_write_hook): Likewise.
9737 (grub_menu_viewer_init): Likewise.
9738
97392010-02-06 Colin D Bennet <colin@gibibit.com>
97402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 Support for gfxterm in a window.
9743
9744 * include/grub/gfxterm.h: New file.
9745 * include/grub/video.h (struct grub_video_rect): New declaration.
9746 (grub_video_rect_t): Likewise.
9747 * term/gfxterm.c (struct grub_gfxterm_window): New type.
9748 (refcount): New variable.
9749 (render_target): Likewise.
9750 (window): Likewise.
9751 (repaint_callback): Likewise.
9752 (grub_virtual_screen_setup): Use 'render_target'.
9753 (init_window): New function.
9754 (grub_gfxterm_init_window): Likewise.
9755 (grub_gfxterm_init): Check reference counter.
9756 Use init_window.
9757 (destroy_window): New function.
9758 (grub_gfxterm_destroy_window): Likewise.
9759 (grub_gfxterm_fini): Check reference counter.
9760 Use destroy_window.
9761 (redraw_screen_rect): Restore viewport.
9762 Use 'render_target' and 'window'.
9763 Call 'repaint_callback'.
9764 (write_char): Use 'render_target'.
9765 (draw_cursor): Likewise.
9766 (scroll_up): Restore viewport.
9767 Use 'render_target' and 'window'.
9768 Call 'repaint_callback'.
9769 (grub_gfxterm_cls): Likewise.
9770 (grub_gfxterm_refresh): Use 'window'.
9771 (grub_gfxterm_set_repaint_callback): New function.
9772 (grub_gfxterm_background_image_cmd): Use 'window'.
9773 (grub_gfxterm_get_term): New function.
9774 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
9775
97762010-02-06 Colin D Bennett <colin@gibibit.com>
9777
9778 Bitmap scaling support.
9779
9780 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
9781 (bitmap_scale_mod_SOURCES): New variable.
9782 (bitmap_scale_mod_CFLAGS): Likewise.
9783 (bitmap_scale_mod_LDFLAGS): Likewise.
9784 * include/grub/bitmap_scale.h: New file.
9785 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
9786 (background_image_cmd_options): New variable.
9787 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
9788 (cmd): Rename and change type to ...
9789 (background_image_cmd_handle): ... this. All users updated.
9790 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
9791 * video/bitmap_scale.c: New file.
9792
97932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 SDL support.
9796
9797 * Makefile.in (LIBSDL): New variable.
9798 (enable_grub_emu_sdl): Likewise.
9799 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
9800 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
9801 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
9802 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
9803 * util/sdl.c: New file.
9804
98052010-02-06 Colin D Bennett <colin@gibibit.com>
98062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 Double buffering support.
9809
9810 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
9811 * include/grub/video.h: Update comment.
9812 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9813 New type.
9814 (grub_video_fb_doublebuf_blit_init): New prototype.
9815 * term/gfxterm.c (scroll_up): Support double buffering.
9816 (grub_gfxterm_refresh): Likewise.
9817 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
9818 (grub_video_fb_doublebuf_blit_init): Likewise.
9819 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
9820 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
9821 'displayed_page', 'render_page' and 'update_screen'.
9822 (grub_video_vbe_fini): Free offscreen buffer.
9823 (doublebuf_pageflipping_commit): New function.
9824 (doublebuf_pageflipping_update_screen): Likewise.
9825 (doublebuf_pageflipping_init): Likewise.
9826 (double_buffering_init): Likewise.
9827 (grub_video_vbe_setup): Enable doublebuffering.
9828 (grub_video_vbe_swap_buffers): Implement.
9829 (grub_video_vbe_set_active_render_target): Handle double buffering.
9830 (grub_video_vbe_get_active_render_target): Likewise.
9831 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
9832 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
9833 (grub_video_vbe_enable_double_buffering): Likewise.
9834 (grub_video_vbe_swap_buffers): Use update_screen.
9835 (grub_video_set_mode): Use double buffering.
9836
98372010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9838
9839 * maintainance/gentrigtables.py: Remove.
9840 * lib/trig.c: Likewise.
9841
9842 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
9843
9844 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
9845 `trigtables.c'.
9846 (trigtables.c): New rule.
9847 (gentrigtables): Likewise.
9848 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
9849
98502010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9851
9852 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
9853 integer constants.
9854
98552010-02-06 Colin D Bennet <colin@gibibit.com>
9856
9857 Trigonometry support.
9858
9859 * include/grub/trig.h: New file.
9860 * lib/trig.c: Likewise.
9861 * maintainance/gentrigtables.py: Likewise.
9862 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
9863 (trig_mod_SOURCES): New variable.
9864 (trig_mod_CFLAGS): Likewise.
9865 (trig_mod_LDFLAGS): Likewise.
9866
5562834e
VS
98672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
9870 disk devices.
9871
4f8528fc
VS
98722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
9875 error.
9876
2b4068e9
VS
98772010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 * util/hostdisk.c (open_device): Don't use partition device when reading
9880 before the partition.
9881 (grub_util_biosdisk_read): Don't read from partition and before the
9882 partition in single operation.
9883 (grub_util_biosdisk_write): Don't write to partition and before the
9884 partition in single operation.
9885
399f6e4d
TL
98862010-02-03 Torsten Landschoff <torsten@debian.org>
9887
9888 * kern/disk.c (grub_disk_read): Fix offset computation when reading
9889 last sectors.
9890
996649b0
VS
98912010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9892
9893 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
9894 CDROM reads.
9895 (grub_biosdisk_write): Refuse to write to CDROM.
9896
3b205d4d
VS
98972010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
9900
61e89d9d
VS
99012010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9902
9903 * font/font.c (find_glyph): Check that bmp_idx is available before
9904 using it.
9905 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
9906 with (font == NULL).
9907
bf7fcba2
CS
99082010-01-28 Christian Schmitt <chris@ilovelinux.de>
9909
9910 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
9911
f45d2663
BC
99122010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
9913
9914 * include/grub/script_sh.h (sourcecode): Add const qualifier.
9915 * util/grub-script-check.c (getline): Fix empty lines case.
9916
ec1444e6
RM
99172010-01-28 Robert Millan <rmh.grub@aybabtu.com>
9918
9919 * Makefile.in (check): Exit with fail status when one of the tests
9920 fails.
9921 * tests/example_functional_test.c (example_test): Fix reversed assert.
9922 * tests/example_unit_test.c (example_test): Likewise.
9923
2e1cb9bb
CW
99242010-01-28 Colin Watson <cjwatson@ubuntu.com>
9925
9926 * util/grub.d/10_linux.in: This script does not use any of the
9927 contents of gettext.sh, only the external command `gettext', so stop
9928 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
9929 the same prefix as GRUB.)
9930 * util/grub.d/10_kfreebsd.in: Likewise.
9931
63533ab0
VS
99322010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
9935 of the line.
9936
989e1f93
VS
99372010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * kern/disk.c (grub_disk_read): Fix offset computation when reading
9940 last sectors.
9941
e709ebe2
VS
99422010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
9945 having a 4KiB and not 32KiB buffer size.
9946
27dea7ed
RM
99472010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9948
9949 * util/hostfs.c: Include `<errno.h>'.
9950 (grub_hostfs_read): Handle errors from fseeko() and fread().
9951
67667b9c
RM
99522010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9953
9954 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
9955 loop when using read hooks on files whose size isn't sector-aligned.
9956
c294d9d8
RM
99572010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9958
9959 Remove unused parameter.
9960
9961 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
9962 (grub_iso9660_open): Remove initialization of `data->length'.
9963
af75a9f1
RM
99642010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9965
9966 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
9967 memleak conditions.
9968
254e2ce5 99692010-01-27 Carles Pina i Estany <carles@pina.cat>
9970
9971 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
9972 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
9973
b510928c 99742010-01-26 Carles Pina i Estany <carles@pina.cat>
9975
9976 * util/bin2h.c (usage): Fix warning (space after backslash).
9977
aa2f9dd2 99782010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 9979
9980 * font/font.c: Include `grub/fontformat.h.
9981 Remove font file format constants.
9982 (grub_font_load): Use the new macros.
9983 * include/grub/fontformat.h: New file.
9984 * util/grub-mkfont.c: Include `grub/fontformat.c'.
9985 (write_font_pf2): Use the new macros.
9986
94e7e712
RM
99872010-01-26 Robert Millan <rmh.grub@aybabtu.com>
9988
9989 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
9990 does.
9991
3973a59a
RM
99922010-01-26 Robert Millan <rmh.grub@aybabtu.com>
9993
9994 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
9995
9996 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
9997 (_start): Macroify `0x7F'.
9998
9999 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
10000 (make_install_device): Use "(pxe)" as fallback prefix when booting
10001 via PXE.
10002
42e0cba3
GS
100032010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10004
10005 * configure.ac: Reset LIBS after check for libgcc symbols.
10006
847effd8
CW
100072010-01-25 Colin Watson <cjwatson@ubuntu.com>
10008
10009 * util/hostdisk.c (open_device): Add trailing newline to debug
10010 message.
10011
ea4a7e35
GS
100122010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
10013
10014 * configure.ac: Check for `limits.h'.
10015 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
10016
67951a53
RM
100172010-01-24 Robert Millan <rmh.grub@aybabtu.com>
10018
10019 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
10020 capitalize error strings.
10021
c273d4ce
ST
100222010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
10023
10024 * util/grub.d/10_hurd.in: Add a recovery mode.
10025
69be5b74
VS
100262010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * configure.ac: Check for libgcc symbols with -nostdlib.
10029
fc9e5810
BC
100302010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
10031
10032 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
10033
4b358c0a
VS
100342010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
10037 stack since heap may be unavailable at that point.
10038 (grub_ofconsole_gotoxy): Likewise.
10039
454fcd1c
VS
100402010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10041
10042 * configure.ac: Check for _restgpr_14_x.
10043 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
10044 and _savegpr_* prototypes.
10045
566863ca
RM
100462010-01-22 Robert Millan <rmh.grub@aybabtu.com>
10047
10048 Use generic grub_reboot() for i386-efi.
10049
10050 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
10051 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
10052 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
10053
bf86e59a
VS
100542010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
10057 presence of "prefix" variable as it breaks when normal.mod is
10058 embedded.
10059
d645e0f8
VS
100602010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
10063 stack since heap is unavailable at that point.
10064
f9ab2e25
VS
100652010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10066
10067 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
10068 (grub_freebsd_bootinfo): Rewritten.
10069 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
10070
01fc7054
VS
100712010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
10074
caab4fd6
RM
100752010-01-21 Robert Millan <rmh.grub@aybabtu.com>
10076
10077 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
10078 domain now.
10079
67eb1427
FZ
100802010-01-20 Felix Zielcke <fzielcke@z-51.de>
10081
10082 * util/misc.c (make_system_path_relative_to_its_root): Change the work
10083 around for handling "/" to the correct fix. Fix a memory leak. Use
10084 xstrdup instead of strdup.
10085
a9ed4ff3
VS
100862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
10089
100902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
10091
10092 Optimise glyph lookup by Basic Multilingual Plane lookup array.
10093
10094 * font/font.c (struct grub_font): New member 'bmp_idx'.
10095 (font_init): Initialise 'bmp_idx'.
10096 (load_font_index): Fill 'bmp_idx'.
10097 (find_glyph): Make inline. Use bmp_idx for BMP characters.
10098
48209f4f
VS
100992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
10102 unnecessary calls.
10103
9f0a4bb7
VS
101042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 Move context handling out of the kernel.
10107
10108 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
10109 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
10110 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
10111 * conf/i386-efi.rmk: Likewise.
10112 * conf/i386-ieee1275.rmk: Likewise.
10113 * conf/i386-pc.rmk: Likewise.
10114 * conf/powerpc-ieee1275.rmk: Likewise.
10115 * conf/sparc64-ieee1275.rmk: Likewise.
10116 * conf/x86_64-efi.rmk: Likewise.
10117 * include/grub/env.h: Include grub/menu.h.
10118 (grub_env_var_type): Removed.
10119 (grub_env_var): Replaced field 'type' with 'global'.
10120 (grub_env_find): New prototype.
10121 (grub_env_context_open): Remove EXPORT_FUNC.
10122 (grub_env_context_close): Likewise.
10123 (grub_env_export): Likewise.
10124 (grub_env_set_data_slot): Removed.
10125 (grub_env_get_data_slot): Likewise.
10126 (grub_env_unset_data_slot): Likewise.
10127 (grub_env_unset_menu): New prototype.
10128 (grub_env_set_menu): Likewise.
10129 (grub_env_get_menu): Likewise.
10130 * include/grub/env_private.h: New file.
10131 * include/grub/normal.h (grub_context_init): New prototype.
10132 (grub_context_fini): Likewise.
10133 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
10134 * normal/context.c (grub_cmd_export): ... to here.
10135 * kern/env.c: Include env_private.h.
10136 (HASHSZ): Moved to include/grub/env_private.h.
10137 (grub_env_context): Likewise.
10138 (grub_env_sorted_var): Likewise.
10139 (current_context): Renamed from this ...
10140 (grub_current_context): ...to this. 'static' removed. All users updated.
10141 (grub_env_find): Removed 'static'.
10142 (grub_env_context_open): Moved to normal/context.c.
10143 (grub_env_context_close): Likewise.
10144 (grub_env_export): Likewise.
10145 (mangle_data_slot_name): Removed.
10146 (grub_env_set_data_slot): Likewise.
10147 (grub_env_get_data_slot): Likewise.
10148 (grub_env_unset_data_slot): Likewise.
10149 * kern/main.c (grub_set_root_dev): Don't export root.
10150 It will be done later.
10151 (grub_main): Don't export prefix.
10152 It will be done later.
10153 * normal/context.c: New file.
10154 * normal/main.c (free_menu): Use grub_env_unset_menu.
10155 (grub_normal_add_menu_entry): Use grub_env_get_menu.
10156 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
10157 (GRUB_MOD_INIT(normal)): Call grub_context_init.
10158 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
10159
8dd35b8c
VS
101602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 setpci support.
10163
10164 * commands/setpci.c: New file.
10165 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
10166 (setpci_mod_SOURCES): New variable.
10167 (setpci_mod_CFLAGS): Likewise.
10168 (setpci_mod_LDFLAGS): Likewise.
10169
449193d5
VS
101702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 Byte-addressable PCI configuration space.
10173
10174 * bus/pci.c (grub_pci_make_address): Use byte address instead of
10175 dword address.
10176 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
10177 GRUB_PCI_REG_CACHELINE.
10178 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
10179 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
10180 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
10181 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
10182 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
10183 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
10184 grub_pci_make_address.
10185 (lock_rom_area): Likewise.
10186 * commands/lspci.c (grub_lspci_iter): Use macroses
10187 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
10188 of grub_pci_make_address.
10189 * disk/ata.c (grub_ata_pciinit): Likewise.
10190 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
10191 (GRUB_PCI_REG_VENDOR): Likewise.
10192 (GRUB_PCI_REG_DEVICE): Likewise.
10193 (GRUB_PCI_REG_COMMAND): Likewise.
10194 (GRUB_PCI_REG_STATUS): Likewise.
10195 (GRUB_PCI_REG_REVISION): Likewise.
10196 (GRUB_PCI_REG_CLASS): Likewise.
10197 (GRUB_PCI_REG_CACHELINE): Likewise.
10198 (GRUB_PCI_REG_LAT_TIMER): Likewise.
10199 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
10200 (GRUB_PCI_REG_BIST): Likewise.
10201 (GRUB_PCI_REG_ADDRESSES): Likewise.
10202 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10203 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10204 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10205 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10206 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10207 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10208 (GRUB_PCI_REG_CIS_POINTER): Likewise.
10209 (GRUB_PCI_REG_SUBVENDOR): Likewise.
10210 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
10211 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
10212 (GRUB_PCI_REG_CAP_POINTER): Likewise.
10213 (GRUB_PCI_REG_IRQ_LINE): Likewise.
10214 (GRUB_PCI_REG_IRQ_PIN): Likewise.
10215 (GRUB_PCI_REG_MIN_GNT): Likewise.
10216 (GRUB_PCI_REG_MAX_LAT): Likewise.
10217 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
10218 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
10219 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 10220 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
10221 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
10222 space.
10223
96d73208
RM
102242010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10225
10226 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
10227 can be reliably determined to be supported.
10228
d4484482
RM
102292010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10230
10231 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
10232 that VESA is supported.
10233 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
10234 supported.
10235
00308ecf
VS
102362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
10239
f66924a4
RM
102402010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10241
10242 * util/misc.c (make_system_path_relative_to_its_root): Work around
10243 special-casing of "/", as previous incarnation of this routine did.
10244
cbca0ada
VS
102452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 Fix any-emu compilation.
10248
10249 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
10250 * grub_bin2h_SOURCES: New variable.
10251
34a66d99
RM
102522010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10253
10254 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
10255
94fabf58
RM
102562010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10257
10258 * util/grub.d/00_header.in: Fix handling of locale_dir.
10259
02cf98ca
VS
102602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
10263 as possible unifont location (Gentoo).
10264 Reported by: Alexander Brüning
10265
327dbcd7
VS
102662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 Don't try to generate lists for kernel.img.
10269
10270 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
10271 (pkglib_MODULES): Remove kernel.img.
10272 (kernel_img_EXPORTS): Removed.
10273 (kernel_img_RELOCATABLE): New variable.
10274 * conf/x86_64-efi.rmk: Likewise.
10275 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
10276
ca467290
VS
102772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
10280 grub_xasprintf or grub_snprintf.
10281 (grub_vsprintf): Likewise.
10282 (grub_snprintf): New proto.
10283 (grub_vsnprintf): Likewise.
10284 (grub_xasprintf): Likewise.
10285 (grub_xvasprintf): Likewise.
10286 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
10287 (grub_sprintf): Removed.
10288 (grub_vsnprintf): New function.
10289 (grub_snprintf): Likewise.
10290 (grub_xvasprintf): Likewise.
10291 (grub_xasprintf): Likewise.
10292 (grub_vsprintf): Renamed to ...
10293 (grub_vsnprintf_real): ...this. New argument max_len.
10294
aca655fd
BC
102952010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
10296
10297 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
10298 fix grub-script-check warning.
10299
7ee92c32
VS
103002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * include/grub/font.h (grub_font_load): Fix prototype.
10303
f80927ca
VS
103042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
10307
119c50ea
VS
103082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 * include/grub/x86_64/at_keyboard.h: New file.
10311
47d5f3c1
VS
103122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10313
10314 * loader/mips/linux.c: Include missing grub/i18n.h.
10315
55ff5266
RM
103162009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10317
10318 * normal/menu.c (notify_execution_failure): Clarify error message.
10319
c893cc87
RM
103202009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10321
10322 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
10323 return value (and revert all return statements). Update users.
10324
917dd370
CW
103252010-01-20 Dan Merillat <debian@dan.merillat.org>
10326
10327 * kern/device.c (grub_device_iterate): Allocate new part_ent
10328 structure based on sizeof (*p) rather than sizeof (p->next), to
10329 account for structure padding.
10330
10331 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
10332 disk is NULL, which might happen for LVM physical volumes with no
10333 LVM signature.
10334
d4a4ee57
RM
103352009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10336
10337 * loader/mips/linux.c (grub_cmd_initrd)
10338 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
10339
103402009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10341
10342 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
10343 (grub_video_video_init, grub_video_bitmap_init)
10344 (grub_font_manager_init, grub_term_gfxterm_init)
10345 (grub_at_keyboard_init): New extern declarations.
10346 (grub_machine_init): Initialize gfxterm and at_keyboard.
10347
10348 * kern/main.c (grub_main): Revert grub_printf delay kludge.
10349
10350 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
10351 `gfxterm.mod' into core image.
10352
10353 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10354 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10355 (kernel_img_FORMAT): Copy to ...
10356
10357 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10358 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10359 (kernel_img_FORMAT): ... here, and ...
10360
10361 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10362 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10363 (kernel_img_FORMAT): ... here.
10364
10365 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
10366 and input (at_keyboard) terminals in kernel.
10367 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
10368
10369 (pkglib_MODULES): Remove `pci.mod'.
10370 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
10371 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
10372 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
10373 (at_keyboard_mod_LDFLAGS): Remove variables.
10374
103752010-01-11 Felix Zielcke <fzielcke@z-51.de>
10376
10377 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
10378
103792009-12-10 Robert Millan <rmh.grub@aybabtu.com>
10380
10381 * include/grub/mips/libgcc.h: Only export symbols for functions
10382 that libgcc provides.
10383
103842009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 MIPS support.
10387
10388 * bus/bonito.c: New file.
10389 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
10390 GRUB_PCI_NUM_DEVICES.
10391 * term/i386/pc/serial.c: Move to ...
10392 * term/serial.c: ... here. All users updated.
10393 * util/i386/pc/grub-mkimage.c: Move to ...
10394 * util/grub-mkrawimage.c: ... here. All users updated.
10395 * term/i386/pc/at_keyboard.c: Move to ...
10396 * term/at_keyboard.c: ... here. All users updated.
10397 * conf/mips-qemu-mips.rmk: New file.
10398 * conf/mips-yeeloong.rmk: Likewise.
10399 * conf/mips.rmk: Likewise.
10400 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
10401 mipsel-qemu-mips.
10402 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
10403 to port addresses.
10404 (grub_ata_pciinit): Support CS5536.
10405 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
10406 * font/font_cmd.c (loadfont_command): Open file before passing it to
10407 grub_font_load.
10408 (pseudo_file_read): New function.
10409 (pseudo_file_close): Likewise.
10410 (pseudo_fs): New structure.
10411 (load_font_module): New function.
10412 (GRUB_MOD_INIT(font_manager)): Load embedded font.
10413 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
10414 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
10415 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
10416 * include/grub/i386/at_keyboard.h: Split into ...
10417 * include/grub/at_keyboard.h: ... this ...
10418 * include/grub/i386/at_keyboard.h: ... and this.
10419 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
10420 New prototype.
10421 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
10422 updated.
10423 (grub_elf64_size): Likewise.
10424 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
10425 filename.
10426 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
10427 * include/grub/i386/coreboot/serial.h: Rewritten.
10428 * include/grub/i386/ieee1275/serial.h: Include
10429 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
10430 * include/grub/i386/pc/serial.h: Moved from here ...
10431 * include/grub/serial.h: ... to here. All users updated.
10432 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
10433 (GRUB_PCI_NUM_BUS): Likewise.
10434 (GRUB_PCI_NUM_DEVICES): Likewise.
10435 (grub_pci_device_map_range): Add missing volatile keyword.
10436 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
10437 * include/grub/mips/at_keyboard.h: New file.
10438 * include/grub/mips/cache.h: Likewise.
10439 * include/grub/mips/io.h: Likewise.
10440 * include/grub/mips/kernel.h: Likewise.
10441 * include/grub/mips/libgcc.h: Likewise.
10442 * include/grub/mips/pci.h: Likewise.
10443 * include/grub/mips/qemu-mips/boot.h: Likewise.
10444 * include/grub/mips/qemu-mips/kernel.h: Likewise.
10445 * include/grub/mips/qemu-mips/loader.h: Likewise.
10446 * include/grub/mips/qemu-mips/memory.h: Likewise.
10447 * include/grub/mips/qemu-mips/serial.h: Likewise.
10448 * include/grub/mips/qemu-mips/time.h: Likewise.
10449 * include/grub/mips/relocator.h: Likewise.
10450 * include/grub/mips/time.h: Likewise.
10451 * include/grub/mips/types.h: Likewise.
10452 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
10453 * include/grub/mips/yeeloong/boot.h: Likewise.
10454 * include/grub/mips/yeeloong/kernel.h: Likewise.
10455 * include/grub/mips/yeeloong/loader.h: Likewise.
10456 * include/grub/mips/yeeloong/memory.h: Likewise.
10457 * include/grub/mips/yeeloong/pci.h: Likewise.
10458 * include/grub/mips/yeeloong/serial.h: Likewise.
10459 * include/grub/mips/yeeloong/time.h: Likewise.
10460 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
10461 * kern/elf.c (grub_elf32_size): New parameter. All users
10462 updated.
10463 (grub_elf64_size): Likewise.
10464 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
10465 Load modules before saying "Welcome to GRUB!".
10466 Call grub_refresh after saying "Welcome to GRUB!".
10467 * kern/mips/cache.S: New file.
10468 * kern/mips/cache_flush.S: Likewise.
10469 * kern/mips/dl.c: Likewise.
10470 * kern/mips/init.c: Likewise.
10471 * kern/mips/qemu-mips/init.c: Likewise.
10472 * kern/mips/startup.S: Likewise.
10473 * kern/mips/yeeloong/init.c: Likewise.
10474 * kern/term.c (grub_putcode): Handle NULL terminal.
10475 (grub_getcharwidth): Likewise.
10476 (grub_getkey): Likewise.
10477 (grub_checkkey): Likewise.
10478 (grub_getkeystatus): Likewise.
10479 (grub_getxy): Likewise.
10480 (grub_getwh): Likewise.
10481 (grub_gotoxy): Likewise.
10482 (grub_cls): Likewise.
10483 (grub_setcolorstate): Likewise.
10484 (grub_setcolor): Likewise.
10485 (grub_getcolor): Likewise.
10486 (grub_refresh): Likewise.
10487 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
10488 (write_jump): Add hatch nop.
10489 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
10490 * lib/mips/setjmp.S: New file.
10491 * loader/mips/linux.c: Likewise.
10492 * term/i386/pc/at_keyboard.c: Move from here ...
10493 * term/at_keyboard.c: ... to here.
10494 * term/i386/pc/serial.c: Moved from here ...
10495 * term/serial.c: ... to here. All users updated.
10496 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
10497 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
10498 (serial_translate_key_sequence): Avoid deadlock.
10499 (grub_serial_getkey): Handle backspace.
10500 (grub_serial_putchar): Fix newline handling.
10501 * util/i386/pc/grub-mkimage.c: Move from here ...
10502 * util/grub-mkrawimage.c: ... to here. All users updated.
10503 (generate_image): New parameters 'font_path' and 'format'.
10504 Support embedding font.
10505 Use grub_host_to_target* instead of grub_cpu_to_le*.
10506 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
10507 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
10508 (options): New option "--font".
10509 (usage): Likewise.
10510 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
10511 (main): Handle "--font".
10512 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
10513 (grub_virtual_screen_setup): Set bg_color_display.
10514 (redraw_screen_rect): Use bg_color_display instead of incorrect
10515 bg_color.
10516 (grub_gfxterm_cls): Likewise.
10517 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
10518 Support embedding config file.
10519 (add_segments): Likewise.
10520 (options): New option "--config".
10521 (main): Handle "--config".
10522 * video/sm712.c: New file.
10523
25c2b5b3
RM
105242010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10525
10526 Fix parallel builds.
10527
10528 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
10529 font.c depend on ascii.h).
10530
105312010-01-12 Carles Pina i Estany <carles@pina.cat>
10532
10533 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
10534
105352010-01-11 Carles Pina i Estany <carles@pina.cat>
10536
10537 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
10538 By default: disabled.
10539 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
10540 parameter.
10541
105422010-01-10 Carles Pina i Estany <carles@pina.cat>
10543
10544 * font/font.c: Update copyright years.
10545 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
10546
105472010-01-10 Carles Pina i Estany <carles@pina.cat>
10548
10549 * font/font.c: Include `ascii.h'.
10550 (ASCII_BITMAP_SIZE): New macro.
10551 (ascii_font_glyph): Define.
10552 (ascii_glyph_lookup): New function.
10553 (grub_font_get_string_width): Change comment. If glyph not found, use
10554 ascii_glyph_lookup.
10555 (grub_font_get_glyph_with_fallback): If glyph not available returns
10556 ascii_glyph_lookup.
10557 * util/grub-mkfont.c (file_formats): New enum.
10558 (options): Add `ascii-bitmaps' new option.
10559 (usage): Add `asii-bitmaps' new option.
10560 (write_font_ascii_bitmap): New function.
10561 (write_font): Rename to ...
10562 (write_font_p2): ... this. Remove print_glyphs call.
10563 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
10564 used. Call print_glyphs.
10565 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
10566
105672010-01-14 Robert Millan <rmh.grub@aybabtu.com>
10568
10569 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
10570 (grub_bin2h_SOURCES): New variable.
10571 * util/bin2h.c: New file.
10572
915fc1b8
VS
105732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10574
10575 * include/multiboot.h: Resynced with spec.
10576 * include/multiboot2.h: Likewise.
10577 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
10578 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
10579
9444b678
RM
105802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10581
10582 * include/grub/term.h (grub_term_register_input,
10583 grub_term_register_output): Check return of terminal init()
10584 routines, and abort if errors are raised.
10585
10586 * commands/terminal.c: Update copyright year.
10587
cba98e8d
RM
105882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10589
10590 * commands/terminal.c (grub_cmd_terminal_input)
10591 (grub_cmd_terminal_output): Check return of terminal init()
10592 routines, and abort if errors are raised.
10593
6f7db5d6
VS
105942010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 * include/grub/i386/bsd.h: Fix include pathes.
10597
262bff8d
VS
105982010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 Add missing *BSD copyright headers.
10601
10602 * include/grub/aout.h: Add BSD licence.
10603 * include/grub/i386/bsd.h: Parts under different licences moved to ...
10604 * include/grub/i386/freebsd_linker.h: ... here,
10605 * include/grub/i386/freebsd_reboot.h: ... here,
10606 * include/grub/i386/netbsd_bootinfo.h: ... here,
10607 * include/grub/i386/netbsd_reboot.h: ... here,
10608 * include/grub/i386/openbsd_bootarg.h: ... here,
10609 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
10610 licence to each file.
10611
b2cab848
RM
106122010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10613
10614 * acinclude.m4: Remove `nop' assembly instruction; it's not
10615 implemented by all architectures.
10616
2cb6be4b
RM
106172010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10618
10619 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
10620 ELILO. This is no longer necessary.
10621
a2eaee15
BC
106222010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
10623
10624 Added new tool, grub-scrit-check to verify grub.cfg syntax.
10625
10626 * util/grub-script-check.c: grub-script-check tool.
10627 * conf/common.rmk: Make rules for grub-script-check.
10628
88d17012
RM
106292010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10630
10631 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
10632 spotting it back in 2008. Shame on me for forgetting he did.
10633
10634 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
10635
8040619d
RM
106362010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10637
10638 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
10639 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
10640 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
10641 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
10642 (GRUB_VIDEO_TYPE_EFI): Rename to ...
10643 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
10644
a0c2a0f6
RM
106452010-01-17 Robert Millan <rmh.grub@aybabtu.com>
10646
10647 * include/grub/test.h: Add license header.
10648 * tests/example_functional_test.c: Likewise.
10649 * tests/example_unit_test.c: Likewise.
10650 * tests/lib/functional_test.c: Likewise.
10651 * tests/lib/test.c: Likewise.
10652 * tests/lib/unit_test.c: Likewise.
10653
b0b13907
VS
106542010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
10655
10656 Use flag-based instead of hook-based video mode selection and "auto"
10657 keyword.
10658
10659 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
10660 (grub_video_set_mode): Changed prototype. All users updated.
10661 (grub_video_check_mode_flag): New inline function.
10662 * video/video.c (parse_modespec): New function.
10663 (grub_video_set_mode): Parse flags and keywords.
10664
ea379330 106652010-01-17 Carles Pina i Estany <carles@pina.cat>
10666
10667 * util/misc.c (grub_util_info): Fix the order of the parameters in a
10668 fprintf call.
10669
e15c215e
FZ
106702010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
10671
10672 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
10673
409ae1c9 106742010-01-16 Carles Pina i Estany <carles@pina.cat>
10675
10676 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
10677 string.
10678 * util/grub-emu.c (usage): Likewise.
10679 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
10680 * util/i386/efi/grub-mkimage.c (usage): Likewise.
10681 * util/i386/pc/grub-mkimage.c (usage): Likewise.
10682 * util/i386/pc/grub-setup.c (usage): Likewise.
10683
70a14d3d 106842010-01-16 Carles Pina i Estany <carles@pina.cat>
10685
10686 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
10687 the message.
10688 (grub_util_info): Likewise.
10689 (grub_util_error): Likewise.
10690 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
10691 and/or new lines in `grub_util_warna', `grub_util_info',
10692 `grub_util_error' calls.
10693 * util/getroot.c: Likewise.
10694 * util/grub-editenv.c: Likewise.
10695 * util/grub-emu.c: Likewise.
10696 * util/grub-fstest.c: Likewise.
10697 * util/grub-mkdevicemap.c: Likewise.
10698 * util/grub-mkfont.c: Likewise.
10699 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10700 * util/grub-mkrelpath.c: Likewise.
10701 * util/grub-pe2elf.c: Likewise.
10702 * util/grub-probe.c: Likewise.
10703 * util/hostdisk.c: Likewise.
10704 * util/i386/efi/grub-mkimage.c: Likewise.
10705 * util/i386/pc/grub-mkimage.c: Likewise.
10706 * util/i386/pc/grub-setup.c: Likewise.
10707 * util/ieee1275/ofpath.c: Likewise.
10708 * util/mkisofs/eltorito.c: Likewise.
10709 * util/mkisofs/rock.c: Likewise.
10710 * util/mkisofs/write.c: Likewise.
10711 * util/raid.c: Likewise.
10712 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
10713 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10714
a0b766fc
VS
107152010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 Enable multiboot on non-pc.
10718
10719 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
10720 multiboot.mod and multiboot2.mod to ...
10721 * conf/i386.rmk (pkglib_MODULES): ... here.
10722 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
10723 Moved to ...
10724 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
10725 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
10726 Moved to ...
10727 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
10728 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
10729 Moved to ...
10730 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
10731 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
10732 Moved to ...
10733 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
10734 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
10735 relocator.mod.
10736 (ata_mod_SOURCES): Removed.
10737 (ata_mod_CFLAGS): Likewise.
10738 (ata_mod_LDFLAGS): Likewise.
10739 (relocator_mod_SOURCES): Removed.
10740 (relocator_mod_CFLAGS): Likewise.
10741 (relocator_mod_ASFLAGS): Likewise.
10742 (relocator_mod_LDFLAGS): Likewise.
10743 Include i386.mk.
10744 * include/grub/x86_64/multiboot.h: New file.
10745 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
10746 Terminate EFI.
10747
884ade56
VS
107482010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 Video multiboot support.
10751
10752 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
10753 New prototype.
10754 * include/multiboot.h: Resynced with multiboot specification.
10755 * include/multiboot2.h: Likewise.
10756 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
10757 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
10758 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
10759 (HAS_VGA_TEXT): Likewise.
10760 (accepts_video): New variable.
10761 (grub_multiboot_set_accepts_video): New function.
10762 (grub_multiboot_get_mbi_size): Account for video structures.
10763 (set_video_mode): New function.
10764 (retrieve_video_parameters): Likewise.
10765 (grub_multiboot_make_mbi): Fill video fields.
10766
0d90e8a6
VS
107672010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 Video driver ids.
10770
10771 * include/grub/video.h (grub_video_driver_id): New type.
10772 (grub_video_adapter): New member 'id'. All users updated.
10773 (grub_video_get_driver_id): New proto.
10774 * video/video.c (grub_video_get_driver_id): New function.
10775
5c71db1b 107762010-01-14 Carles Pina i Estany <carles@pina.cat>
10777
10778 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
10779 `var=val'.
10780
cca15b52 107812010-01-14 Carles Pina i Estany <carles@pina.cat>
10782
10783 * normal/cmdline.c (print_completion): Gettextizze.
10784
c586fbb2 107852001-01-14 Carles Pina i Estany <carles@pina.cat>
10786
10787 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
10788
ba2f6848 107892010-01-14 Carles Pina i Estany <carles@pina.cat>
10790
10791 * gettext/gettext.c (grub_gettext_translate): Push and pop
10792 grub_errno.
10793 (grub_gettext_delete_list): Change comment style.
10794 * kern/err.c (grub_error): Gettextizze.
10795 (grub_fatal): Gettextizze.
10796
0a46429a
RM
107972010-01-14 Robert Millan <rmh.grub@aybabtu.com>
10798
10799 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
10800 (grub_linux16_real_boot): ... this.
10801 * kern/i386/loader.S: Likewise.
10802 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
10803 (grub_linux16_boot): New function. Switches to text mode and calls
10804 grub_linux16_real_boot().
10805
10806 * loader/i386/bsd.c: Include `<grub/video.h>'.
10807 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
10808 text mode before calling grub_unix_real_boot().
10809
10810 * loader/i386/multiboot.c: Include `<grub/video.h>'.
10811 (grub_multiboot_boot): Switch to text mode before calling
10812 grub_relocator32_boot().
10813
10814 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
10815 (grub_chainloader_boot): Switch to text mode before calling
10816 grub_chainloader_real_boot().
10817
d6f93a66
RM
108182010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
108192010-01-05 Colin Watson <cjwatson@ubuntu.com>
10820
10821 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
10822 non-empty value.
10823
108242010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
108252010-01-05 Colin Watson <cjwatson@ubuntu.com>
10826
10827 * util/grub.d/00_header.in: Define a "savedefault" function for use
10828 in menu entries.
10829 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
10830
108312010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
108322010-01-05 Colin Watson <cjwatson@ubuntu.com>
10833
10834 * util/grub-mkconfig_lib.in (save_default_entry): Only set
10835 saved_entry if boot_once is unset.
10836 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
10837 previous saved entry (i.e. grub-reboot).
10838
108392009-12-08 Colin Watson <cjwatson@ubuntu.com>
10840
10841 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
10842
108432009-12-08 Colin Watson <cjwatson@ubuntu.com>
10844
10845 * util/grub.d/00_header.in: Use `set var=val' rather than plain
10846 `var=val'.
10847 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
10848
108492009-12-08 Colin Watson <cjwatson@ubuntu.com>
10850
10851 * util/grub-reboot.in: Fix --version output.
10852 * util/grub-set-default.in: Likewise.
10853
108542009-12-08 Colin Watson <cjwatson@ubuntu.com>
10855
10856 * util/grub.d/00_header.in: Silently ignore zero-sized environment
10857 blocks.
10858
108592009-12-08 Colin Watson <cjwatson@ubuntu.com>
10860
10861 * util/grub.d/00_header.in: Quote the value assigned to `default',
10862 in case it contains spaces.
10863
108642009-12-08 Colin Watson <cjwatson@ubuntu.com>
10865
10866 * util/grub.d/30_os-prober.in: Fix merge error that moved a
10867 `save_default_entry' call from the macosx case to the linux case.
10868
108692009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
108702009-10-25 Colin Watson <cjwatson@ubuntu.com>
10871
10872 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
10873 in `chosen' environment variable.
10874 * normal/menu_text.c (get_entry_number): Check if the variable
10875 matches the title of a menu entry.
10876 (run_menu): Pass menu to get_entry_number.
10877
10878 * util/grub-reboot.in: New file.
10879 * util/grub-set-default.in: New file.
10880 * conf/common.rmk (grub-reboot): New utility.
10881 (grub-set-default): New utility.
10882
10883 * util/grub-mkconfig_lib.in (save_default_entry): New function.
10884 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
10885 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
10886 move it to `saved_entry' for the next boot. Load environment on
10887 initialisation.
10888 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
10889 * util/grub.d/10_hurd.in: Likewise.
10890 * util/grub.d/10_linux.in (linux_entry): Likewise.
10891 * util/grub.d/10_windows.in: Likewise.
10892 * util/grub.d/30_os-prober.in: Likewise.
10893
10894 * util/grub-install.in: Create environment block.
10895 * util/i386/efi/grub-install.in: Likewise.
10896 * util/ieee1275/grub-install.in: Likewise.
10897 * util/sparc64/ieee1275/grub-install.in: Likewise.
10898
0934d184
BC
108992010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
10900
10901 Unit testing framework for GRUB.
10902
10903 * Makefile.in: Test framework build rules for 'make check'.
10904 * conf/tests.rmk: Build rules for individual tests and framework.
10905
10906 * include/grub/test.h: Header file for whitebox tests.
10907 * tests/lib/functional_test.c: Framework support for whitebox
10908 functional tests.
10909 * tests/lib/test.c: Common whitebox testing code for unit and
10910 functional tests.
10911 * tests/lib/unit_test.c: Framework support for whitebox unit
10912 tests.
10913
10914 * tests/util/grub-shell-tester.in: Support utility for grub-script
10915 tests.
10916 * tests/util/grub-shell.in: Utility to execute grub-script
10917 commands in a Qemu instance.
10918
10919 * tests/example_functional_test.c: Example whitebox functional
10920 test.
10921 * tests/example_grub_script_test.in: Example grub-script test.
10922 * tests/example_scripted_test.in: Example scripted test.
10923 * tests/example_unit_test.c: Example whitebox unit test.
10924
9c4ffeeb
VS
109252010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10926
10927 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
10928 Add loader/i386/multiboot_mbi.c.
10929 (multiboot2_mod_SOURCES): Likewise.
10930 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
10931 (multiboot2_mod_SOURCES): Likewise.
10932 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
10933 (grub_multiboot_make_mbi): Likewise.
10934 (grub_multiboot_free_mbi): Likewise.
10935 (grub_multiboot_init_mbi): Likewise.
10936 (grub_multiboot_add_module): Likewise.
10937 (grub_multiboot_set_bootdev): Likewise.
10938 * loader/i386/multiboot.c (mbi): Removed.
10939 (mbi_dest): Likewise.
10940 (alloc_mbi): New variable.
10941 (grub_multiboot_payload_size): Removed. All users updated.
10942 (grub_multiboot_pure_size): New variable.
10943 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
10944 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
10945 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
10946 (grub_fill_multiboot_mmap): Likewise.
10947 (grub_multiboot_get_bootdev): Likewise.
10948 (grub_multiboot): Use multiboot_mbi functions.
10949 * loader/i386/multiboot_mbi.c: New file.
10950
17383dfe
VS
109512010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
10954 it would result in module crash.
10955
c1f28820
VS
109562010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
10959 (grub_ofconsole_getwh): Split to ...
10960 (grub_ofconsole_getwh): ... this.
10961 (grub_ofconsole_dimensions): ...and this.
10962 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
10963
58655a16
RM
109642010-01-13 Robert Millan <rmh.grub@aybabtu.com>
10965
10966 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
10967
10891398
VS
109682010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 * loader/i386/pc/multiboot2.c: Removed stalled file.
10971
0b8a223c
VS
109722010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10973
10974 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
10975 Reported by: Grégoire Sutre
10976
92ab12b0
RM
109772010-01-11 Robert Millan <rmh.grub@aybabtu.com>
10978
10979 * util/misc.c (canonicalize_file_name): New function.
10980 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
10981 instead of realpath().
10982
a788afb6
CW
109832010-01-11 Colin Watson <cjwatson@ubuntu.com>
10984
10985 * util/grub-install.in (usage): Clarify meaning of --root-directory,
10986 and make it clearer that it's optional. Based on confusion
10987 witnessed on IRC.
10988
ffa8e3d2
VS
109892010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
10992 in premature implicit newline.
10993
e9060a9d
VS
109942010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10995
10996 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
10997 which resulted in garbled command line at the end of screen.
10998
f0d0c0b7
RM
109992010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11000
11001 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
11002 initialization with similar approach as with other Linux loaders.
11003
0e60bae7
RM
110042010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11005
11006 Fix i386-ieee1275 build.
11007
11008 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
11009 and grub_term_height() for video_{width,height} initialization.
11010
110112010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
11012
11013 Fix grub-emu build.
11014
11015 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
11016
cdb3f378
RM
110172010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
110182010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11019
11020 Support for multiple terminals.
11021
11022 * Makefile.in (pkglib_DATA): terminal.lst.
11023 (terminal.lst): New target.
11024 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
11025 (GRUB_MOD_INIT(handler)): Likewise.
11026 (GRUB_MOD_FINI(handler)): Likewise.
11027 * commands/help.c (grub_cmd_help): Handle multiple terminals.
11028 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
11029 * commands/sleep.c (do_print): Use grub_term_restore_pos.
11030 (grub_cmd_sleep): Use grub_term_save_pos.
11031 * commands/terminal.c: New file.
11032 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
11033 commands/terminal.c and lib/charset.c.
11034 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
11035 (pkglib_MODULES): Add terminal.mod.
11036 (terminal_mod_SOURCES): New variable.
11037 (terminal_mod_CFLAGS): Likewise.
11038 (terminal_mod_LDFLAGS): Likewise.
11039 * genhandlerlist.sh: Don't handle terminals.
11040 * genmk.rb: Generate terminal-*.lst.
11041 * genterminallist.sh: New file.
11042 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
11043 (grub_is_valid_utf8): Likewise.
11044 (grub_utf8_to_ucs4_alloc): Likewise.
11045 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
11046 (grub_menu_register_viewer): Changed argument.
11047 (grub_menu_try_text): New proto.
11048 (grub_gfxmenu_try_hook): New declaration.
11049 * include/grub/normal.h (grub_normal_exit_level): New declaration.
11050 (grub_menu_init_page): Additional argument term.
11051 (grub_normal_init_page): Likewise.
11052 (grub_cmdline_get): Arguments simplified.
11053 (grub_utf8_to_ucs4_alloc): Removed.
11054 (grub_print_ucs4): Additional argument term.
11055 (grub_getstringwidth): Likewise.
11056 (grub_print_message_indented): Likewise.
11057 (grub_menu_text_register_instances): New proto.
11058 (grub_show_menu): Likewise.
11059 (read_terminal_list): Likewise.
11060 (grub_set_more): Likewise.
11061 * include/grub/parser.h: Include handler.h.
11062 * include/grub/reader.h: Rewritten.
11063 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
11064 (GRUB_TERM_WIDTH): Changed to function.
11065 (GRUB_TERM_HEIGHT): Likewise.
11066 (GRUB_TERM_BORDER_WIDTH): Likewise.
11067 (GRUB_TERM_BORDER_HEIGHT): Likewise.
11068 (GRUB_TERM_NUM_ENTRIES): Likewise.
11069 (GRUB_TERM_ENTRY_WIDTH): Likewise.
11070 (GRUB_TERM_CURSOR_X): Likewise.
11071 (grub_term_input_class): Likewise.
11072 (grub_term_output_class): Likewise.
11073 (grub_term_outputs_disabled): New declaration.
11074 (grub_term_inputs_disabled): Likewise.
11075 (grub_term_outputs): Likewise.
11076 (grub_term_inputs): Likewise.
11077 (grub_term_register_input): Rewritten.
11078 (grub_term_register_output): Likewise.
11079 (grub_term_unregister_input): Likewise.
11080 (grub_term_unregister_output): Likewise.
11081 (FOR_ACTIVE_TERM_INPUTS): New macro.
11082 (FOR_DISABLED_TERM_INPUTS): Likewise.
11083 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11084 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11085 * include/grub/terminfo.h: Add oterm argument to all protypes.
11086 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
11087 Use grub_rescue_run.
11088 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
11089 All users updated.
11090 * kern/reader.c: Removed. All users updated.
11091 * kern/rescue_reader.c (grub_rescue_init): Removed.
11092 (grub_rescue_reader): Likewise.
11093 (grub_register_rescue_reader): Likewise.
11094 (grub_rescue_run): New function based on kern/reader.c.
11095 * kern/term.c: Adapted for multiterm.
11096 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
11097 (grub_is_valid_utf8): Likewise.
11098 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
11099 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
11100 right terminal.
11101 * loader/i386/linux.c (grub_linux_boot): Likewise.
11102 * normal/auth.c (grub_username_get): New function.
11103 (grub_auth_check_authentication): Use grub_username_get.
11104 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
11105 * normal/color.c: Adapt for multiterm.
11106 * normal/main.c (read_config_file): Don't use grub_reader_loop.
11107 (grub_normal_init_page): Additional argument term.
11108 (read_lists): Call read_terminal_lists.
11109 (grub_enter_normal_mode): Call grub_cmdline_run.
11110 Handle grub_normal_exit_level.
11111 (grub_cmd_normal): Make reentrant.
11112 (grub_cmd_normal_exit): New function.
11113 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
11114 * normal/menu.c: Adapt for multiterm.
11115 * normal/menu_entry.c: Likewise.
11116 * normal/menu_text.c: Likewise.
11117 * normal/menu_viewer.c: Removed. All users updated.
11118 * normal/term.c: New file.
11119 * util/console.c: Change order of includes to workaround a bug in
11120 ncurses headers.
11121 * term/terminfo.c: New argument oterm on all exported functions.
11122 All users updated.
11123 * util/grub-editenv.c (grub_term_input_class): Removed.
11124 (grub_term_output_class): Likewise.
11125
1a064917
RM
111262010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11127
11128 Make loader output a bit more user-friendly.
11129
11130 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
11131 is being loaded. Likewise for the Hurd.
11132
11133 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
11134 that kernel of FreeBSD ${version} is being loaded.
11135
11136 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
11137 grub_dprintf().
11138 (grub_cmd_initrd): Likewise.
11139 * util/grub.d/10_linux.in (linux_entry): Print message indicating
11140 that Linux ${version} is being loaded. Likewise for initrd.
11141
5ce0a83a 111422010-01-09 Carles Pina i Estany <carles@pina.cat>
11143
11144 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
11145
809bbfeb 111462010-01-08 Carles Pina i Estany <carles@pina.cat>
11147
11148 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
11149 (GRUB_MOD_INIT): Gettextizze.
11150 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
11151 (GRUB_MOD_INIT): Gettextizze.
11152 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
11153 (grub_cmd_linux): Capitalise Linux.
11154 (GRUB_MOD_INIT): Gettextizze.
11155 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
11156 (grub_cmd_linux): Capitalise Linux.
11157 (GRUB_MOD_INIT): Gettextizze.
11158 * loader/i386/linux.c: Include `<grub/i18n.h>'.
11159 (grub_cmd_linux): Capitalise Linux.
11160 (GRUB_MOD_INIT): Gettextizze.
11161 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
11162 (GRUB_MOD_INIT): Gettextizze.
11163 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
11164 (grub_cmd_linux): Capitalise Linux.
11165 (GRUB_MOD_INIT): Gettextizze.
11166 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
11167 (grub_cpu_xnu_init): Gettextizze.
11168 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
11169 (GRUB_MOD_INIT): Gettextizze.
11170 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
11171 (GRUB_MOD_INIT): Gettextizze.
11172 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
11173 (grub_linux_load64): Capitalise Linux.
11174 (GRUB_MOD_INIT): Gettextizze.
11175 * loader/xnu.c: Include `<grub/i18n.h>'.
11176 (GRUB_MOD_INIT): Gettextizze.
11177 * po/POTFILES: Add `loader/efi/appleloader.c',
11178 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
11179 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
11180 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
11181 `loader/i386/xnu.c', `loader/multiboot_loader.c',
11182 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
11183 and `loader/xnu.c'.
11184
b394b2ca
RM
111852010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11186
11187 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
11188
111892010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
11190
11191 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
11192 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
11193 * util/mkisofs/mkisofs.c (main): Readjust --version output.
11194
bc8b32b3
RM
111952010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11196
11197 Reset Multiboot 2 support. New loader implements the draft in
11198 /branches/multiboot2 and shares as much code as possible with the
11199 production Multiboot 1 implementation.
11200
11201 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
11202 * loader/multiboot2.c: Likewise.
11203 * loader/i386/multiboot_helper.S: Likewise.
11204 * include/multiboot2.h: Replace with latest version from the draft
11205 in /branches/multiboot2.
11206
11207 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
11208 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
11209 and `loader/multiboot2.c'.
11210 (pkglib_MODULES): Add `multiboot2.mod'.
11211 (multiboot2_mod_SOURCES): New variable.
11212 (multiboot2_mod_LDFLAGS): Likewise.
11213 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
11214
11215 * conf/i386-pc.rmk: Likewise.
11216
11217 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
11218 (multiboot_mod_SOURCES): Remove variable.
11219 (multiboot_mod_LDFLAGS): Likewise.
11220 (multiboot_mod_CFLAGS): Likewise.
11221
11222 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
11223 `<multiboot2.h>' instead of `<multiboot.h>'.
11224 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
11225 (MULTIBOOT_HEADER_MAGIC): New macros.
11226
11227 * loader/multiboot_loader.c (module_version_status): Remove variable.
11228 (find_multi_boot2_header): Remove function.
11229 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
11230 logic. Always check for the Multiboot version we're compiling for.
11231 (grub_cmd_module_loader): Likewise.
11232 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
11233 command instead of `multiboot'.
11234
5d2c52b8
RM
112352010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11236
11237 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
11238 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
11239 all users.
11240
53108d92
RM
112412010-01-07 Robert Millan <rmh.grub@aybabtu.com>
112422010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11243
11244 Fix breakage introduced with previous commit.
11245
11246 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
11247 commands.
11248 * normal/handler.c (read_handler_list): Revert part of previous commit
11249 affecting this file.
11250 * normal/main.c (read_lists): Move read_handler_list() call back to ...
11251 (grub_normal_execute): ... here.
11252
e2e936b2
RM
112532010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11254
11255 Merge prefix-redefinition-fix branch.
11256
11257 * normal/autofs.c (read_fs_list): Make function capable of being
11258 run multiple times, gracefuly replacing the previous data
11259 structures.
11260 * normal/dyncmd.c (read_command_list): Likewise.
11261 * normal/handler.c (read_handler_list): Likewise.
11262 * normal/main.c (read_lists): New function. Calls all the
11263 list reading functions.
11264 (grub_normal_execute): Use read_lists() instead of calling all
11265 list reading functions explicitly. Register read_lists() as a
11266 variable hook attached to ${prefix}.
11267
607a3701
VS
112682010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 Merge crypto branch.
11271
11272 * Makefile.in (pkglib_DATA): Add crypto.lst.
11273 (crypto.lst): New target.
11274 * commands/hashsum.c: New file.
11275 * commands/password.c (check_password): Use grub_crypto_memcmp.
11276 * commands/password_pbkdf2.c: New file.
11277 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
11278 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
11279 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
11280 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
11281 -I$(srcdir)/lib/libgcrypt_wrap.
11282 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
11283 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
11284 password_pbkdf2.mod.
11285 (crypto_mod_SOURCES): New variable.
11286 (crypto_mod_CFLAGS): Likewise.
11287 (crypto_mod_LDFLAGS): Likewise.
11288 (hashsum_mod_SOURCES): New variable.
11289 (hashsum_mod_CFLAGS): Likewise.
11290 (hashsum_mod_LDFLAGS): Likewise.
11291 (pbkdf2_mod_SOURCES): New variable.
11292 (pbkdf2_mod_CFLAGS): Likewise.
11293 (pbkdf2_mod_LDFLAGS): Likewise.
11294 (password_pbkdf2_mod_SOURCES): New variable.
11295 (password_pbkdf2_mod_CFLAGS): Likewise.
11296 (password_pbkdf2_mod_LDFLAGS): Likewise.
11297 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
11298 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
11299 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
11300 Include conf/gcry.rmk.
11301 * include/grub/auth.h: Rewritten.
11302 * include/grub/crypto.h: New file.
11303 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
11304 * include/grub/normal.h (read_crypto_list): New prototype.
11305 * lib/crypto.c: New file.
11306 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
11307 * lib/pbkdf2.c: Likewise.
11308 * normal/auth.c (grub_auth_strcmp): Removed.
11309 (grub_iswordseparator): Likewise.
11310 (grub_auth_strword): Likewise.
11311 (is_authenticated): Use grub_strword.
11312 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
11313 and grub_strword. Pass entered password to authentication callback.
11314 * normal/crypto.c: New file.
11315 * normal/main.c: Call read_crypto_list.
11316 * util/grub-mkpasswd-pbkdf2.c: New file.
11317 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
11318
42841caa
VS
113192010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 Fix descent and ascent calculation.
11322
11323 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
11324 (options): New option "asce".
11325 (usage): Likewise.
11326 (add_char): Ignore invalid glyphs for descent calculation.
11327 Calculate ascent from actual content.
11328 (print_glyphs): Use 'asce'.
11329 (write_font): Likewise. Allow ascent override.
11330 (main): Handle "asce" option.
11331
e7730de7 113322010-01-06 Carles Pina i Estany <carles@pina.cat>
11333
11334 * kern/err.c: Include `<grub/i18n.h>'.
11335 (grub_print_error): Add full stop. Gettextizze.
11336 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
11337 (grub_bsd_load_elf): Capitalise ELF.
11338 (grub_cmd_freebsd_loadenv): Add `s' in error string.
11339 (grub_cmd_freebsd_module): Likewise.
11340 (grub_cmd_freebsd_module_elf): Likewise.
11341 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
11342
40e3a41f 113432010-01-06 Carles Pina i Estany <carles@pina.cat>
11344
11345 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
11346 * commands/search_file.c (HELP_MESSAGE): New macro.
11347 * commands/search_label.c (HELP_MESSAGE): Likewise.
11348 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
11349 * po/POTFILES: Add `commands/search_file.c',
11350 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
11351 `commands/search.c'.
11352
83507e68
RM
113532010-01-05 Robert Millan <rmh.grub@aybabtu.com>
11354
11355 * config.rpath: Update from Gnulib.
11356
465c787b
YB
113572010-01-05 Yves Blusseau <blusseau@zetam.org>
11358
11359 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
11360
6581dd3a
YB
113612010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
11362
11363 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
11364
3bff18c5
CW
113652010-01-05 Colin Watson <cjwatson@ubuntu.com>
11366
11367 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
11368 arguments to fread so that we get a return value in bytes, rather
11369 than something that will normally be rounded down to 0.
11370 Adjust error handling to avoid producing garbage when size_t is not
11371 the same size as long long.
11372
a1368118
CW
113732010-01-05 Colin Watson <cjwatson@ubuntu.com>
11374
11375 * util/mkisofs/write.c (padblock_write): Check return value of
11376 fread.
11377
7c302978
RM
113782010-01-05 Robert Millan <rmh.grub@aybabtu.com>
11379
11380 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
11381 floppy images now.
11382
11383 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
11384
e33ace06
RM
113852010-01-04 Robert Millan <rmh.grub@aybabtu.com>
11386
11387 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
11388 instead of manual alignment.
11389 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
11390 verbose). Avoid attempts to read past end of the device
11391 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
11392 but GRUB_DISK_CACHE_SIZE may exceed that).
11393
4b856776
RM
113942010-01-04 Robert Millan <rmh.grub@aybabtu.com>
11395
11396 * commands/crc.c (grub_cmd_crc): Abort on read errors.
11397 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
11398 it to upper layer.
11399
52c2d97f
VS
114002010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11401
11402 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
11403 New constant.
11404 (grub_efi_piwg_device_path): New structure
11405 (grub_efi_piwg_device_path_t): New type.
11406 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
11407 (devpath_1): Transform to a structure. All users updated.
11408 (devpath_2): Likewise.
11409 (devpath_3): Likewise.
11410 (devpath_4): Likewise.
11411 (devpath_5): Likewise.
11412
98ff6a54
VS
114132010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11414
11415 * loader/efi/appleloader.c: Restored. Update all users.
11416
3a73dcb6
RM
114172010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11418
11419 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
11420
11421 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
11422 (struct boot_blocklist): Move from here ...
11423 * include/grub/i386/pc/boot.h [ASM_FILE]
11424 (struct grub_boot_blocklist): ... to here. Update all users.
11425 (setup): Only initialize `start' member of `first_block'
11426 structure. Add assert() calls to verify the other members.
11427
11428 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
11429 (generate_image): Fix broken blocklist length initialization.
11430 Add assert() call to verify blocklist `segment' field.
11431
ab0eeb0c
RM
114322010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11433
11434 * loader/efi/appleloader.c: Remove. Update all users.
11435
58bc8bd5
RM
114362010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11437
11438 * boot/i386/pc/boot.S: Update copyright year.
11439 * boot/i386/pc/cdboot.S: Likewise.
11440 * boot/i386/pc/diskboot.S: Likewise.
11441 * boot/i386/pc/lnxboot.S: Likewise.
11442 * boot/i386/pc/pxeboot.S: Likewise.
11443 * bus/pci.c: Likewise.
11444 * commands/cmp.c: Likewise.
11445 * commands/help.c: Likewise.
11446 * commands/hexdump.c: Likewise.
11447 * commands/i386/pc/halt.c: Likewise.
11448 * commands/i386/pc/play.c: Likewise.
11449 * commands/i386/pc/vbeinfo.c: Likewise.
11450 * commands/ls.c: Likewise.
11451 * commands/test.c: Likewise.
11452 * disk/dmraid_nvidia.c: Likewise.
11453 * disk/i386/pc/biosdisk.c: Likewise.
11454 * disk/ieee1275/nand.c: Likewise.
11455 * disk/ieee1275/ofdisk.c: Likewise.
11456 * disk/lvm.c: Likewise.
11457 * disk/raid.c: Likewise.
11458 * disk/raid6_recover.c: Likewise.
11459 * disk/scsi.c: Likewise.
11460 * fs/affs.c: Likewise.
11461 * fs/cpio.c: Likewise.
11462 * fs/ext2.c: Likewise.
11463 * fs/hfs.c: Likewise.
11464 * fs/iso9660.c: Likewise.
11465 * fs/ntfs.c: Likewise.
11466 * fs/sfs.c: Likewise.
11467 * fs/udf.c: Likewise.
11468 * fs/ufs.c: Likewise.
11469 * fs/xfs.c: Likewise.
11470 * gencmdlist.sh: Likewise.
11471 * genmk.rb: Likewise.
11472 * include/grub/disk.h: Likewise.
11473 * include/grub/efi/api.h: Likewise.
11474 * include/grub/efi/efi.h: Likewise.
11475 * include/grub/efi/pe32.h: Likewise.
11476 * include/grub/elf.h: Likewise.
11477 * include/grub/fs.h: Likewise.
11478 * include/grub/i386/at_keyboard.h: Likewise.
11479 * include/grub/i386/pc/memory.h: Likewise.
11480 * include/grub/i386/pc/vbe.h: Likewise.
11481 * include/grub/i386/pci.h: Likewise.
11482 * include/grub/i386/tsc.h: Likewise.
11483 * include/grub/ieee1275/ieee1275.h: Likewise.
11484 * include/grub/ntfs.h: Likewise.
11485 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
11486 * include/grub/sparc64/libgcc.h: Likewise.
11487 * include/grub/symbol.h: Likewise.
11488 * include/grub/types.h: Likewise.
11489 * include/multiboot2.h: Likewise.
11490 * io/gzio.c: Likewise.
11491 * kern/device.c: Likewise.
11492 * kern/disk.c: Likewise.
11493 * kern/efi/efi.c: Likewise.
11494 * kern/efi/mm.c: Likewise.
11495 * kern/elf.c: Likewise.
11496 * kern/file.c: Likewise.
11497 * kern/i386/dl.c: Likewise.
11498 * kern/i386/pc/init.c: Likewise.
11499 * kern/i386/pc/startup.S: Likewise.
11500 * kern/ieee1275/ieee1275.c: Likewise.
11501 * kern/ieee1275/init.c: Likewise.
11502 * kern/main.c: Likewise.
11503 * kern/mm.c: Likewise.
11504 * kern/powerpc/dl.c: Likewise.
11505 * kern/sparc64/dl.c: Likewise.
11506 * kern/x86_64/dl.c: Likewise.
11507 * lib/hexdump.c: Likewise.
11508 * loader/efi/appleloader.c: Likewise.
11509 * loader/i386/ieee1275/linux.c: Likewise.
11510 * loader/i386/pc/chainloader.c: Likewise.
11511 * loader/i386/pc/linux.c: Likewise.
11512 * loader/i386/pc/multiboot2.c: Likewise.
11513 * loader/ieee1275/multiboot2.c: Likewise.
11514 * loader/multiboot2.c: Likewise.
11515 * loader/multiboot_loader.c: Likewise.
11516 * loader/powerpc/ieee1275/linux.c: Likewise.
11517 * normal/completion.c: Likewise.
11518 * normal/menu_entry.c: Likewise.
11519 * partmap/apple.c: Likewise.
11520 * util/grub.d/10_hurd.in: Likewise.
11521 * util/hostfs.c: Likewise.
11522 * video/readers/png.c: Likewise.
11523
e2d70b5c
CW
115242010-01-03 Colin Watson <cjwatson@ubuntu.com>
11525
11526 * include/grub/misc.h (GNUC_PREREQ): New macro.
11527 (ATTRIBUTE_ERROR): New macro.
11528 * include/grub/list.h (grub_bad_type_cast_real): Use
11529 ATTRIBUTE_ERROR.
11530
a173283f 115312010-01-03 Carles Pina i Estany <carles@pina.cat>
11532
11533 * normal/menu_text.c (print_message): Change messages.
11534
7fa7ff74 115352010-01-03 Carles Pina i Estany <carles@pina.cat>
11536
11537 * normal/menu_entry.c (store_completion): Gettextizze.
11538
136d24f6 115392010-01-03 Carles Pina i Estany <carles@pina.cat>
11540
11541 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
11542
f936862e 115432010-01-03 Carles Pina i Estany <carles@pina.cat>
11544
11545 * po/POTFILES: Sort correctly.
11546
29c44ad1 115472010-01-03 Carles Pina i Estany <carles@pina.cat>
11548
11549 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
11550 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
11551 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
11552 full stop.
11553 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
11554 summary. Gettextizze the strings.
11555 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
11556 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
11557 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
11558 full stop.
11559 (GRUB_MOD_INIT): Remove command name from summary.
11560 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
11561 summary.
11562 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
11563 * term/i386/pc/serial.c (options): Add full stops.
11564 (GRUB_MOD_INIT): Remove command name from the summary.
11565
77a79592 115662010-01-03 Carles Pina i Estany <carles@pina.cat>
11567
11568 * commands/acpi.c: Gettextizze help strings and/or options. Include
11569 `grub/i18n.h' if needed.
11570 * commands/blocklist.c: Likewise.
11571 * commands/boot.c: Likewise.
11572 * commands/cat.c: Likewise.
11573 * commands/cmp.c: Likewise.
11574 * commands/configfile.c: Likewise.
11575 * commands/crc.c: Likewise.
11576 * commands/date.c: Likewise.
11577 * commands/echo.c: Likewise.
11578 * commands/efi/fixvideo.c: Likewise.
11579 * commands/efi/loadbios.c: Likewise.
11580 * commands/gptsync.c: Likewise.
11581 * commands/halt.c: Likewise.
11582 * commands/handler.c: Likewise.
11583 * commands/hdparm.c: Likewise.
11584 * commands/hexdump.c: Likewise.
11585 * commands/i386/cpuid.c: Likewise.
11586 * commands/i386/pc/drivemap.c: Likewise.
11587 * commands/i386/pc/halt.c: Likewise.
11588 * commands/i386/pc/pxecmd.c: Likewise.
11589 * commands/i386/pc/vbeinfo.c: Likewise.
11590 * commands/i386/pc/vbetest.c: Likewise.
11591 * commands/ieee1275/suspend.c: Likewise.
11592 * commands/keystatus.c: Likewise.
11593 * commands/loadenv.c: Likewise.
11594 * commands/ls.c: Likewise.
11595 * commands/lsmmap.c: Likewise.
11596 * commands/lspci.c: Likewise.
11597 * commands/memrw.c: Likewise.
11598 * commands/minicmd.c: Likewise.
11599 * commands/parttool.c: Likewise.
11600 * commands/password.c: Likewise.
11601 * commands/probe.c: Likewise.
11602 * commands/read.c: Likewise.
11603 * commands/reboot.c: Likewise.
11604 * commands/search.c: Likewise.
11605 * commands/sleep.c: Likewise.
11606 * commands/test.c: Likewise.
11607 * commands/true.c: Likewise.
11608 * commands/usbtest.c: Likewise.
11609 * commands/videotest.c: Likewise.
11610 * commands/xnu_uuid.c: Likewise.
11611 * disk/loopback.c: Likewise.
11612 * hello/hello.c: Likewise.
11613 * loader/i386/bsd.c: Likewise.
11614 * term/i386/pc/serial.c: Likewise.
11615 * po/POTFILES: Add new files.
11616
da8d5c53
CW
116172010-01-02 Colin Watson <cjwatson@ubuntu.com>
11618
11619 * term/i386/pc/at_keyboard.c
11620 (keyboard_controller_wait_untill_ready): Rename to ...
11621 (keyboard_controller_wait_until_ready): ... this. Update all users.
11622
33937904 116232010-01-01 Carles Pina i Estany <carles@pina.cat>
11624
11625 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
11626 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
11627 string using string width.
11628 * normal/menu_text.c (grub_print_message_indented): Use
11629 grub_print_spaces and not print_spaces.
11630 (print_timeout): Likewise.
11631 (print_spaces): Move to...
11632 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
11633
3fd3b8d8
RM
116342010-01-01 Robert Millan <rmh.grub@aybabtu.com>
11635
11636 Import from Gnulib.
11637
11638 * gnulib/getdelim.c: New file.
11639 * gnulib/getline.c: Likewise.
11640
33433555
VS
116412009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
11642
11643 * include/grub/list.h (grub_assert_fail): Removed.
11644 (grub_bad_type_cast_real): New function.
11645 (grub_bad_type_cast): New macro.
11646 (GRUB_AS_LIST): Use grub_bad_type_cast.
11647 (GRUB_AS_LIST_P): Likewise.
e44721e8 11648 (GRUB_AS_NAMED_LIST): Likewise.
33433555 11649 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 11650 (GRUB_AS_PRIO_LIST): Likewise.
33433555 11651 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 11652 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 11653
f5a51306
VS
116542009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
11655
11656 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
11657 Fix syntax error.
11658
90d1e879
RM
116592009-12-29 Robert Millan <rmh.grub@aybabtu.com>
11660
11661 * configure.ac: Check for TARGET_CFLAGS initialization before we
11662 initialize it ourselves (sigh).
11663 Move a few modifications to TARGET_CFLAGS to be unconditional
11664 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
11665 eh_frame)
11666
11667 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
11668 * term/i386/pc/at_keyboard.c
11669 (keyboard_controller_wait_untill_ready): Likewise.
11670 (keyboard_controller_led): Rename `led_status' paramter to avoid
11671 name conflict.
11672
465b5a81 116732009-12-28 Carles Pina i Estany <carles@pina.cat>
11674
11675 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
11676 quotes.
11677
c181849b
VS
116782009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11679
11680 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
11681
9c8739a4
VS
116822009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11683
11684 * normal/menu_text.c (grub_print_message_indented): Prevent
11685 past-the-end-of-array dereference.
11686
3e74249c
VS
116872009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11688
11689 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
11690 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
11691
64fd18ed 116922009-12-27 Carles Pina i Estany <carles@pina.cat>
11693
11694 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
11695 * normal/main.c (grub_normal_read_line): Remove a space from the
11696 default prompt.
11697
714af9b9 116982009-12-27 Carles Pina i Estany <carles@pina.cat>
11699
11700 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
11701 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11702 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
11703 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
11704 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11705 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11706 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11707
82f3e412 117082009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 11709
11710 * video/readers/jpeg.c (cmd): Declare.
11711 (grub_cmd_jpegtest): Use `grub_command_t' type.
11712 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11713 Assign to `cmd'.
11714 (GRUB_MOD_FINI): Use `cmd' to unregister.
11715 * video/readers/png.c (cmd): Declare.
11716 (grub_cmd_pngtest): Use `grub_command_t' type.
11717 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11718 Assign to `cmd'.
11719 (GRUB_MOD_FINI): Use `cmd' to unregister.
11720 * video/readers/tga.c (cmd): Declare.
11721 (grub_cmd_tgatest): Use `grub_command_t' type.
11722 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11723 Assign to `cmd'.
11724 (GRUB_MOD_FINI): Use `cmd' to unregister.
11725
82f3e412 117262009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 11727
11728 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
11729 stops.
11730 * kern/corecmd.c (grub_register_core_commands): Likewise.
11731 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
11732 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
11733 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
11734 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11735 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
11736 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
11737 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
11738 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
11739 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11740 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11741 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11742 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
11743 * normal/handler.c (insert_handler): Likewise.
11744 * normal/main.c (GRUB_MOD_INIT): Likewise.
11745 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
11746
fdcdbb66 117472009-12-26 Carles Pina i Estany <carles@pina.cat>
11748
11749 * commands/help.c (grub_cmd_help): Print the command name before the
11750 summary.
11751 (GRUB_MOD_INIT): Remove command name from the summary.
11752 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 11753 string as summary.
fdcdbb66 11754 * lib/arg.c (find_long): Print the command name before the summary.
11755 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
11756 summary.
11757 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
11758 * commands/cat.c (GRUB_MOD_INIT): Likewise.
11759 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
11760 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
11761 * commands/crc.c (GRUB_MOD_INIT): Likewise.
11762 * commands/date.c (GRUB_MOD_INIT): Likewise.
11763 * commands/echo.c (GRUB_MOD_INIT): Likewise.
11764 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
11765 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
11766 * commands/handler.c (GRUB_MOD_INIT): Likewise.
11767 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
11768 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
11769 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
11770 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
11771 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
11772 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
11773 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
11774 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
11775 * commands/ls.c (GRUB_MOD_INIT): Likewise.
11776 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
11777 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
11778 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
11779 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
11780 * commands/password.c (GRUB_MOD_INIT): Likewise.
11781 * commands/probe.c (GRUB_MOD_INIT): Likewise.
11782 * commands/read.c (GRUB_MOD_INIT): Likewise.
11783 * commands/search.c (GRUB_MOD_INIT): Likewise.
11784 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
11785 * commands/test.c (GRUB_MOD_INIT): Likewise.
11786 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
11787 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
11788 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
11789 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
11790 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
11791 * lib/arg.c (GRUB_MOD_INIT): Likewise.
11792 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
11793 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
11794 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11795 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
11796 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
11797 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
11798 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
11799 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
11800
9c288be2
VS
118012009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 Use search command for preliminar UUID search.
11804
11805 * commands/search.c: Split into ...
11806 * commands/search_wrap.c: ...this
11807 * commands/search.c: ...and this.
11808 * commands/search_file.c: New file.
11809 * commands/search_label.c: New file.
11810 * commands/search_uuid.c: New file.
11811 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
11812 Add commands/search_wrap.c, commands/search_file.c,
11813 commands/search_label.c and commands/search_uuid.c.
11814 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
11815 (search_mod_SOURCES): Set to commands/search_wrap.c.
11816 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
11817 search_label.mod.
11818 (search_fs_file_mod_SOURCES): New variable.
11819 (search_fs_file_mod_CFLAGS): Likewise.
11820 (search_fs_file_mod_LDFLAGS): Likewise.
11821 (search_label_mod_SOURCES): Likewise.
11822 (search_label_mod_CFLAGS): Likewise.
11823 (search_label_mod_LDFLAGS): Likewise.
11824 (search_fs_uuid_mod_SOURCES): New variable.
11825 (search_fs_uuid_mod_CFLAGS): Likewise.
11826 (search_fs_uuid_mod_LDFLAGS): Likewise.
11827 (fs_file_mod_SOURCES): Removed.
11828 (fs_file_mod_CFLAGS): Likewise.
11829 (fs_file_mod_LDFLAGS): Likewise.
11830 (fs_uuid_mod_SOURCES): Removed.
11831 (fs_uuid_mod_CFLAGS): Likewise.
11832 (fs_uuid_mod_LDFLAGS): Likewise.
11833 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
11834 Set to util/grub-install.in.
11835 * disk/fs_file.c: Removed.
11836 * disk/fs_uuid.c: Likewise.
11837 * include/grub/search.h: New file.
11838 * util/grub-install.in: Handle sparc64.
11839 Create and use load.cfg.
11840 * util/sparc64/ieee1275/grub-install.in: Removed.
11841
db943399
VS
118422009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11843
11844 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
11845 Ignore return status if CF is cleared.
11846 (grub_biosdisk_get_diskinfo_standard): Likewise.
11847
3fdae612
RM
118482009-12-25 Robert Millan <rmh.grub@aybabtu.com>
11849
11850 * term/i386/pc/at_keyboard.c
11851 (keyboard_controller_wait_untill_ready): New function.
11852 (grub_keyboard_controller_write, grub_keyboard_controller_read)
11853 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
11854 for keyboard polling, rather than duplicate the same loop. This
11855 saves a few bytes in code size.
11856
7ebaa2b4
VS
118572009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 Support for (pxe[:server[:gateway]]) syntax and
11860 use environment variable for PXE.
11861
11862 * commands/i386/pc/pxecmd.c (options): Removed.
11863 (print_ip): Removed.
11864 (grub_cmd_pxe): Removed
11865 (grub_cmd_pxe_unload): New function.
11866 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
11867 (grub_pxe_your_ip): Made static.
11868 (grub_pxe_default_server_ip): Likewise.
11869 (grub_pxe_default_gateway_ip): Likewise.
11870 (grub_pxe_blksize): Likewise.
11871 (parse_ip): New function.
11872 (grub_pxe_open): Support server and gateway specification.
11873 (grub_pxe_close): Free disk->data.
11874 (grub_pxefs_open): Use disk->data.
11875 (grub_pxefs_read): Likewise.
11876 (grub_env_write_readonly): New function.
11877 (set_mac_env): Likewise.
11878 (set_env_limn_ro): Likewise.
11879 (parse_dhcp_vendor): Likewise.
11880 (grub_pxe_detect): Set the environment variables.
11881 (set_ip_env): New function.
11882 (write_ip_env): Likewise.
11883 (grub_env_write_pxe_default_server): Likewise.
11884 (grub_env_write_pxe_default_gateway): Likewise.
11885 (grub_env_write_pxe_blocksize): Likewise.
11886 (GRUB_MOD_INIT(pxe)): Set environment variables.
11887 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
11888 (grub_pxe_mac_addr_t): ... this. All users updated.
11889 (grub_pxe_your_ip): Removed.
11890 (grub_pxe_server_ip): Likewise.
11891 (grub_pxe_gateway_ip): Likewise.
11892 (grub_pxe_blksize): Likewise.
11893
ec5f98ab 118942009-12-25 Carles Pina i Estany <carles@pina.cat>
11895
11896 * commands/help.c: Include `<grub/i18n.h>'.
11897 (grub_cmd_help): Gettextizze.
11898 (GRUB_MOD_INIT): Likewise.
11899 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
11900 (GRUB_MOD_INIT): Gettextizze.
11901 * commands/search.c: Include `<grub/i18n.h>'.
11902 (options): Gettextizze.
11903 (GRUB_MOD_INIT): Gettextizze.
11904 * lib/arg.c: Include `<grub/i18n.h>'.
11905 (help_options): Gettextizze.
11906 (find_long): Likewise.
11907 (grub_arg_show_help): Likewise.
11908 * normal/dyncmd.c: Include `<grub/i18n.h>'.
11909 (read_command_list): Gettextizze.
11910 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 11911 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 11912
22815526
RM
119132009-12-25 Robert Millan <rmh.grub@aybabtu.com>
11914
11915 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
11916 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
11917 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
11918 (led_status): New variable.
11919 (keyboard_controller_led): New function.
11920 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
11921 update led status for caps lock, num lock and scroll lock.
11922
0ad46fd7
FZ
119232009-12-25 Felix Zielcke <fzielcke@z-51.de>
11924
11925 * util/hostdisk.c (open_device): Fix a comment.
11926
d0e158c2
RM
119272009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11928
11929 * util/grub-install.in (host_os): New variable.
11930 * util/i386/efi/grub-install.in (host_os): Likewise.
11931
401c0ad6
RM
119322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11933
11934 * util/mkisofs/write.c (padblock_write): Abort when given an
11935 excedingly large embed image, instead of silently truncating it.
11936
d14d3370
RM
119372009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11938
11939 * include/multiboot.h: Indentation fixes.
11940
eeed10b4
RM
119412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11942
11943 * include/multiboot.h (struct multiboot_aout_symbol_table)
11944 (struct multiboot_elf_section_header_table): New structure
11945 declarations (stolen from GRUB Legacy).
11946 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
11947 table information.
11948
11949 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
11950 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
11951 type aliases.
11952
681c70ab
RM
119532009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11954
11955 * include/multiboot.h: Make comments src2texi-friendly.
11956
e4d47d8d
RM
119572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11958
11959 For consistency with [multiboot]/docs/boot.S.
11960
11961 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
11962 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
11963 (MULTIBOOT_MAGIC2): Rename from this ...
11964 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
11965
a0b70bda
RM
119662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11967
11968 * include/multiboot.h: Remove `<grub/types.h>'.
11969 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
11970 types. Update all users.
11971
61ba42be 119722009-12-25 Carles Pina i Estany <carles@pina.cat>
11973
11974 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
11975 `couldn't' and `can not' by `cannot'.
11976 * commands/i386/pc/drivemap.c: Likewise.
11977 * disk/ata.c: Likewise.
11978 * disk/ieee1275/nand.c: Likewise.
11979 * fs/affs.c: Likewise.
11980 * fs/fat.c: Likewise.
11981 * fs/hfs.c: Likewise.
11982 * fs/hfsplus.c: Likewise.
11983 * fs/iso9660.c: Likewise.
11984 * fs/jfs.c: Likewise.
11985 * fs/minix.c: Likewise.
11986 * fs/reiserfs.c: Likewise.
11987 * fs/sfs.c: Likewise.
11988 * fs/udf.c: Likewise.
11989 * fs/ufs.c: Likewise.
11990 * fs/xfs.c: Likewise.
11991 * loader/powerpc/ieee1275/linux.c: Likewise.
11992 * loader/sparc64/ieee1275/linux.c: Likewise.
11993 * util/grub-probe.c: Likewise.
11994 * util/misc.c: Likewise.
11995
7fd0baee 119962009-12-24 Carles Pina i Estany <carles@pina.cat>
11997
11998 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
11999 grub_errno calls.
12000 * commands/acpi.c: Likewise.
12001 * commands/blocklist.c: Likewise.
12002 * commands/efi/loadbios.c: Likewise.
12003 * commands/i386/pc/drivemap.c: Likewise.
12004 * commands/loadenv.c: Likewise.
12005 * commands/memrw.c: Likewise.
12006 * commands/password.c: Likewise.
12007 * commands/videotest.c: Likewise.
12008 * disk/ata.c: Likewise.
12009 * disk/ata_pthru.c: Likewise.
12010 * disk/dmraid_nvidia.c: Likewise.
12011 * disk/ieee1275/nand.c: Likewise.
12012 * disk/ieee1275/ofdisk.c: Likewise.
12013 * disk/loopback.c: Likewise.
12014 * disk/lvm.c: Likewise.
12015 * disk/mdraid_linux.c: Likewise.
12016 * disk/raid.c: Likewise.
12017 * disk/raid6_recover.c: Likewise.
12018 * disk/scsi.c: Likewise.
12019 * efiemu/main.c: Likewise.
12020 * efiemu/mm.c: Likewise.
12021 * efiemu/pnvram.c: Likewise.
12022 * efiemu/symbols.c: Likewise.
12023 * font/font.c: Likewise.
12024 * fs/cpio.c: Likewise.
12025 * fs/hfsplus.c: Likewise.
12026 * fs/iso9660.c: Likewise.
12027 * fs/jfs.c: Likewise.
12028 * fs/minix.c: Likewise.
12029 * fs/ntfs.c: Likewise.
12030 * fs/ntfscomp.c: Likewise.
12031 * fs/reiserfs.c: Likewise.
12032 * fs/ufs.c: Likewise.
12033 * fs/xfs.c: Likewise.
12034 * gettext/gettext.c: Likewise.
12035 * include/grub/auth.h: Likewise.
12036 * kern/elf.c: Likewise.
12037 * kern/file.c: Likewise.
12038 * kern/ieee1275/init.c: Likewise.
12039 * kern/ieee1275/mmap.c: Likewise.
12040 * kern/ieee1275/openfw.c: Likewise.
12041 * kern/powerpc/dl.c: Likewise.
12042 * kern/sparc64/dl.c: Likewise.
12043 * lib/arg.c: Likewise.
12044 * loader/i386/bsd.c: Likewise.
12045 * loader/i386/bsdXX.c: Likewise.
12046 * loader/i386/efi/linux.c: Likewise.
12047 * loader/i386/efi/xnu.c: Likewise.
12048 * loader/i386/ieee1275/linux.c: Likewise.
12049 * loader/i386/linux.c: Likewise.
12050 * loader/i386/multiboot.c: Likewise.
12051 * loader/i386/pc/linux.c: Likewise.
12052 * loader/i386/pc/multiboot2.c: Likewise.
12053 * loader/i386/xnu.c: Likewise.
12054 * loader/ieee1275/multiboot2.c: Likewise.
12055 * loader/macho.c: Likewise.
12056 * loader/machoXX.c: Likewise.
12057 * loader/multiboot2.c: Likewise.
12058 * loader/multiboot_loader.c: Likewise.
12059 * loader/powerpc/ieee1275/linux.c: Likewise.
12060 * loader/sparc64/ieee1275/linux.c: Likewise.
12061 * loader/xnu.c: Likewise.
12062 * loader/xnu_resume.c: Likewise.
12063 * mmap/i386/pc/mmap.c: Likewise.
12064 * normal/menu_viewer.c: Likewise.
12065 * partmap/acorn.c: Likewise.
12066 * partmap/amiga.c: Likewise.
12067 * partmap/apple.c: Likewise.
12068 * script/lexer.c: Likewise.
12069 * term/gfxterm.c: Likewise.
12070 * term/i386/pc/serial.c: Likewise.
12071 * term/i386/pc/vga.c: Likewise.
12072 * term/ieee1275/ofconsole.c: Likewise.
12073 * term/terminfo.c: Likewise.
12074 * video/bitmap.c: Likewise.
12075 * video/efi_gop.c: Likewise.
12076 * video/efi_uga.c: Likewise.
12077 * video/fb/video_fb.c: Likewise.
12078 * video/i386/pc/vbe.c: Likewise.
12079 * video/readers/tga.c: Likewise.
12080 * video/video.c: Likewise.
12081
0ad46fd7 120822009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
12083
12084 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
12085 * commands/lspci.c: Likewise.
12086 * commands/probe.c: Likewise.
12087 * commands/xnu_uuid.c: Likewise.
12088 * conf/i386-coreboot.rmk: Likewise.
12089 * conf/i386-efi.rmk: Likewise.
12090 * conf/i386-ieee1275.rmk: Likewise.
12091 * conf/i386-pc.rmk: Likewise.
12092 * conf/powerpc-ieee1275.rmk: Likewise.
12093 * conf/sparc64-ieee1275.rmk: Likewise.
12094 * conf/x86_64-efi.rmk: Likewise.
12095 * fs/i386/pc/pxe.c: Likewise.
12096 * gettext/gettext.c: Likewise.
12097 * include/grub/efi/graphics_output.h: Likewise.
12098 * include/grub/i386/pc/memory.h: Likewise.
12099 * kern/env.c: Likewise.
12100 * kern/i386/qemu/startup.S: Likewise.
12101 * lib/i386/pc/biosnum.c: Likewise.
12102 * lib/i386/relocator.c: Likewise.
12103 * lib/i386/relocator_asm.S: Likewise.
12104 * lib/relocator.c: Likewise.
12105 * loader/i386/bsd.c: Likewise.
12106 * loader/i386/multiboot.c: Likewise.
12107 * loader/i386/pc/chainloader.c: Likewise.
12108 * loader/i386/xnu.c: Likewise.
12109 * loader/xnu.c: Likewise.
12110 * normal/main.c: Likewise.
12111 * normal/menu_text.c: Likewise.
12112 * util/getroot.c: Likewise.
12113 * util/grub-mkconfig_lib.in: Likewise.
12114 * util/grub.d/00_header.in: Likewise.
12115 * util/i386/pc/grub-mkimage.c: Likewise.
12116 * util/mkisofs/eltorito.c: Likewise.
12117 * util/mkisofs/exclude.h: Likewise.
12118 * util/mkisofs/hash.c: Likewise.
12119 * util/mkisofs/iso9660.h: Likewise.
12120 * util/mkisofs/joliet.c: Likewise.
12121 * util/mkisofs/mkisofs.c: Likewise.
12122 * util/mkisofs/mkisofs.h: Likewise.
12123 * util/mkisofs/multi.c: Likewise.
12124 * util/mkisofs/name.c: Likewise.
12125 * util/mkisofs/rock.c: Likewise.
12126 * util/mkisofs/tree.c: Likewise.
12127 * util/mkisofs/write.c: Likewise.
12128 * video/efi_gop.c: Likewise.
12129
009ec743
VS
121302009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12131
12132 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
12133 size counting.
12134
0ad46fd7 121352009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
12136
12137 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
12138 * genmk.rb (class SCRIPT): Modify the target file instead of source.
12139
d3d30ea0
VS
121402009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12141
12142 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
12143 (GRUB_MOD_INIT(memrw)): Update help line.
12144
a34f5c70
VS
121452009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12146
12147 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
12148 Use grub_extcmd_t. All users updated.
12149 (options): New variable.
12150 (grub_cmd_read): Restructure for readability. Support "-v" option.
12151 (grub_cmd_write): Restructure for readability.
12152
0ad46fd7 121532009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
12154
12155 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
12156
0ad46fd7 121572009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
12158
12159 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
12160 with the actual contents of the correspondending make variable.
12161 * util/grub-mkrescue.in (pkglib_DATA): New variable.
12162 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
12163 specifying `*.lst' and `efiemu??.o'
12164
0ad46fd7 121652009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
12166
12167 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
12168 after function name.
12169 Noticed by Rene Engelhard <rene@debian.org>.
12170
dc77a799
VS
121712009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
12174 (options): New variable.
12175 (iospace): Likewise.
12176 (grub_lspci_iter): List IO spaces if "-i" was given.
12177 (grub_cmd_lspci): Parse options.
12178 (GRUB_MOD_INIT(lspci)): Use extcmd.
12179 (GRUB_MOD_FINI(lspci)): Likewise.
12180
0ad46fd7 121812009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
12182
12183 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
12184 `function' keyword.
12185 Patch by Tony Mancill <tmancill@debian.org>.
12186
b5d5993b
VS
121872009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
12190 (grub_uhci_portstatus): Likewise.
12191 (grub_uhci_portstatus): Add necessary delay.
11d18281 12192 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 12193
941903f2 121942009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 12195
941903f2 12196 * commands/acpi.c (options): Fix capitalizations and/or full stops.
12197 (GRUB_MOD_INIT): Likewise.
12198 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 12199 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
12200 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 12201 * commands/efi/loadbios.c (enable_rom_area): Likewise.
12202 (enable_rom_area): Likewise.
12203 (GRUB_MOD_INIT): Likewise.
12204 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12205 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
12206 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12207 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
12208 * commands/hexdump.c (options): Likewise.
12209 * commands/i386/cpuid.c (options): Likewise.
12210 (GRUB_MOD_INIT): Likewise.
12211 * commands/i386/pc/drivemap.c (options): Likewise.
12212 (GRUB_MOD_INIT): Likewise.
12213 * commands/i386/pc/halt (options): Likewise.
12214 (GRUB_MOD_INIT): Likewise.
12215 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12216 * commands/i386/pc/pxecmd.c (options): Likewise.
12217 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
12218 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
12219 * commands/keystatus.c (options): Likewise.
12220 (GRUB_MOD_INIT): Likewise.
12221 * commands/loadenv.c (options): Likewise.
12222 * commands/ls.c (options): Likewise.
12223 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12224 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12225 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12226 * commands/parttool.c (helpmsg): Likewise.
12227 * commands/probe.c (options): Likewise.
12228 * commands/read.c (GRUB_MOD_INIT): Likewise.
12229 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
12230 * commands/search.c (options): Likewise.
12231 * commands/sleep.c (options): Likewise.
12232 * commands/test.c (GRUB_MOD_INIT): Likewise.
12233 * commands/true.c (GRUB_MOD_INIT): Likewise.
12234 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
12235 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
12236 * lib/arg.c (help_options): Likewise.
e9bbb4e7 12237 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
12238 `$(XGETTEXT)'.
98a50553 12239 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 12240
0ad46fd7 122412009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 12242
ef3c2c3a 12243 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
12244 instead of specifying them explicit.
12245
7922f68b
RM
122462009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12247
12248 * NEWS: Add grub-probe support for GNU/Hurd.
12249
537ce47f
RM
122502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12251
12252 * NEWS: gettext was added after 1.97.
12253
9b214e3a
RM
122542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12255
12256 * util/mkisofs/msdos_partition.h: New file (based on
12257 include/grub/msdos_partition.h).
12258 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
12259 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
12260 (ld_options, main): Recognize --protective-msdos-label.
12261 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
12262 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
12263 (padblock_write): If `use_protective_msdos_label' is set, patch a
12264 protective DOS-style label in the output image.
12265
12266 * util/grub-mkrescue.in: Use --protective-msdos-label.
12267
e9309813
RM
122682009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12269
12270 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
12271 boot.
12272
0ae56929
RM
122732009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12274
12275 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
12276 variables.
12277 (ld_options, main): Recognize `--embedded-boot'.
12278 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
12279 declarations.
12280 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
12281 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
12282 (padblock_write): Likewise. Rewrite to support embedded boot image.
12283
12284 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
12285 for BIOS-based disk boot instead of only ElTorito.
12286
b15937b1
RM
122872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12288
12289 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
12290 build (not needed for bootstrap).
12291
52cc3ce0
RM
122922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12293
12294 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
12295 from i386-pc build (not needed for bootstrap).
12296 Rewrite a pair of strings.
12297
36f5ff04
RM
122982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12299
12300 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
12301
973c6c85 123022009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
12303
12304 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
12305
05d21547
AB
123062009-12-21 Andreas Born <futur.andy@googlemail.com>
12307
12308 * kern/env.c (grub_env_context_open): Mark exported variable for
12309 reexport.
12310
0175d51f
AB
123112009-12-21 Andreas Born <futur.andy@googlemail.com>
12312
12313 * kern/env.c (grub_env_export): Create nonexistent variables before
12314 exporting.
12315
7f39d92f 123162009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 12317
7f39d92f 12318 * include/grub/auth.h: Include `<grub/i18n.h>'.
12319 (GRUB_GET_PASSWORD): Gettextizze string.
12320 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
12321 menu_text.c.
12322 (grub_utf8_to_ucs4_alloc): Fix indentation.
12323 (grub_print_ucs4): Likewise.
12324 (grub_getstringwidth): Likewise.
12325 (print_message_indented): New declaration.
12326 * normal/auth.c: Include `<grub/i18n.h>'.
12327 (grub_auth_check_authentication): Gettexttize string.
12328 * normal/cmdline.c: Include `<grub/i18n.h>'.
12329 (grub_cmdline_get): Gettextizze.
12330 * normal/color.c: Include `<grub/i18n.h>'.
12331 (grub_parse_color_name_pair): Gettexttize strings.
12332 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
12333 string (use `print_message_indented').
12334 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
12335 `include/grub/normal.h'.
12336 (print_message_indented): Renamed to ...
12337 (grub_print_message_indented): ... this. Remove `static' qualifer (now
12338 used in normal/main.c).
12339 (print_message): Use `grub_print_message_indented' instead of
12340 `print_message_indented'.
12341 (print_timeout): Likewise.
12342 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
12343 (grub_normal_print_device_info): Gettexttize strings.
12344 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
12345
3041d898
VS
123462009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
12349 of arguments. Return number of tokens and not arguments. All users
12350 updated.
12351
de15bf8e
VS
123522009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12353
12354 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
12355 non-MSDOS paritions.
12356
e0a6ca52
VS
123572009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 * include/grub/types.h (UNUSED): Removed since it conflicts with
12360 NetBSD headers. All users changed to direct __attribute__ ((unused)).
12361 Reported by Grégoire Sutre.
12362
b99518d1 123632009-12-19 Carles Pina i Estany <carles@pina.cat>
12364
12365 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
12366 (grub_print_ucs4_alloc): Likewise.
12367 (grub_getstringwidth): Likewise.
12368 * normal/main.c (grub_normal_init_page): Gettextize version string.
12369 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
12370 (getstringwidth): Renamed to ...
12371 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
12372 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
12373 (grub_print_ucs4): Remove `static' qualifer (now used in
12374 normal/main.c).
12375 * po/POTFILES: Add normal/main.c.
12376
bfd5e52b 123772009-12-19 Carles Pina i Estany <carles@pina.cat>
12378
12379 * normal/menu_text.c (STANDARD_MARGIN): New macro.
12380 (print_message_indented): Add `margin_left' and `margin_right'
12381 parameters.
12382 (print_message): Update `print_message_indented' calls. Adds '\n' to the
12383 strings.
12384 (print_timeout): Use `print_message_indented' to print the message.
12385 Deletes `second_stage' parameter.
12386 (run_menu): Update `print_timeout' calls.
12387
5a1ad2b9
VS
123882009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12389
12390 Fix console palette on OpenFirmware.
12391
12392 * term/ieee1275/ofconsole.c (MAX): Removed.
12393 (colors): Redone based on VGA palette.
12394 (grub_ofconsole_setcolor): Discard brightness bit since only 8
12395 colors are supported.
12396 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
12397
b045f00a
VS
123982009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12399
12400 Fix potential EfiEmu double prepare.
12401
12402 * efiemu/main.c (prepared): New variable
12403 (grub_efiemu_unload): Set prepare to '0'.
12404 (grub_efiemu_prepare): Return if already prepared. Set prepared.
12405
12406 set_virtual_address_map support.
12407
12408 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
12409 prototype.
12410 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
12411 prototype.
12412 (grub_efiemu_crc32): Likewise.
12413 (grub_efiemu_crc64): Likewise.
12414 (grub_efiemu_set_virtual_address_map): Likewise.
12415 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
12416 New definition.
12417 (grub_autoefi_set_virtual_address_map): Likewise.
12418 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
12419 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
12420 Restructure flow to accomodate it.
12421 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
12422 (grub_efiemu_crc): Recompute CRC32.
12423 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
12424 (efiemu_ptv_relocated): ... this. Made global. All users updated.
12425 * efiemu/symbols.c (relocated_handle): New variable.
12426 (grub_efiemu_free_syms): Free relocated_handle.
12427 (grub_efiemu_alloc_syms): Allocate relocated_handle.
12428 (grub_efiemu_write_sym_markers): New function.
12429 (grub_efiemu_set_virtual_address_map): Likewise.
12430
12431 Newer XNU parameters.
12432
12433 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
12434 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
12435 (grub_xnu_fill_devicetree): New prototype.
12436 (grub_xnu_heap_real_start): New variable.
12437 * loader/xnu.c (get_name_ptr): New function.
12438 (grub_xnu_load_driver): Fill namelen and name.
12439
12440 64-bit xnu support.
12441
12442 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
12443 and 'loader/macho64.c'.
12444 * conf/i386-pc.rmk: Likewise.
12445 * conf/x86_64-efi.rmk: Likewise.
12446 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
12447 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
12448 * include/grub/macho.h (grub_macho_segment64): New structure.
12449 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
12450 (grub_macho_size32): ... to this.
12451 (grub_macho32_get_entry_point): Renamed from ...
12452 (grub_macho_get_entry_point32): ... to this.
12453 (grub_macho_contains_macho64): New prototype.
12454 (grub_macho_size64): Likewise.
12455 (grub_macho_get_entry_point64): Likewise.
12456 (grub_macho32_load): Renamed from ...
12457 (grub_macho_load32): ... to this.
12458 (grub_macho32_filesize): Renamed from ...
12459 (grub_macho_filesize32): ... to this.
12460 (grub_macho32_readfile): Renamed from ...
12461 (grub_macho_readfile32): ... to this.
12462 (grub_macho_filesize64): New prototype.
12463 (grub_macho_readfile64): Likewise.
12464 (grub_macho_parse32): Likewise.
12465 (grub_macho_parse64): Likewise.
12466 * loader/macho.c: Split into ...
12467 * loader/machoXX.c: ... and this. Replace 32 with XX.
12468 * loader/macho32.c: New file.
12469 * loader/macho64.c: Likewise.
12470 * loader/xnu.c (grub_xnu_is_64bit): New variable.
12471 (grub_cmd_xnu_kernel): Make 32-bit only.
12472 (grub_cmd_xnu_kernel64): New function.
12473 (grub_xnu_load_driver): Support Mach-O 64.
12474 (grub_cmd_xnu_mkext): Likewise.
12475 * util/grub.d/30_os-prober.in (osx_entry): New function.
12476 Generate entries for 64-bit boot too.
12477
12478 Eliminate ad-hoc tree format in XNU and EfiEmu.
12479
12480 * efiemu/main.c (grub_efiemu_prepare): Update comment.
12481 * efiemu/pnvram.c: Rewritten to use environment variables.
12482 All users updated.
12483
12484 Inline utf16_to_utf8.
12485
12486 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
12487 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
12488 All users updated.
12489 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
12490
12491 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
12492 * commands/usbtest.c (grub_usb_get_string): ... move here.
12493 (usb_print_str): Fix error handling.
12494 * include/grub/usb.h (grub_usb_get_string): Remove.
12495
12496 UTF-8 to UTF-16 transformation.
12497
12498 * conf/common.rmk (pkglib_MODULES): Add charset.mod
12499 (charset_mod_SOURCES): New variable.
12500 (charset_mod_CFLAGS): Likewise.
12501 (charset_mod_LDFLAGS): Likewise.
12502 * include/grub/utf.h: New file.
12503 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
12504
12505 Support for device properties.
12506
12507 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
12508 (grub_xnu_devprop_device_header): Likewise.
12509 (grub_xnu_devprop_device_descriptor): Likewise.
12510 (grub_xnu_devprop_add_device): New prototype.
12511 (grub_xnu_devprop_remove_device): Likewise.
12512 (grub_xnu_devprop_remove_property): Likewise.
12513 (grub_xnu_devprop_add_property_utf8): Likewise.
12514 (grub_xnu_devprop_add_property_utf16): Likewise.
12515 (grub_cpu_xnu_init): Likewise.
12516 (grub_cpu_xnu_fini): Likewise.
12517 (grub_cpu_xnu_unload): Likewise.
12518 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
12519 (property_descriptor): Likewise.
12520 (devices): New variable.
12521 (grub_xnu_devprop_remove_property): New function.
12522 (grub_xnu_devprop_add_device): Likewise.
12523 (grub_xnu_devprop_remove_device): Likewise.
12524 (grub_xnu_devprop_add_property): Likewise.
12525 (grub_xnu_devprop_add_property_utf8): Likewise.
12526 (grub_xnu_devprop_add_property_utf16): Likewise.
12527 (hextoval): Likewise.
12528 (grub_cpu_xnu_fill_devprop): Likewise.
12529 (grub_cmd_devprop_load): Likewise.
12530 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
12531 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
12532 (cmd_devprop_load): New variable.
12533 (grub_cpu_xnu_init): New function.
12534 (grub_cpu_xnu_fini): Likewise.
12535 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
12536 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
12537 (grub_cmd_xnu_devtree): Likewise.
12538 (hextoval): New function.
12539 (unescape): Likewise.
12540 (grub_xnu_fill_devicetree): Likewise.
12541
12542 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
12543 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
12544
0945f181
VS
125452009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 Workaround for broken ATI VBE.
12548
12549 * video/i386/pc/vbe.c (last_set_mode): New variable.
12550 (grub_vbe_set_video_mode): Set 'last_set_mode'.
12551 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
12552 (grub_video_vbe_setup): Don't check for reserved flag.
12553
0ad46fd7 125542009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
12555
12556 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
12557 the `find' command.
12558
c179ebe4
VS
125592009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
12560
12561 UUID support for HFS.
12562
12563 * fs/hfs.c (grub_hfs_uuid): New function.
12564 (grub_hfs_fs): New value .uuid.
12565 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
12566
0ad46fd7 125672009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
12568
12569 Fix a segfault with parsing unknown long options.
12570
12571 * util/grub-mkrelpath.c (options): Zero terminate it.
12572
c4a3e41a
CPE
125732009-12-13 Carles Pina i Estany <carles@pina.cat>
12574
12575 * include/grub/misc.h (grub_puts): New declaration.
12576 (grub_puts_): Likewise.
a22008a6 12577 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
12578 (grub_puts_): Likewise.
12579
2e8a7602
RM
125802009-12-13 Robert Millan <rmh.grub@aybabtu.com>
12581
12582 * util/grub-probe.c (probe): Improve error message.
12583
b50b77b9
RM
125842009-12-13 Robert Millan <rmh.grub@aybabtu.com>
12585
12586 * loader/i386/multiboot_elfxx.c
12587 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
12588 initialization.
12589
125902009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12591
12592 Relocator framework
12593
12594 * loader/i386/xnu_helper.S: Removed. All users updated.
12595 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
12596 (relocator_mod_SOURCES): New variable.
12597 (relocator_mod_CFLAGS): Likewise.
12598 (relocator_mod_LDFLAGS): Likewise.
12599 (relocator_mod_ASFLAGS): Likewise.
12600 * conf/x86_64.rmk: Likewise.
12601 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
12602 (grub_multiboot_payload_entry_offset): Likewise.
12603 (grub_multiboot_forward_relocator): Likewise.
12604 (grub_multiboot_forward_relocator_end): Likewise.
12605 (grub_multiboot_backward_relocator): Likewise.
12606 (grub_multiboot_backward_relocator_end): Likewise.
12607 (grub_multiboot_payload_eip): New variable.
12608 (grub_multiboot_payload_orig): Likewise.
12609 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
12610 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
12611 * include/grub/i386/memory.h
12612 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
12613 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
12614 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
12615 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
12616 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
12617 * include/grub/i386/relocator.h: New file.
12618 * include/grub/x86_64/relocator.h: Likewise.
12619 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
12620 (XNU_RELOCATOR): New macro.
12621 (grub_xnu_launcher_start): Remove.
12622 (grub_xnu_launcher_end): Likewise.
12623 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
12624 (grub_xnu_heap_real_start): Remove.
12625 (grub_xnu_heap_start): Change to void *. All users updated.
12626 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
12627 * lib/i386/relocator.c: New file.
12628 * lib/i386/relocator_asm.S: Likewise.
12629 * lib/i386/relocator_backward.S: Likewise.
12630 * lib/mips/relocator.c: Likewise.
12631 * lib/mips/relocator_asm.S: Likewise.
12632 * lib/relocator.c: Likewise.
12633 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
12634 (entry): Removed.
12635 (playground): Likewise.
12636 (grub_multiboot_payload_orig): New variable.
12637 (grub_multiboot_payload_dest): Likewise.
12638 (grub_multiboot_payload_size): Likewise.
12639 (grub_multiboot_payload_eip): Likewise.
12640 (grub_multiboot_payload_esp): Likewise.
12641 (grub_multiboot_boot): Use grub_relocator32_boot.
12642 (grub_multiboot_unload): Free relocators.
12643 (grub_multiboot): Setup stack. Use relocators.
12644 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
12645 (grub_multiboot_load_elfXX): Use relocators.
12646 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
12647 (grub_multiboot_payload_size): Likewise.
12648 (grub_multiboot_payload_dest): Likewise.
12649 (grub_multiboot_payload_entry_offset): Likewise.
12650 (grub_multiboot_forward_relocator): Likewise.
12651 (grub_multiboot_backward_relocator): Likewise.
12652 (grub_multiboot_real_boot): Likewise.
12653 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
12654 (grub_xnu_entry_point): Likewise.
12655 (grub_xnu_arg1): Likewise.
12656 (grub_xnu_stack): Likewise.
12657 (grub_xnu_launch): Removed.
12658 (grub_xnu_boot_resume): New function.
12659 (grub_xnu_boot): Use relocators.
12660 * loader/i386/xnu_helper.S: Removed.
12661 * loader/xnu.c (grub_xnu_heap_start): New variable.
12662 (grub_xnu_heap_size): Likewise.
12663 (grub_xnu_heap_malloc): Use relocators.
12664 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
12665
29eb90c6
VS
126662009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12667
12668 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
12669 anything.
12670
31027430
CPE
126712009-12-13 Carles Pina i Estany <carles@pina.cat>
12672
12673 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
12674 GRUB_ERR_NONE before calling grub_env_set.
12675
dc0c71d9
RM
126762009-12-12 Robert Millan <rmh@aybabtu.com>
12677
12678 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
12679 * genmk.rb (video): New variable.
12680 (CLEANFILES, VIDEOFILES): Add #{video}.
12681 (#{video}): New target rule.
12682 * genvideolist.sh: New file.
12683 * Makefile.in (pkglib_DATA): Add video.lst.
12684 (video.lst): New target rule.
12685 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
12686 `video.lst'.
12687 * util/grub.d/30_os-prober.in: Replace `vbe' with
12688 ${GRUB_VIDEO_BACKEND}.
12689
2a4bfcf0
RM
126902009-12-11 Robert Millan <rmh.grub@aybabtu.com>
12691
12692 * THANKS: Add David Miller.
12693
2a3aa4d5
RM
126942009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 libpciaccess support.
12697
12698 * Makefile.in (LIBPCIACCESS): New variable.
12699 (enable_grub_emu_pci): Likewise.
12700 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
12701 util/pci.c and commands/lspci.c.
12702 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
12703 * configure.ac (grub-emu-pci): New option.
12704 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
12705 (grub_pci_device_unmap_range): Likewise.
12706 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
12707 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
12708 (grub_pci_address_t) [!GRUB_UTIL]: New type.
12709 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
12710 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
12711 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
12712 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
12713 * include/grub/pciutils.h: New file.
12714 * util/pci.c: Likewise.
12715
0ad46fd7 127162009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
12717
12718 * util/misc.c: Don't include <errno.h> twice.
12719
0ad46fd7 127202009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
12721
12722 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
12723 name in an error message.
12724 (grub_biosdisk_rw): Likewise.
12725
2e59983c
VS
127262009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12727
12728 Eliminate NTFS 4Gib barrier.
12729
12730 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
12731 (read_run_data): Likewise.
12732 (grub_ntfs_read_run_list): Likewise.
12733 (grub_ntfs_read_block): Likewise.
12734 (grub_ntfs_iterate_dir): Likewise.
12735 (read_mft): Likewise.
12736 (read_data): Likewise.
12737 Use COM_LOG_LEN.
12738 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
12739 to avoid 64-bit division
12740 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
12741 (grub_ntfs_rlst): Use grub_disk_addr_t.
12742
71ee178a
VS
127432009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 Eliminate grub-fstest 4Gib barrier.
12746
12747 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
12748 (read_file): Fix error reporting.
12749
2520d4b8
VS
127502009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12751
12752 Eliminate hexdump 4Gib barrier.
12753
12754 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
12755 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
12756
e1f27065
VS
127572009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
12760 Fixes amarsh bug.
12761
1a0f7f45
RM
127622009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
12763
12764 Remove miscellaneous files in distclean target.
12765
12766 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
12767
c631d9fb
CW
127682009-12-09 Colin Watson <cjwatson@ubuntu.com>
12769
12770 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
12771 if they're already set. This resolves the conflict between my
12772 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
12773 fixing the --grub-probe option again.
12774 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
12775 change on 2009-10-06, so that we now once again source
12776 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
12777
7c7b6106
RM
127782009-12-08 Robert Millan <rmh.grub@aybabtu.com>
12779
12780 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
12781 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
12782 `util/devicemap.c'.
12783
e3069ec1
CPE
127842009-12-08 Carles Pina i Estany <carles@pina.cat>
12785
12786 * include/grub/misc.h (grub_printf_): New declaration.
12787 * kern/misc.c (grub_printf_): New definition.
12788 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
12789 instead of `grub_printf' and `_'.
12790 * normal/menu_entry.c (store_completion): Likewise.
12791 (run): Likewise.
12792 (grub_menu_entry_run): Likewise.
12793 * normal/menu_text.c (grub_wait_after_message): Likewise.
12794 (notify_booting): Likewise.
12795 (notify_fallback): Likewise.
12796 (notify_execution_failure): Likewise.
12797
d6ceebf1
CW
127982009-12-07 Colin Watson <cjwatson@ubuntu.com>
12799
12800 * configure.ac: Check for vasprintf.
12801 * util/misc.c (asprintf): Move allocation from here ...
12802 (vasprintf): ... to here. New function.
12803 (xasprintf): New function.
12804 * include/grub/util/misc.h (vasprintf, xasprintf): Add
12805 prototypes.
12806 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
12807 * util/grub-mkfont.c (write_font): Likewise.
12808 * util/grub-probe.c (probe): Likewise.
12809 * util/hostdisk.c (make_device_name): Likewise.
12810
de6daa8b
DM
128112009-12-06 David S. Miller <davem@sunset.davemloft.net>
12812
12813 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
12814 anything even prefixed with 'cdrom' as a cdrom.
12815
0ad46fd7 128162009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
12817
12818 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
12819 mount points.
12820
98d3dc02
CPE
128212009-12-05 Carles Pina i Estany <carles@pina.cat>
12822
12823 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
12824 grub_gettext_msg_list.
12825 (grub_gettext_gettranslation_from_position): Return const char *
12826 and not char *.
a2c1332b 12827 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
12828 returns from the list if existing there.
12829 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
12830 (grub_gettext_delete_list): Delete the list.
12831 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
12832 lang environment variable is changed.
12833 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
12834
b283f108
VS
128352009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 Rename kernel.mod to kernel.img.
12838
12839 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
12840 (kernel_mod_EXPORTS): Rename to ...
12841 (kernel_img_EXPORTS): ... this.
12842 (kernel_mod_SOURCES): Rename to ...
12843 (kernel_img_SOURCES): ... this.
12844 (kernel_mod_HEADERS): Rename to ...
12845 (kernel_img_HEADERS): ... this. All users updated.
12846 (kernel_mod_CFLAGS): Rename to ...
12847 (kernel_img_CFLAGS): ... this.
12848 (kernel_mod_ASFLAGS): Rename to ...
12849 (kernel_img_ASFLAGS): ... this.
12850 (kernel_mod_LDFLAGS): Rename to ...
12851 (kernel_img_LDFLAGS): ... this.
12852 * conf/x86_64-efi.rmk: Likewise.
12853 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
12854 (read_kernel_image): ... this. All users updated.
12855 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
12856
69055f8a
CPE
128572009-12-05 Carles Pina i Estany <carles@pina.cat>
12858
12859 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
12860 (print_spaces): New function.
12861 (grub_print_ucs4): New function.
12862 (getstringwidth): New function.
12863 (print_message_indented): New function.
12864 (print_message): Gettexttize strings using print_message_indented.
12865 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
12866 width.
12867 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 12868 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
12869 Gettextize.
12870 * normal/menu_entry.c (store_completion): Cleanup the gettextized
12871 string.
12872 (run): Likewise.
12873 (grub_menu_entry_run): Likewise.
12874 * PO/POTFILES: Add normal/menu_entry.c.
12875
f616f51c
VS
128762009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
12877
12878 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
12879
57bbe3be
CPE
128802009-12-05 Carles Pina i Estany <carles@pina.cat>
12881
12882 * util/grub-install.in: Install gettext .mo files.
12883 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
12884
013d67a1
CPE
128852009-12-05 Carles Pina i Estany <carles@pina.cat>
12886
12887 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
12888 grub_dprintf.
12889
fb954db0
RM
128902009-12-05 Robert Millan <rmh.grub@aybabtu.com>
12891
12892 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
12893 non-firmware-dependant one in realmode.S takes precedence.
12894
6b8474f8
RM
128952009-12-04 Robert Millan <rmh.grub@aybabtu.com>
12896
12897 * commands/halt.c: Replace misc arch-specific headers with
12898 `<grub/misc.h>'.
12899 * commands/reboot.c: Likewise.
12900 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
12901 `<grub/misc.h>'.
12902 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
12903 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
12904 (kernel_img_SOURCES): ... to here.
12905
12906 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
12907 * include/grub/i386/pc/init.h: Likewise.
12908 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
12909 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
12910
12911 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
12912
12913 * include/grub/i386/halt.h: Remove.
12914 * include/grub/i386/reboot.h: Likewise.
12915
12916 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
12917
4b2e6ca2
DM
129182009-12-03 David S. Miller <davem@sunset.davemloft.net>
12919
12920 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
12921 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
12922 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
12923 "progname.h"
12924 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
12925 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12926 (usage): Add missing comma in printf.
12927
5239348f
RM
129282009-12-02 Robert Millan <rmh.grub@aybabtu.com>
12929
12930 Use the same reboot approach on i386 coreboot and qemu as we do on
12931 BIOS.
12932
12933 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
12934 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
12935 * kern/i386/reboot.c: Remove.
12936 * include/grub/i386/reboot.h (grub_reboot): Export function.
12937 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
12938 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
12939 0xf000:0xfff0 instead of 0xffff:0x0000.
12940 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
12941 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
12942
ef34cbd4
RM
129432009-11-30 Robert Millan <rmh.grub@aybabtu.com>
12944
12945 Fix $srcdir != $objdir build.
12946
12947 * Makefile.in (po/%.po): Rewrite as ...
12948 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
12949
dc9837ea
ST
129502009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
12951
12952 Fix GNU/Hurd grub-install crash.
12953 * util/grub-probe.c (probe): Try to access `path' only when it is not
12954 NULL.
12955
2f857f98
VS
129562009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12957
12958 Correct module naming.
12959
12960 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
12961 (GRUB_MOD_INIT(efi_uga)): ... to this
12962 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
12963 (GRUB_MOD_FINI(efi_uga)): ... to this
12964 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
12965 (GRUB_MOD_INIT(efi_gop)): ... to this
12966 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
12967 (GRUB_MOD_FINI(efi_gop)): ... to this
12968
c5448046
RM
129692009-11-28 Robert Millan <rmh.grub@aybabtu.com>
12970
12971 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
12972 translatable.
12973 (usage): Translate `arg' strings using gettext().
12974 Thanks to Jordi Mallach for the suggestion.
12975
c85184ad
VS
129762009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12977
12978 GOP support. Based on patch from Bean
12979 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
12980
12981 * video/efi_gop.c: New file.
12982 * include/grub/efi/graphics_output.h: Likewise.
12983 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
12984 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
12985 variables.
12986 * conf/x86_64-efi.rmk: Likewise.
12987
8a4c48d8
VS
129882009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 Rename efi_fb to efi_uga.
12991
12992 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
12993 'efi_uga.mod'.
12994 (efi_fb_mod_SOURCES): Rename this ...
12995 (efi_uga_mod_SOURCES): ... to this.
12996 (efi_fb_mod_CFLAGS): Rename this ...
12997 (efi_uga_mod_CFLAGS): ... to this.
12998 (efi_fb_mod_LDFLAGS): Rename this ...
12999 (efi_uga_mod_LDFLAGS): ... to this.
13000 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13001 'efi_uga.mod'.
13002 (efi_fb_mod_SOURCES): Rename this ...
13003 (efi_uga_mod_SOURCES): ... to this.
13004 (efi_fb_mod_CFLAGS): Rename this ...
13005 (efi_uga_mod_CFLAGS): ... to this.
13006 (efi_fb_mod_LDFLAGS): Rename this ...
13007 (efi_uga_mod_LDFLAGS): ... to this.
13008 * video/efi_fb.c: Move this ...
13009 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
13010
fb6c1a7b
RM
130112009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13012
13013 * po/README: New file. Explain our PO file workflow.
13014
3bc7896c
RM
130152009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13016
13017 * po/ChangeLog: Remove. Move relevant entries back to ...
13018 * ChangeLog: ... here.
13019 * po/ca.po: Remove (now handled by TLP).
13020 * po/id.po: Likewise.
13021 * po/zh_CN.po: Likewise.
13022 * Makefile.in (LINGUAS): Initialize in a way that supports
13023 empty set.
13024
9ed4841d
RM
130252009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13026
13027 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
13028 reliing on po/LINGUAS.
13029 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
13030 (po/%.po): ... this.
13031
0ad46fd7 130322009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
13033
13034 * util/i386/efi/grub-mkimage.c: Include "progname.h".
13035 (main): Use `program_name' instead of nonexistent `progname'.
13036
e30dd392
FZ
130372009-11-26 Felix Zielcke <fzielcke@z-51.de>
13038
13039 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13040 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
13041
7656de4f
RM
130422009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13043
13044 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
13045 commit.
13046 * conf/i386-efi.rmk: Likewise.
13047 * conf/i386-ieee1275.rmk: Likewise.
13048 * conf/powerpc-ieee1275.rmk: Likewise.
13049 * conf/sparc64-ieee1275.rmk: Likewise.
13050 * conf/x86_64-efi.rmk: Likewise.
13051
db77c4d4
FZ
130522009-11-26 Felix Zielcke <fzielcke@z-51.de>
13053
13054 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
13055
a755bb04
FZ
130562009-11-26 Felix Zielcke <fzielcke@z-51.de>
13057
13058 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
13059
8a4c07fd
RM
130602009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13061
13062 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
13063 (grub_mkdevicemap_SOURCES): New variable.
13064 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
13065 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
13066 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
13067 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
13068 (grub_mkdevicemap_SOURCES): Remove.
13069 * conf/i386-efi.rmk: Likewise.
13070 * conf/i386-ieee1275.rmk: Likewise.
13071 * conf/i386-pc.rmk: Likewise.
13072 * conf/powerpc-ieee1275.rmk: Likewise.
13073 * conf/sparc64-ieee1275.rmk: Likewise.
13074 * conf/x86_64-efi.rmk: Likewise.
13075 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
13076 (usage): Fix strings to use `program_name'.
13077 (main): Initialize gettext.
13078 * util/grub-editenv.c: Likewise.
13079 * util/grub-emu.c: Likewise.
13080 * util/grub-fstest.c: Likewise.
13081 * util/grub-mkdevicemap.c: Likewise.
13082 * util/grub-mkfont.c: Likewise.
13083 * util/grub-mkrelpath.c: Likewise.
13084 * util/grub-pe2elf.c: Likewise.
13085 * util/grub-probe.c: Likewise.
13086 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13087 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13088 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13089
13090 * util/misc.c: Include `"progname.h"'.
13091 (progname): Remove variable.
13092 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
13093
6f61ed55
FZ
130942009-11-25 Felix Zielcke <fzielcke@z-51.de>
13095
13096 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
13097 printf and print a newline after the menuentry header line.
13098 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13099
f022876b
FZ
131002009-11-25 Felix Zielcke <fzielcke@z-51.de>
13101
13102 autoconf >= 2.60 support $(localedir).
13103
13104 * INSTALL: Note that autoconf 2.60 is required.
13105 * configure.ac (AC_PREREQ): Bump to 2.60.
13106 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
13107 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13108
6717926e
YB
131092009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
13110
13111 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
13112 aclocal is run.
13113
08806a54
RM
131142009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13115
13116 * normal/main.c (grub_normal_read_line): Fix off-by-one
13117 buffer overflow.
13118
13b33fba
RM
131192009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13120
13121 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
13122 "parser.grub" in grub_command_execute() call.
13123
4a8572e9
CPE
131242009-11-24 Carles Pina i Estany <carles@pina.cat>
13125
13126 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
13127 * conf/i386-efi.rmk: Likewise.
13128 * conf/i386-ieee1275.rmk: Likewise.
13129 * conf/i386-pc.rmk: Likewise.
13130 * conf/powerpc-ieee1275.rmk: Likewise.
13131 * conf/sparc64-ieee1275.rmk: Likewise.
13132 * conf/x86_64-efi.rmk: Likewise.
13133 * gettext/gettex.c: Include <grub/i18n.h>.
13134 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
13135 here ...
13136 * include/grub/i18n.h: ... to here
13137 * include/grub/i18n.h: ... to here.
13138 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 13139 (grub_gettext_dummy): Move above user.
4a8572e9 13140
bee48093
FZ
131412009-11-24 Felix Zielcke <fzielcke@z-51.de>
13142
13143 * util/Makefile.in (install-local): Convert a `for' into a normal
13144 shell expansion.
13145
a031e91c
RM
131462009-11-24 Robert Millan <rmh.grub@aybabtu.com>
13147
13148 * autogen.sh: Add automake call.
13149 * config.guess: Remove.
13150 * config.sub: Likewise.
13151 * install-sh: Likewise.
13152
26bec39d
FZ
131532009-11-24 Felix Zielcke <fzielcke@z-51.de>
13154
13155 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
13156
8e2532fd
FZ
131572009-11-24 Felix Zielcke <fzielcke@z-51.de>
13158
13159 * util/Makefile.in (install-local): Convert a make `$(foreach)'
13160 function to a normal shell `for'.
13161
fefa1b7d
FZ
131622009-11-24 Felix Zielcke <fzielcke@z-51.de>
13163
13164 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13165
4501250b
FZ
131662009-11-24 Felix Zielcke <fzielcke@z-51.de>
13167
13168 * util/grub-mkrelpath.c: New file.
13169 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
13170 (grub_mkrelpath_SOURCES): New variable.
13171 * include/grub/util/misc.h: New function prototype.
13172 * util/misc.c (make_system_path_relative_to_its_root): New function.
13173
13174 * util/grub-mkconfig_lib.in (bindir): New variable.
13175 (grub_mkrelpath): Likewise.
13176 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
13177
13178 * util/probe.c (probe): Make the file path relative to its root.
13179 Change a info message to use the GRUB path. Enable again the
13180 check if we can read the file with GRUB facilities.
13181
13182 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
13183 to its root.
13184
11d9778b
FZ
131852009-11-24 Felix Zielcke <fzielcke@z-51.de>
13186
13187 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
13188 platform.
13189
4465287d
FZ
131902009-11-24 Felix Zielcke <fzielcke@z-51.de>
13191
13192 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
13193 strncmp().
13194
62b47f22
FZ
131952009-11-24 Felix Zielcke <fzielcke@z-51.de>
13196
13197 * util/getroot.c (grub_util_is_dmraid): New function.
13198 (grub_util_get_dev_abstraction): Treat dmraid and multipath
13199 devices as normal ones, not as LVM.
13200
1eafb9b9 132012009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
13202
13203 * conf/common.rmk: Add grub-gettext_lib target and updates
13204 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
13205 LDFLAGS.
13206 * gettext/gettext.c: New file. (Reads mo files).
13207 * include/grub/file.h (grub_file_pread): New prototype.
13208 * include/grub/i18n.h (_): New prototype.
13209 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
13210 prototypes.
13211 * kern/misc.c (grub_gettext_dummy): New function.
13212 * normal/menu_text.c: Include <grub/i18n.h>.
13213 * normal/menu_text.c (print_timeout): Gettexttize string.
13214 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
13215 * po/POTFILES: Add `normal/menu_text.c'.
13216 * po/ca.po: Add new translations.
c3ea6bd4
CPE
13217 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
13218 gettext module and defines locale_dir and lang in grub.cfg.
13219 * NEWS: Add gettext support.
13220
0fdb2568
RM
132212009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13222
13223 * util/hostdisk.c: Include `<grub/i18n.h>'.
13224 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
13225 (make_device_name): Rewrite using asprintf.
13226 (convert_system_partition_to_system_disk): Replace 0 with NULL.
13227 (find_system_device): If a device is not found, generate one just
13228 by reusing the OS path name.
13229 (read_device_map): Make it permissible for device.map not to exist.
13230
f515aa62
RM
132312009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13232
13233 * script/sh/execute.c: Move from here ...
13234 * script/execute.c: ... to here. Update all users.
13235 * script/sh/function.c: Move from here ...
13236 * script/function.c: ... to here. Update all users.
13237 * script/sh/lexer.c: Move from here ...
13238 * script/lexer.c: ... to here. Update all users.
13239 * script/sh/main.c: Move from here ...
13240 * script/main.c: ... to here. Update all users.
13241 * script/sh/parser.y: Move from here ...
13242 * script/parser.y: ... to here. Update all users.
13243 * script/sh/script.c: Move from here ...
13244 * script/script.c: ... to here. Update all users.
13245
f84b481b
RM
132462009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13247
13248 * configure.ac: Detect all `emu' platforms. Define
13249 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
13250 --enable-grub-emu logic. Disable include/grub/machine
13251 symlink on `emu' platforms.
13252
13253 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
13254 * gensymlist.sh.in: Likewise.
13255
13256 * include/grub/i386/coreboot/machine.h: Remove file.
13257 * include/grub/i386/efi/machine.h: Likewise.
13258 * include/grub/i386/ieee1275/machine.h: Likewise.
13259 * include/grub/i386/pc/machine.h: Likewise.
13260 * include/grub/i386/qemu/machine.h: Likewise.
13261 * include/grub/powerpc/ieee1275/machine.h: Likewise.
13262 * include/grub/sparc64/ieee1275/machine.h: Likewise.
13263 * include/grub/x86_64/efi/machine.h: Likewise.
13264
13265 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
13266 * commands/halt.c: Likewise.
13267 * commands/reboot.c: Likewise.
13268 * include/grub/autoefi.h: Likewise.
13269 * include/grub/i386/at_keyboard.h: Likewise.
13270 * include/grub/i386/kernel.h: Likewise.
13271 * include/grub/i386/loader.h: Likewise.
13272 * include/grub/i386/pc/memory.h: Likewise.
13273 * kern/dl.c: Likewise.
13274 * kern/i386/coreboot/init.c: Likewise.
13275 * loader/i386/bsd.c: Likewise.
13276 * loader/i386/linux.c: Likewise.
13277 * loader/multiboot_loader.c: Likewise.
13278 * term/i386/pc/serial.c: Likewise.
13279 * term/usb_keyboard.c: Likewise.
13280
13281 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
13282 `<grub/machine/machine.h>'
13283 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
13284 * util/misc.c: Remove `<grub/machine/machine.h>' and
13285 `<grub/machine/time.h>'.
13286
13287 * Makefile.in (enable_grub_emu): Remove variable.
13288 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
13289
13290 * conf/any-emu.rmk: New file.
13291 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
13292 (grub_emu_init.c): Move from here ...
13293 * conf/any-emu.rmk: ... to here.
13294
13295 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
13296 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
13297 * conf/any-emu.rmk: ... to here.
13298
4efeab03
RM
132992009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13300
13301 * include/grub/parser.h (grub_parser_register): Document need
13302 of `name' parameter.
13303 * normal/main.c (grub_normal_read_line): Simplify prompt string.
13304 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
13305 "sh" to "grub".
13306
ea1dd8bf
RM
133072009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13308
13309 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
13310 `$(XGETTEXT)'.
13311 * include/grub/i18n.h (N_): New macro.
13312 * util/mkisofs/mkisofs.h: Likewise.
13313 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
13314 around N_().
13315 (usage): Use gettext() to translate help strings when printing them.
13316
0c140626
RM
133172009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13318
13319 Based on patch from Bean
13320 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13321
13322 * video/efi_fb.c: New file.
13323 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
13324 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13325 variables.
13326 * conf/x86_64-efi.rmk: Likewise.
13327
87d58298
RM
133282009-11-22 Robert Millan <rmh.grub@aybabtu.com>
13329
13330 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
13331 * util/i386/pc/grub-setup.c: Likewise.
13332
994cc3a3
ST
133332009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13334
13335 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
13336 <hurd/fs.h>
13337 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
13338 file_get_storage_info to implement grub_guess_root_device.
13339
26a61d6a
FZ
133402009-11-21 Felix Zielcke <fzielcke@z-51.de>
13341
13342 * Makefile.in (target): Use make's builtin $(shell) function
13343 instead of calling directly $(SHELL) to create the locale directories,
13344 inside the $(foreach) function.
13345
74ff1dd5
FZ
133462009-11-21 Felix Zielcke <fzielcke@z-51.de>
13347
13348 * util/grub-mkrescue.in: Print an error and usage if output option
13349 has not been given.
13350
0b787d0e
FZ
133512009-11-21 Felix Zielcke <fzielcke@z-51.de>
13352
13353 Patch from Loïc Minier <loic.minier@ubuntu.com>.
13354 * util/grub.d/30_os-prober.in: Cope with Linux entries where
13355 root and /boot are on different devices.
13356
1164b270
RM
133572009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13358
13359 Fix build for srcdir != objdir.
13360
13361 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
13362 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
13363 $(srcdir).
13364 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
13365 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
13366 reference for input.
13367
13774a2f
RM
133682009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13369
13370 * util/grub-mkrescue.in: Use source directory direcly (without copiing
13371 or hardlinking it). Remove -J option, Joliet is not compatible with
13372 multiple source directories.
13373
efda854e
RM
133742009-11-21 Carles Pina i Estany <carles@pina.cat>
133752009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13376
13377 * util/grub-mkrescue.in: Recognize `--override-directory' option.
13378 (process_input_dir): New function. Process an arbitrary input
13379 directory.
13380 Misc adjustments to support both "override mode" and system-wide mode.
13381
6c09890c
FZ
133822009-11-20 Felix Zielcke <fzielcke@z-51.de>
13383
13384 * configure.ac (UNIFONT_BDF): Rename to ...
13385 (FONT_SOURCE): ... this. Update all users.
13386
a797824f
FZ
133872009-11-20 Felix Zielcke <fzielcke@z-51.de>
13388
13389 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
13390 to the list of unifont files to look for.
13391
cd4f42b0
RM
133922009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13393
13394 Patch from Joe Auricchio <jauricchio@gmail.com>
13395 * commands/minicmd.c (grub_mini_cmd_clear): New function.
13396 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
13397 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
13398
393c783d
FZ
133992009-11-19 Felix Zielcke <fzielcke@z-51.de>
13400
13401 * Makefile.in (install-local): Add a missing backslash.
13402
b2f1e327
FZ
134032009-11-19 Felix Zielcke <fzielcke@z-51.de>
13404
13405 * include/grub/x86_64/io.h: New file.
13406
f577f7a0
RM
134072009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13408
13409 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
13410 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
13411 Include `"progname.h"'.
13412 (main): Initialize gettext.
13413 * util/i386/pc/grub-setup.c: Gettexttize.
13414 * util/i386/pc/grub-mkimage.c: Likewise.
13415
13416 * Makefile.in (po/*.po): Redefine as ...
13417 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
13418
3bc7896c
RM
13419 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
13420
c37943b6
RM
134212009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13422
13423 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
13424 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
13425 (program_name): Remove.
13426 (main): Initialize gettext support.
6323f705
RM
13427 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
13428 Include `<libintl.h>'.
13429 (_): New macro.
c37943b6
RM
13430
13431 * util/mkisofs/eltorito.c: Gettexttize.
13432 * util/mkisofs/joliet.c: Likewise.
13433 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
13434 * util/mkisofs/multi.c: Likewise.
13435 * util/mkisofs/rock.c: Likewise.
13436 * util/mkisofs/tree.c: Likewise.
13437 * util/mkisofs/write.c: Likewise.
13438
3bc7896c
RM
13439 * po/POTFILES: Update with new files.
13440
5ce77c6e
RM
134412009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13442
13443 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
13444 * util/mkisofs/iso9660.h: Likewise.
13445 * util/mkisofs/joliet.c: Likewise.
13446 * util/mkisofs/mkisofs.c: Likewise.
13447 * util/mkisofs/mkisofs.h: Likewise.
13448 * util/mkisofs/rock.c: Likewise.
13449 * util/mkisofs/tree.c: Likewise.
13450 * util/mkisofs/write.c: Likewise.
13451
13452 * util/mkisofs/eltorito.c (rcsid): Remove.
13453 * util/mkisofs/hash.c: Likewise.
13454 * util/mkisofs/joliet.c: Likewise.
13455 * util/mkisofs/name.c: Likewise.
13456 * util/mkisofs/rock.c: Likewise.
13457 * util/mkisofs/tree.c: Likewise.
13458 * util/mkisofs/write.c: Likewise.
13459
1dabbc77
RM
134602009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13461
13462 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
13463 instead of static allocation.
13464 * util/mkisofs/match.h: Likewise.
13465
633877cb
RM
134662009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13467
3bc7896c
RM
13468 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
13469 and `util/grub.d/10_linux.in'.
633877cb
RM
13470 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
13471 translatable Shell files.
13472
af1c0c85
RM
134732009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13474
13475 * Makefile.in ($(srcdir)/aclocal.m4): New target.
13476
769ae37b
RM
134772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13478
13479 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 13480 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
13481 * util/grub.d/10_kfreebsd.in (bindir): New variable.
13482 Add gettext initialization.
13483 (kfreebsd_entry): Make menuentry output translatable.
13484
134852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13486
13487 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
13488 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
13489 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
13490 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
13491 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 13492 * po/LINGUAS: New file.
769ae37b
RM
13493
134942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13495
13496 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
13497 other things).
13498 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
13499 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
13500 bindtextdomain() calls for gettext initialization.
13501
135022009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13503
13504 * gnulib/progname.c: New file (imported from Gnulib).
13505 * gnulib/progname.h: Likewise.
13506 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13507 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
13508 (usage): Replace `progname' with `program_name'.
13509 (main): Use set_program_name() for program name initialization.
13510
135112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13512
13513 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
13514 from here ...
13515 * Makefile.in (CPPFLAGS): ... to here.
13516
135172009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13518
13519 * aclocal.m4: Move from here ...
13520 * acinclude.m4: ... to here.
13521 * autogen.sh: Add call to `aclocal'.
13522 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
13523
135242009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13525
13526 * Makefile.in (CLEANFILES): Add `po/*.mo'.
13527 (LINGUAS): New variable.
13528 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
13529 (install-local): Install MO files.
13530 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
13531 * include/grub/i18n.h: New file.
3bc7896c
RM
13532 * po/POTFILES: New file.
13533 * po/ca.po: New file.
769ae37b
RM
13534 * util/grub.d/10_linux.in (bindir): New variable.
13535 Add gettext initialization.
13536 (linux_entry): Make menuentry output translatable.
13537 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
13538 (usage): Make --help output translatable.
13539 (main): Initialize gettext.
13540
02c0a6ad
RM
135412009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13542
13543 * import_gcry.py: New file (written by Vladimir with minor
13544 adjustments).
13545 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
13546 ciphers.
13547 * INSTALL: Document that Python is required for bootstrap.
13548
135492009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13550
13551 Import ciphers from libgcrypt 1.4.4.
13552
13553 * lib/libgcrypt/cipher/ChangeLog
13554 * lib/libgcrypt/cipher/ac.c
13555 * lib/libgcrypt/cipher/arcfour.c
13556 * lib/libgcrypt/cipher/bithelp.h
13557 * lib/libgcrypt/cipher/blowfish.c
13558 * lib/libgcrypt/cipher/camellia-glue.c
13559 * lib/libgcrypt/cipher/camellia.c
13560 * lib/libgcrypt/cipher/camellia.h
13561 * lib/libgcrypt/cipher/cast5.c
13562 * lib/libgcrypt/cipher/cipher.c
13563 * lib/libgcrypt/cipher/crc.c
13564 * lib/libgcrypt/cipher/des.c
13565 * lib/libgcrypt/cipher/dsa.c
13566 * lib/libgcrypt/cipher/ecc.c
13567 * lib/libgcrypt/cipher/elgamal.c
13568 * lib/libgcrypt/cipher/hash-common.c
13569 * lib/libgcrypt/cipher/hash-common.h
13570 * lib/libgcrypt/cipher/hmac-tests.c
13571 * lib/libgcrypt/cipher/md.c
13572 * lib/libgcrypt/cipher/md4.c
13573 * lib/libgcrypt/cipher/md5.c
13574 * lib/libgcrypt/cipher/primegen.c
13575 * lib/libgcrypt/cipher/pubkey.c
13576 * lib/libgcrypt/cipher/rfc2268.c
13577 * lib/libgcrypt/cipher/rijndael-tables.h
13578 * lib/libgcrypt/cipher/rijndael.c
13579 * lib/libgcrypt/cipher/rmd.h
13580 * lib/libgcrypt/cipher/rmd160.c
13581 * lib/libgcrypt/cipher/rsa.c
13582 * lib/libgcrypt/cipher/seed.c
13583 * lib/libgcrypt/cipher/serpent.c
13584 * lib/libgcrypt/cipher/sha1.c
13585 * lib/libgcrypt/cipher/sha256.c
13586 * lib/libgcrypt/cipher/sha512.c
13587 * lib/libgcrypt/cipher/tiger.c
13588 * lib/libgcrypt/cipher/twofish.c
13589 * lib/libgcrypt/cipher/whirlpool.c
13590
af2f93ac
RM
135912009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13592
13593 Fix build for systems without error().
13594
13595 * gnulib/error.c: New file (imported from Gnulib).
13596 * gnulib/error.h: Likewise.
13597 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
13598 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
13599 (this variable is now used by error()).
13600
73fb3dd5
FZ
136012009-11-16 Felix Zielcke <fzielcke@z-51.de>
13602
814f5e96
FZ
13603 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
13604 instead of relying that char is signed.
73fb3dd5 13605
a691ca33
VS
136062009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
13609 blocksize different from specified.
13610 (grub_pxefs_read): Likewise.
13611
2af8f0f4
FZ
136122009-11-16 Felix Zielcke <fzielcke@z-51.de>
13613
13614 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
13615
13616 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
13617 (grub_ata_readwrite): Likewise. Update 2 format strings.
13618 (grub_atapi_read): Likewise.
13619
13620 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
13621 * conf/i386.rmk (pkglib_MODULES): ... to here ...
13622 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
13623 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
13624 (ata_mod_LDFLAGS): Move from here ...
13625 * conf/i386.rmk: ... to here ...
13626 * conf/x86_64-efi.rmk: ... and here.
13627 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
13628 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
13629
83bdecaf
RM
136302009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13631
13632 Relicense multiboot.h, with RMS' blessing.
13633
13634 * include/multiboot.h: Change to X11 license.
13635
fd6fd3d7
RM
136362009-11-15 Robert Millan <rmh.grub@aybabtu.com>
13637
13638 Support --version in grub-mkisofs.
13639
13640 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
13641 (OPTION_VERSION): New macro.
13642 (ld_options): Recognize --version.
13643 (usage): Move `program_name' from here ...
13644 (program_name): ... to here. Add `static' qualifier.
13645 (main): Recognize `OPTION_VERSION'.
13646
16a88c49
FZ
136472009-11-15 Felix Zielcke <fzielcke@z-51.de>
13648
13649 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
13650 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
13651
a4158476
RM
136522009-11-14 Robert Millan <rmh.grub@aybabtu.com>
13653
13654 Fix help2man generation for mkisofs.
13655
13656 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
13657 (usage): Send output to stdout (rather than stderr).
13658
fc2208b0
RM
136592009-11-14 Robert Millan <rmh.grub@aybabtu.com>
13660
13661 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
13662 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
13663 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
13664 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
13665 (bin_SCRIPTS): Add `grub-mkfloppy'.
13666 (grub_mkfloppy_SOURCES): New variable.
13667
13668 * util/grub-mkrescue.in: New file.
13669 * util/i386/pc/grub-mkfloppy.in: New file.
13670
13671 * util/i386/coreboot/grub-mkrescue.in: Remove.
13672 * util/i386/pc/grub-mkrescue.in: Remove.
13673
8d0edf4a
RM
136742009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13675
13676 * include/grub/multiboot.h (struct grub_multiboot_header): Move
13677 from here ...
13678 * include/multiboot.h (struct multiboot_header): ... to here. Update
13679 all users.
13680 * include/grub/multiboot.h (struct grub_multiboot_info): Move
13681 from here ...
13682 * include/multiboot.h (struct multiboot_info): ... to here. Update
13683 all users.
13684 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
13685 from here ...
13686 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
13687 Update all users.
13688 * include/grub/multiboot.h (struct grub_mod_list): Move
13689 from here ...
13690 * include/multiboot.h (struct multiboot_mod_list): ... to here.
13691 Update all users.
13692
a73f5969
RM
136932009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13694
13695 * include/multiboot2.h (multiboot_word): Rename from this ...
13696 (multiboot2_word): ... to this. Update all users.
13697 (multiboot_header): Rename from this ...
13698 (multiboot2_header): ... to this. Update all users.
13699 (multiboot_tag_header): Rename from this ...
13700 (multiboot2_tag_header): ... to this. Update all users.
13701 (multiboot_tag_start): Rename from this ...
13702 (multiboot2_tag_start): ... to this. Update all users.
13703 (multiboot_tag_name): Rename from this ...
13704 (multiboot2_tag_name): ... to this. Update all users.
13705 (multiboot_tag_module): Rename from this ...
13706 (multiboot2_tag_module): ... to this. Update all users.
13707 (multiboot_tag_memory): Rename from this ...
13708 (multiboot2_tag_memory): ... to this. Update all users.
13709 (multiboot_tag_unused): Rename from this ...
13710 (multiboot2_tag_unused): ... to this. Update all users.
13711 (multiboot_tag_end): Rename from this ...
13712 (multiboot2_tag_end): ... to this. Update all users.
13713
1c8927f0
RM
137142009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13715
13716 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
13717 this platform we should support Multiboot1 first.
13718
13719 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
13720 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
13721 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
13722
6e1e0d89
RM
137232009-11-12 Robert Millan <rmh.grub@aybabtu.com>
13724
13725 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
13726 of write calls (converting them to fwrite() if they aren't already).
13727 (get_torito_desc): Likewise.
13728 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
13729
7f2b34d8
RM
137302009-11-12 Robert Millan <rmh.grub@aybabtu.com>
13731
13732 * util/i386/pc/grub-install.in: Move from here ...
13733 * util/grub-install.in: ... to here. Update all users.
13734
c0ef3311
CW
137352009-11-11 Colin Watson <cjwatson@ubuntu.com>
13736
13737 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
13738
e1f240ff
RM
137392009-11-11 Robert Millan <rmh.grub@aybabtu.com>
13740
13741 Support for El Torito without floppy emulation.
13742
13743 * util/mkisofs/eltorito.c: Include `<errno.h>'.
13744 (init_boot_catalog): Improve error handling.
13745 (get_torito_desc): Don't use floppy emulation unless requested by
13746 user. Patch boot information table when requested via
13747 `-boot-info-table'.
13748 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
13749 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
13750 (use_boot_info_table): New variables.
13751 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
13752 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
13753 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
13754 `--eltorito-emul-floppy'.
13755 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
13756 and `OPTION_ELTORITO_EMUL_FLOPPY'.
13757 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
13758 (use_boot_info_table, get_731): New prototypes.
13759 * util/mkisofs/write.c (get_731): New function.
13760
af7d4de5
FZ
137612009-11-11 Felix Zielcke <fzielcke@z-51.de>
13762
13763 Fix the generation of the man page.
13764
13765 * util/pc/i386/grub-install.in: Source
13766 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13767
2c55dbc0
RM
137682009-11-11 Robert Millan <rmh.grub@aybabtu.com>
13769
13770 Large file support for grub-mkisofs.
13771
13772 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
13773 * util/mkisofs/mkisofs.c (next_extent, last_extent)
13774 (session_start): Upgrade type to `uint64_t'. Update all users.
13775 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
13776 (struct directory_entry): Upgrade type of `starting_block' and
13777 `size' to `uint64_t'. Update all users.
13778 (struct deferred): Remove unused structure.
13779 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
13780 Update all users.
13781 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
13782 file is larger than `UINT32_MAX'.
13783 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
13784 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
13785 return value.
13786 (struct deferred_write): Upgrade type of `extent' and `size' to
13787 `uint64_t'. Update all users.
13788 (last_extent_written): Upgrade type to `uint64_t'. Update all
13789 users.
13790 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
13791 Update all users. Upgrade type of `remain' to `int64_t' and
13792 `use' to `size_t'. Use error() to handle fread() errors.
13793 (write_files): Rely on write_one_file() rather than calling
13794 xfwrite() directly.
13795
6a9cead5
FZ
137962009-11-09 Felix Zielcke <fzielcke@z-51.de>
13797
13798 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
13799
4825d790
RM
138002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13801
13802 * util/mkisofs/fnmatch.c: Remove.
13803 * util/mkisofs/getopt1.c: Likewise.
13804 * util/mkisofs/getopt.c: Likewise.
13805 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
13806 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
13807 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
13808 `gnulib/getopt1.c' and `gnulib/getopt.c'.
13809 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
13810
13811 * configure.ac: Detect `mingw32msvc' host_os.
13812 Check for lstat(), getuid() and getgid().
13813
13814 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
13815 instances of `u_char' with `uint8_t'.
13816
13817 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
13818 [!HAVE_GETUID] (getuid): New function (stub).
13819 [!HAVE_GETGID] (getgid): Likewise.
13820 [!HAVE_LSTAT] (lstat): Likewise.
13821 [!S_IROTH] (S_IROTH): New macro (dummy).
13822 [!S_IRGRP] (S_IRGRP): Likewise.
13823
84b860d8
RM
138242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13825
13826 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
13827 conditional expression).
13828
66e9b712
RM
138292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13830
13831 Import from Gnulib.
13832
13833 * gnulib/fnmatch.c: New file.
13834 * gnulib/fnmatch.h: Likewise.
13835 * gnulib/fnmatch_loop.c: Likewise.
13836 * gnulib/getopt.c: Likewise.
13837 * gnulib/getopt.h: Likewise.
13838 * gnulib/getopt1.c: Likewise.
13839 * gnulib/getopt_int.h: Likewise.
13840 * gnulib/gettext.h: Likewise.
13841
34f4a5b0
RM
138422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13843
13844 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
13845 * normal/handler.c (read_handler_list): Likewise.
13846
ac451143
RM
138472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13848
13849 Misc cleanup.
13850
13851 * kern/command.c (grub_register_command_prio): Use
13852 grub_zalloc() instead of explicitly zeroing data.
13853 * kern/list.c: Include `<grub/mm.h>'.
13854 (grub_named_list_find): Replace `0' with `NULL'.
13855 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
13856 (fs_module_list): Change type to `grub_named_list_t'. Update all
13857 users.
13858 * normal/dyncmd.c (read_command_list): Add space between function
13859 call and parenthesis.
13860 * normal/handler.c (read_handler_list): Likewise.
13861
4089b167
RM
138622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13863
13864 * normal/auth.c (punishment_delay): Moved from here ...
13865 (grub_auth_strcmp): ... to here (inside function).
13866
325f5037
RM
138672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13868
13869 * include/grub/list.h (struct grub_named_list): Remove `const'
13870 qualifier from `name'.
13871 (struct grub_prio_list): Likewise.
13872
7aea29a3
RM
138732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13874
13875 * normal/auth.c: Include `<grub/time.h>'.
13876 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
13877
3fd6f044
RM
138782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13879
13880 * normal/auth.c (punishment_delay): New variable.
13881 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
13882 (grub_auth_check_authentication): Punish failed login attempts with
13883 an incremental (2^N) delay.
13884
a4cd68e4
RM
138852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13886
13887 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
13888 path with $(srcdir).
13889
7ad12f43
VS
138902009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13891
13892 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
13893
c1129f03
RM
138942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13895
13896 * util/i386/coreboot/grub-mkrescue.in: New file.
13897 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
13898 variables.
13899
13900 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
13901 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
13902 * configure.ac: Add header and function checks to satisfy grub-mkisofs
13903 requirements.
13904 * util/mkisofs/defaults.h: New file.
13905 * util/mkisofs/eltorito.c: Likewise.
13906 * util/mkisofs/exclude.h: Likewise.
13907 * util/mkisofs/fnmatch.c: Likewise.
13908 * util/mkisofs/getopt.c: Likewise.
13909 * util/mkisofs/getopt1.c: Likewise.
13910 * util/mkisofs/hash.c: Likewise.
13911 * util/mkisofs/include/fctldefs.h: Likewise.
13912 * util/mkisofs/include/mconfig.h: Likewise.
13913 * util/mkisofs/include/prototyp.h: Likewise.
13914 * util/mkisofs/include/statdefs.h: Likewise.
13915 * util/mkisofs/iso9660.h: Likewise.
13916 * util/mkisofs/joliet.c: Likewise.
13917 * util/mkisofs/match.c: Likewise.
13918 * util/mkisofs/match.h: Likewise.
13919 * util/mkisofs/mkisofs.c: Likewise.
13920 * util/mkisofs/mkisofs.h: Likewise.
13921 * util/mkisofs/multi.c: Likewise.
13922 * util/mkisofs/name.c: Likewise.
13923 * util/mkisofs/rock.c: Likewise.
13924 * util/mkisofs/tree.c: Likewise.
13925 * util/mkisofs/write.c: Likewise.
13926
ec8bb77d
VS
139272009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13928
13929 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
13930 being insecure.
13931
3716b12c
RM
139322009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13933
13934 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
13935 `grub-mkimage' (and use $0 when possible).
13936
b97b7b91
RM
139372009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13938
13939 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
13940 error message for excessively large memory map.
13941
04114812
RM
139422009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13943
13944 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
13945 executable bit.
13946
e4eb2373
RM
139472009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13948
13949 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
13950 message for coreboot users.
13951
c926e1d5 139522009-11-07 Robert Millan <rmh.grub@aybabtu.com>
13953
13954 Fix build with GNU gold.
13955
13956 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
13957 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
13958 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
13959 link addresses.
13960 * aclocal.m4: Likewise.
13961
86e5b1db 139622009-11-04 Felix Zielcke <fzielcke@z-51.de>
13963
13964 * configure.ac (AC_PREREQ): Bump to 2.59d.
13965 * INSTALL: Make it more clear when Autoconf and Ruby are
13966 needed and when to run `./autogen.sh'.
13967
246cd78f 139682009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
13969
13970 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
13971 OSes.
13972
4f9dfb37 139732009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13974
13975 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
13976
b82bd5e1 139772009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13978
13979 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
13980 giving it to GNU Mach.
13981
ff1a9bca 139822009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13983
13984 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
13985 GNU partition number to get internal GRUB partition number.
13986
61697d9c 139872009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13988
13989 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
13990 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
13991
a50569e1 139922009-11-01 Robert Millan <rmh.grub@aybabtu.com>
13993
13994 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
13995 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
13996 case.
13997
5b153867 139982009-11-01 Felix Zielcke <fzielcke@z-51.de>
13999
14000 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
14001
d9e2cd70 140022009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14003
14004 Fix build problem.
14005
14006 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
14007 `-isystem=$(srcdir)/include'.
14008
805111a4 140092009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14010
14011 * util/i386/pc/grub-install.in: Remove hint that device.map should be
14012 checked (grub-install doesn't currently rely on it).
14013
fa6e945f 140142009-10-29 Robert Millan <rmh.grub@aybabtu.com>
14015
14016 Revert SVN r2660.
14017
14018 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
14019 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14020 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
14021 * conf/i386-ieee1275.rmk: Likewise.
14022 * conf/i386-pc.rmk: Likewise.
14023 * conf/powerpc-ieee1275.rmk: Likewise.
14024 * conf/sparc64-ieee1275.rmk: Likewise.
14025 * conf/x86_64-efi.rmk: Likewise.
14026
cee15086 140272009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14028
14029 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
14030
95b9239e 140312009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14032
14033 * include/grub/misc.h: Stop checking for APPLE_CC.
14034
2ed19dfd 140352009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14036
14037 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
14038 doesn't cause an infinite call loop.
14039
fdcdde19 140402009-10-28 Felix Zielcke <fzielcke@z-51.de>
14041
14042 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
14043 strings.
14044
cefabfe1 140452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14046
14047 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
14048 variable.
14049 * Makefile.in: Likewise.
14050
ed96ab6d 140512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14052
14053 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
14054
0579b753 140552009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14056
14057 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
14058
478df409 140592009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14060
14061 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
14062
083d1679 140632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14064
14065 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
14066 from here ...
14067 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
14068
5947ae32 140692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14070
14071 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
14072 in $(MAKEINFO) invocation. This makes it clear in output that
14073 errors are being ignored.
14074
94180ff6 140752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14076
14077 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
14078 from here ...
14079 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14080 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
14081 * conf/i386-ieee1275.rmk: Likewise.
14082 * conf/i386-pc.rmk: Likewise.
14083 * conf/powerpc-ieee1275.rmk: Likewise.
14084 * conf/sparc64-ieee1275.rmk: Likewise.
14085 * conf/x86_64-efi.rmk: Likewise.
14086
9031b03a 140872009-10-26 Colin Watson <cjwatson@ubuntu.com>
14088
14089 * util/grub-editenv.c (main): If only a command is given, use
14090 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
14091 (usage): FILENAME is now optional and has a default.
14092
e4f6809b 140932009-10-26 Colin Watson <cjwatson@ubuntu.com>
14094
14095 Improve grub-mkconfig performance when there are several menu
14096 entries on a single filesystem.
14097
14098 * util/grub.d/10_linux.in (linux_entry): Cache the output of
14099 prepare_grub_to_access_device.
14100 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14101 * util/grub.d/30_os-prober.in: Likewise.
14102
67937d4d 141032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14104
14105 * util/grub.d/10_freebsd.in: Remove.
14106 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
14107 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
14108
ee3756cc 141092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14110
5c35048e 14111 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 14112
4dea1c6f 141132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14114
14115 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
14116 grub_util_error() call.
14117
042484d7 141182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14119
14120 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
14121 `reserved_first_sector' member.
14122 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
14123 `reserved_first_sector' to 1.
14124 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
14125 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
14126 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
14127 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
14128 filesystems which begin at first sector.
14129 (options): New option --skip-fs-probe.
14130 (main): Handle --skip-fs-probe and pass it to setup().
14131
d64448a7 141322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14133
14134 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
14135 (memset): Fix function prototype.
14136
508d42ec 141372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
141382009-10-25 Vasily Averin <vvs@parallels.com>
14139
14140 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
14141 `dirent.direntlen == 0'.
14142
b240e30c 141432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14144
14145 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
14146 `cpio'.
14147 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
14148
346e7fbe 141492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14150
14151 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
14152 `__trampoline_setup' and `__ucmpdi2'.
14153 * include/grub/powerpc/libgcc.h: Only export symbols for functions
14154 that libgcc provides.
14155
cdb308b0 141562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14157
14158 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
14159 * include/grub/sparc64/libgcc.h (memset): Likewise.
14160 * include/grub/misc.h (memset, memcmp): New function prototypes.
14161
fb26abc2 141622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14163
14164 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
14165 `cpio'.
14166 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
14167
f6693890 141682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14169
14170 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
14171 * docs/grub.cfg: Compensate for recent change in multiboot
14172 loader (since 2009-08-14 it won't pass filename to payload).
14173 * util/grub.d/10_hurd.in: Likewise.
14174
0933cdc0 141752009-10-21 Felix Zielcke <fzielcke@z-51.de>
14176
14177 * config.guess: Update to latest version from config git
14178 repository.
14179 * config.sub: Likewise.
14180
3b2fe8c2 141812009-10-20 Robert Millan <rmh.grub@aybabtu.com>
14182
14183 Fix build on sparc64.
14184
14185 * configure.ac: Perform checks for libgcc symbols before
14186 adding `-nostdlib' to LDFLAGS.
14187
46695a62 141882009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14189
14190 Let user specify OpenBSD root device.
14191
14192 * loader/i386/bsd.c (openbsd_root): New variable.
14193 (openbsd_opts): New option 'root'.
14194 (OPENBSD_ROOT_ARG): New macro.
14195 (grub_openbsd_boot): Use 'openbsd_root'.
14196 (grub_cmd_openbsd): Fill 'openbsd_root'.
14197
d2b6b7fc 141982009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14199
14200 * NEWS: Misc adjustments.
14201
421bd7ac 142022009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14203
14204 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
14205
f1d29d87 142062009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14207
14208 * configure.ac: Bump version to 1.97.
14209
6f3cd880 142102009-10-16 Colin Watson <cjwatson@ubuntu.com>
14211
14212 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
14213 -mno-3dnow on x86 architectures. Some toolchains enable these
14214 features by default, but they rely on registers that aren't enabled
14215 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
14216
035f7122 142172009-10-15 Robert Millan <rmh.grub@aybabtu.com>
14218
14219 Make entry text a bit more readable.
14220
14221 * util/grub.d/10_linux.in: Add `with' before `Linux'.
14222
44998e58 142232009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
14226
cd2851b3 142272009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14228
14229 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
14230 operations.
14231
c6f3b249 142322009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14233
14234 * configure.ac: Add missing dollar.
14235
6b5886ba 142362009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14237
14238 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
14239
14240 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
14241 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
14242 exports.
14243 * include/grub/sparc64/libgcc.h: Likewise. Use
14244 preprocessor conditionals.
14245
e9d66f6d 142462009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14247
14248 * conf/common.rmk (grub-dumpbios): Remove rule.
14249 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
14250 * util/grub-dumpbios.in: Remove file.
14251
9155bc17 142522009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14253
14254 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
14255 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
14256
14257 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
14258 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
14259 users.
14260
14261 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
14262 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
14263 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
14264 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
14265 users.
14266
bf7f7a18 142672009-10-12 Robert Millan <rmh.grub@aybabtu.com>
14268
14269 * term/tparm.c: Switch to GPLv3.
14270
86564c26 142712009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14272
14273 * include/grub/i386/cpuid.h: Add header protection.
14274
5c936493 142752009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14276
14277 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
14278
14279 * include/grub/i386/cpuid.h: New file.
14280 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
14281 (has_longmode): Rename to ...
14282 (grub_cpuid_has_longmode): ... this. Update all users. Remove
14283 `static' attribute.
14284 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
14285 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
14286 on a CPU that doesn't implement AMD64 instruction set.
14287
186e7cf2 142882009-10-06 Colin Watson <cjwatson@ubuntu.com>
14289
14290 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
14291 that version.texi is rebuilt on version number changes.
14292
83b65c4a 142932009-10-06 Colin Watson <cjwatson@ubuntu.com>
14294
14295 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
14296 Fixes bug #27602.
14297
d244281c 142982009-10-06 Colin Watson <cjwatson@ubuntu.com>
14299
14300 * util/i386/pc/grub-install.in: Source
14301 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
14302 that the --grub-probe option will work.
14303 * util/sparc64/ieee1275/grub-install.in: Likewise.
14304
da25306d 143052009-10-05 Robert Millan <rmh.grub@aybabtu.com>
14306
14307 * configure.ac: Bump version to 1.97~beta4.
14308
e8ee83c0 143092009-10-03 Robert Millan <rmh.grub@aybabtu.com>
14310
14311 Resync grub-mkdevicemap in x86_64-efi.
14312
14313 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
14314 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
14315 `util/devicemap.c'.
14316
50dcabcf 143172009-10-01 Colin Watson <cjwatson@ubuntu.com>
14318
14319 * util/grub-editenv.c (create_envblk_file): Write new block with a
14320 .new suffix and then rename it into place, to ensure atomic
14321 creation.
14322
0e51c3a7 143232009-09-28 Robert Millan <rmh.grub@aybabtu.com>
14324
14325 Do not automatically install headers.
14326
14327 * Makefile.in (include_DATA): Remove. Update all users.
14328
31299a95 143292009-09-26 Robert Millan <rmh.grub@aybabtu.com>
14330
14331 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
14332 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
14333
14334 * util/osdetect.lua: Remove.
14335 * script/lua/lauxlib.c: Likewise.
14336 * script/lua/ldebug.c: Likewise.
14337 * script/lua/grub_main.c: Likewise.
14338 * script/lua/lauxlib.h: Likewise.
14339 * script/lua/ldebug.h: Likewise.
14340 * script/lua/ltablib.c: Likewise.
14341 * script/lua/liolib.c: Likewise.
14342 * script/lua/lstrlib.c: Likewise.
14343 * script/lua/lualib.h: Likewise.
14344 * script/lua/ldo.c: Likewise.
14345 * script/lua/ldump.c: Likewise.
14346 * script/lua/ldo.h: Likewise.
14347 * script/lua/loslib.c: Likewise.
14348 * script/lua/lundump.c: Likewise.
14349 * script/lua/grub_lib.c: Likewise.
14350 * script/lua/ldblib.c: Likewise.
14351 * script/lua/lundump.h: Likewise.
14352 * script/lua/lmem.c: Likewise.
14353 * script/lua/grub_lib.h: Likewise.
14354 * script/lua/lmathlib.c: Likewise.
14355 * script/lua/lstate.c: Likewise.
14356 * script/lua/ltm.c: Likewise.
14357 * script/lua/lvm.c: Likewise.
14358 * script/lua/lmem.h: Likewise.
14359 * script/lua/lstate.h: Likewise.
14360 * script/lua/ltm.h: Likewise.
14361 * script/lua/ltable.c: Likewise.
14362 * script/lua/lvm.h: Likewise.
14363 * script/lua/llex.c: Likewise.
14364 * script/lua/lgc.c: Likewise.
14365 * script/lua/grub_lua.h: Likewise.
14366 * script/lua/loadlib.c: Likewise.
14367 * script/lua/lfunc.c: Likewise.
14368 * script/lua/lopcodes.c: Likewise.
14369 * script/lua/lparser.c: Likewise.
14370 * script/lua/ltable.h: Likewise.
14371 * script/lua/llex.h: Likewise.
14372 * script/lua/lgc.h: Likewise.
14373 * script/lua/lfunc.h: Likewise.
14374 * script/lua/lbaselib.c: Likewise.
14375 * script/lua/lopcodes.h: Likewise.
14376 * script/lua/lparser.h: Likewise.
14377 * script/lua/lzio.c: Likewise.
14378 * script/lua/linit.c: Likewise.
14379 * script/lua/lobject.c: Likewise.
14380 * script/lua/llimits.h: Likewise.
14381 * script/lua/lstring.c: Likewise.
14382 * script/lua/lzio.h: Likewise.
14383 * script/lua/lapi.c: Likewise.
14384 * script/lua/lcode.c: Likewise.
14385 * script/lua/lua.h: Likewise.
14386 * script/lua/lobject.h: Likewise.
14387 * script/lua/lstring.h: Likewise.
14388 * script/lua/lapi.h: Likewise.
14389 * script/lua/lcode.h: Likewise.
14390 * script/lua/luaconf.h: Likewise.
14391
cb8a2c38 143922009-09-26 Colin Watson <cjwatson@ubuntu.com>
14393
14394 * docs/grub.texi (Command-line and menu entry commands): Document
14395 date and echo commands.
14396
6b9b6276 143972009-09-24 Pavel Roskin <proski@gnu.org>
14398
14399 * include/grub/kernel.h (struct grub_module_header): Remove
14400 `grub_module_header_types'. Make `type' unsigned. Make `size'
14401 32-bit on all platforms.
14402 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
14403 8-bit field. Use grub_host_to_target32() for `size'.
14404 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
14405 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
14406 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
14407
4e5a02a7 144082009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14409
14410 Fix "lost keypress" bug in at_keyboard.
14411
14412 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
14413 Checks for readyness of input buffer (without flushing it).
14414 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
14415 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
14416
c6dcedf6 144172009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14418
14419 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
14420 size check within GRUB_MACHINE_PCBIOS section.
14421
74c958b1 144222009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14423
14424 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
14425 return value.
14426 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
14427 KEYBOARD_ISREADY check.
14428 (grub_at_keyboard_checkkey): Rename to ...
14429 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
14430 Remove gratuitous cast.
14431
ff420223 144322009-09-23 Colin Watson <cjwatson@ubuntu.com>
14433
14434 * configure.ac: Call AC_PROG_MKDIR_P.
14435 * Makefile.in (docs/stamp-vti): Create docs directory. Create
14436 version.texi in $(builddir) rather than $(srcdir).
14437 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
14438 to makeinfo's @include search path.
14439
d96875df 144402009-09-23 Felix Zielcke <fzielcke@z-51.de>
14441
14442 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
14443
9b3f8365 144442009-09-23 Felix Zielcke <fzielcke@z-51.de>
14445
14446 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
14447 for `*.dpkg-new'.
14448
c44c90db 144492009-09-21 Colin Watson <cjwatson@ubuntu.com>
14450
14451 Build info documentation. Some code borrowed from Automake.
14452
14453 * configure.ac: Check for makeinfo.
14454 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
14455 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
14456 docs/version.texi.
14457 (MOSTLYCLEANFILES): Add vti.tmp.
14458 (docs/version.texi, docs/stamp-vti): Update automatically.
14459 (docs/grub.info): Build info documentation. Use --force and ignore
14460 errors for now.
14461 (all-local): Add $(INFOS).
14462 (install-local): Install info files.
14463 (uninstall): Uninstall info files.
14464 * docs/version.texi: Remove from revision control. This file is
14465 automatically generated on build now.
14466 * gendistlist.sh: Add `*.info'.
14467
e0b37bb5 144682009-09-21 Felix Zielcke <fzielcke@z-51.de>
14469
14470 * kern/term.c: Fix indentation.
14471
5a78865b 144722009-09-21 Felix Zielcke <fzielcke@z-51.de>
14473
14474 * util/hostdisk.c: Fix a comment.
14475
dace7e8a 144762009-09-20 Robert Millan <rmh.grub@aybabtu.com>
14477
14478 Fix regression introduced in r2539.
14479
14480 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
14481 to 0xA1.
14482
a83d079b 144832009-09-19 Colin Watson <cjwatson@ubuntu.com>
14484
14485 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 14486 os-prober. Under normal operation, it does not print anything to
14487 stderr; if it does, we need to debug it, and throwing away stderr
14488 makes that excessively difficult.
a83d079b 14489
be94a509 144902009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
14491
14492 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
14493
63f745e8 144942009-09-16 Robert Millan <rmh.grub@aybabtu.com>
14495
14496 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
14497 AC_LANG_PROGRAM from autoconf.
14498 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
14499 prototypes (fixes warning).
14500
14501 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
14502 `--disable-werror' was used.
14503
bbb2a70f 145042009-09-16 Robert Millan <rmh.grub@aybabtu.com>
14505
14506 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
14507 uninitialized `lastaddr'.
14508
77c24f1d 145092009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14510
0f0b8c87 14511 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 14512
07197f23 145132009-09-14 Colin Watson <cjwatson@ubuntu.com>
14514
14515 * commands/test.c (get_fileinfo): Return immediately if
14516 grub_fs_probe fails.
14517
dabf1798 145182009-09-14 José Martínez <xosemp@gmail.com>
14519
14520 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
14521
d52109a7 145222009-09-14 Colin Watson <cjwatson@ubuntu.com>
14523
14524 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
14525 output.
14526
56532179 145272009-09-13 Robert Millan <rmh.grub@aybabtu.com>
14528
14529 * configure.ac: Remove --enable-grub-pe2elf. Only build
14530 grub-pe2elf when needed by the build system itself.
14531 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
14532
8ef070f5 145332009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14534
14535 * configure.ac: Bump version to 1.97~beta3.
14536 * docs/version.texi: Likewise.
14537
61229557 145382009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14539
14540 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
14541 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
14542 from here ...
14543 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
14544 (grub_linux_setup_video): ... to here (with some adjustments).
14545
5c9f8d84 145462009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14547
14548 Fix memory corruption issue (spotted by Colin Watson).
14549
14550 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
14551 causing returned size to be stored in an incorrect memory location.
14552 Fix use of uninitialized value when storing the returned size.
14553
e8f5d6e9 145542009-09-12 Yves Blusseau <blusseau@zetam.org>
14555
14556 Change clean rules to properly remove files
14557
14558 * genmk.rb: add new clean rules
14559 * Makefile.in (clean): add the new targets
14560 (mostlyclean): likewise
14561
cda2a409 145622009-09-11 Colin Watson <cjwatson@ubuntu.com>
14563
14564 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
14565 to grub_uint64_t.
14566 * fs/ntfs.c (init_file): Understand 64-bit sizes for
14567 non-resident files.
14568
86695375 145692009-09-11 Colin Watson <cjwatson@ubuntu.com>
14570
14571 * configure.ac: Don't look for help2man when cross-compiling. Fixes
14572 part of bug #27349.
14573
8aa1541a 145742009-09-10 Felix Zielcke <fzielcke@z-51.de>
14575
14576 * util/grub-mkconfig.in: Make the created config mode 400 and
14577 print a warning if it fails.
14578
48d9bb0a 145792009-09-10 Robert Millan <rmh.grub@aybabtu.com>
14580
14581 * util/grub.d/40_custom.in: Ask user to type custom entries below
14582 comment, rather than below 'exec tail' line.
14583
3b0521be 145842009-09-10 Colin Watson <cjwatson@ubuntu.com>
14585
14586 * util/grub.d/40_custom.in: Make sure that the explanatory text is
14587 visible in grub.cfg.
14588
50051d55 145892009-09-10 Colin Watson <cjwatson@ubuntu.com>
14590
14591 * util/grub.d/40_custom.in: Make it a little clearer how to use this
14592 file.
14593
c0d34387 145942009-09-10 Felix Zielcke <fzielcke@z-51.de>
14595
14596 * docs/grub.cfg: Add an example menu entry for memtest86+.
14597
80a608f3 145982009-09-09 Felix Zielcke <fzielcke@z-51.de>
14599
a2094832 14600 * config.guess: Update to latest version from config git.
80a608f3 14601 * config.sub: Likewise.
14602
99423078 146032009-09-08 Colin Watson <cjwatson@ubuntu.com>
14604
14605 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
14606 unknown-command case. Fixes bug #27320.
14607
44454e4c 146082009-09-08 Felix Zielcke <fzielcke@z-51.de>
14609
14610 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
14611 `help' if the command exists.
14612
e30d87ad 146132009-09-06 Robert Millan <rmh.grub@aybabtu.com>
14614
14615 * INSTALL: Require GCC 4.1.3 or later.
14616
9a86f1ec 146172009-09-06 Yves Blusseau <blusseau@zetam.org>
14618
14619 * Makefile.in (RMKFILES): add i386-qemu.rmk
14620 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
14621 $(srcdir)/stamp-h.in
14622
7f26d466 146232009-09-05 Robert Millan <rmh.grub@aybabtu.com>
14624
14625 * util/grub-probe.c (probe): Comment out buggy codepath, which
14626 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
14627 should be re-enabled after 1.97.
14628
3a613259 146292009-09-05 Felix Zielcke <fzielcke@z-51.de>
14630
14631 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
14632 find searches for.
14633
197f76c7 146342009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14635
14636 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
14637 unnecessary calls to grub_error.
14638
70ba68ce 146392009-09-04 Colin Watson <cjwatson@ubuntu.com>
14640
14641 * NEWS: Mention `keystatus' and Unicode fonts.
14642
4ff0d7a4 146432009-09-04 Robert Millan <rmh.grub@aybabtu.com>
14644
14645 * configure.ac: Bump version to 1.97~beta2.
14646 * docs/version.texi: Likewise.
14647
77c55a87 146482009-09-03 Colin Watson <cjwatson@ubuntu.com>
14649
14650 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
14651 containing unwind information in some cases where it previously did
14652 not. Use -fno-dwarf2-cfi-asm if available to restore the old
14653 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
14654 discussion.
14655
f79572cd 146562009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
14657
14658 Embedding loadenv module into grub-emu
14659
14660 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
14661 commands/loadenv.c
14662 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
14663 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
14664 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
14665 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
14666 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
14667 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
14668
93a81088 146692009-09-03 Magnus Granberg <zorry@ume.nu>
14670
14671 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
14672 include -fPIE in the default specs.
14673 * configure.ac: Check if pie_possible is yes and add -fno-PIE
14674 to TARGET_CFLAGS.
14675
160034b2 146762009-09-03 Felix Zielcke <fzielcke@z-51.de>
14677
14678 * INSTALL: Note that GNU Bison 2.3 or later is required.
14679
087c07c4 146802009-09-03 Colin Watson <cjwatson@ubuntu.com>
14681
14682 * kern/i386/pc/startup.S: Fix typo.
14683
cbf978c0 146842009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14685
14686 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
14687 according to GCS.
14688
146892009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 14690
14691 * docs/grub.texi (Naming convention): Describe one-based partition
14692 numbering.
14693 (Device syntax): Likewise.
14694 (File name syntax): Likewise.
14695 (Block list syntax): Likewise.
14696 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
14697 menu.lst.
14698 (File name syntax): Likewise.
14699 (Command-line and menu entry commands): Document acpi, blocklist,
14700 crc, export, insmod, keystatus, ls, set, and unset commands.
14701
f3e8cdfd 147022009-09-02 Colin Watson <cjwatson@ubuntu.com>
14703
14704 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
14705 to avoid implying that only one of --shift, --ctrl, or --alt may be
14706 used.
14707
c0bc232b 147082009-09-02 Colin Watson <cjwatson@ubuntu.com>
14709
14710 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
14711 rather than comparing against S_IFREG, which will almost never work.
14712
aa0f752d 147132009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
14716 (write_blocklists): Likewise.
14717
ecb3166a 147182009-09-01 Colin Watson <cjwatson@ubuntu.com>
14719
14720 * script/lua/grub_lua.h (fputs): Supply a format string as the first
14721 argument to grub_printf.
14722
c403a125 147232009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 14724
14725 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 14726 non GNU test.
31aba781 14727
b5e7312c 147282009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14729
14730 * kern/file.c (grub_file_read): Spelling fix
14731
fe00f472 147322009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14733
14734 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
14735 loading of headers in some cases.
14736
cc55302e 147372009-08-30 Robert Millan <rmh.grub@aybabtu.com>
14738
14739 * configure.ac: Bump version to 1.97~beta1.
14740 * docs/version.texi: Likewise.
14741
5c90cdd2 147422009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 14743
14744 * include/grub/i386/xnu.h: Add license header.
14745 include grub/err.h explicitly.
14746
c90edae4 147472009-08-29 Robert Millan <rmh.grub@aybabtu.com>
14748
14749 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
14750 to `ufs' in the vfs.root.mountfrom kernel parameter.
14751
d8888b5c 147522009-08-29 Robert Millan <rmh.grub@aybabtu.com>
14753
14754 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
14755
14756 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
14757 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
14758
14759 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
14760 `ARRAY_SIZE' macro.
14761
6f07b921 147622009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 * kern/file.c (grub_file_read): Check offset.
14765 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
14766 * fs/jfs.c (grub_jfs_read_file): Likewise.
14767 * fs/ntfs.c (grub_ntfs_read): Likewise.
14768 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
14769 * fs/minix.c (grub_minix_read_file): Correct offset check.
14770 * fs/ufs.c (grub_ufs_read_file): Likewise.
14771
b4f34077 147722009-08-28 Colin Watson <cjwatson@ubuntu.com>
14773
14774 * term/i386/pc/console.c (bios_data_area): Cast
14775 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
14776
e7c69859 147772009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14778
14779 1-bit optimised blitters.
14780
14781 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
14782 prototype.
14783 (grub_video_fbblit_replace_24bit_1bit): Likewise.
14784 (grub_video_fbblit_replace_16bit_1bit): Likewise.
14785 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14786 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14787 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
14788 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
14789 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
14790 function.
14791 (grub_video_fbblit_replace_24bit_1bit): Likewise.
14792 (grub_video_fbblit_replace_16bit_1bit): Likewise.
14793 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14794 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14795 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
14796 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
14797 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
14798 when possible.
14799 * video/video.c (grub_video_get_blit_format): Return
14800 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
14801
a57da43f 148022009-08-28 Colin Watson <cjwatson@ubuntu.com>
14803
14804 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
14805 the first argument to grub_printf.
14806
4cbe67e5 148072009-08-28 Colin Watson <cjwatson@ubuntu.com>
148082009-08-28 Robert Millan <rmh.grub@aybabtu.com>
14809
14810 Add `getkeystatus' terminal method. Add a new `keystatus' command
14811 to query it.
14812
14813 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
14814 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
14815 modifier key bitmasks.
14816 (struct grub_term_input): Add `getkeystatus' member.
14817 (grub_getkeystatus): Add prototype.
14818 * kern/term.c (grub_getkeystatus): New function.
14819
14820 * include/grub/i386/pc/memory.h
14821 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
14822 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
14823 Data Area layout.
14824 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
14825 (grub_console_term_input): Set `getkeystatus' member.
14826 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
14827 constants.
14828 (grub_usb_keyboard_getreport): Likewise.
14829 (grub_usb_keyboard_checkkey): Likewise.
14830 (grub_usb_keyboard_getkeystatus): New function.
14831 (grub_usb_keyboard_term): Set `getkeystatus' member.
14832
14833 * commands/keystatus.c: New file.
14834 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
14835 (keystatus_mod_SOURCES): New variable.
14836 (keystatus_mod_CFLAGS): Likewise.
14837 (keystatus_mod_LDFLAGS): Likewise.
14838 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
14839 commands/keystatus.c.
14840 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14841 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14842 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14843 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14844 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14845 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 14846
6e2a9085 148472009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14848
14849 Split befs.mod and afs.mod into *_be.mod and *.mod
14850
14851 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
14852 (grub_fstest_SOURCES): Likewise.
14853 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
14854 (afs_be_mod_SOURCES): New variable.
14855 (afs_be_mod_CFLAGS): Likewise.
14856 (afs_be_mod_LDFLAGS): Likewise.
14857 (befs_be_mod_SOURCES): Likewise.
14858 (befs_be_mod_CFLAGS): Likewise.
14859 (befs_be_mod_LDFLAGS): Likewise.
14860 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
14861 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14862 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14863 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14864 (grub_emu_SOURCES): Likewise.
14865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14866 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14867 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14868 * fs/afs_be.c: New file.
14869 * fs/befs_be.c: New file.
14870 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
14871 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
14872 (U16): Replaced with ...
14873 (grub_afs_to_cpu16): ...this. All users updated.
14874 (U32): Replaced with ...
14875 (grub_afs_to_cpu32): ...this. All users updated.
14876 (U64): Replaced with ...
14877 (grub_afs_to_cpu64): ...this. All users updated.
14878 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
14879 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 14880 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 14881 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
14882 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
14883 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
14884 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
14885 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
14886 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
14887 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
14888 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
14889
32a71655 148902009-08-26 Bean <bean123ch@gmail.com>
14891
14892 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
14893 64-bit number.
14894 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
14895 (grub_xfs_inode_block): Change return type to grub_uint64_t.
14896 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
14897
552bf6c5 148982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14899
14900 NetBSD memory map support.
14901
14902 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
14903 (grub_netbsd_btinfo_mmap_header): New structure.
14904 (grub_netbsd_btinfo_mmap_entry): Likewise.
14905 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
14906
1ae2078c 149072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14908
14909 Enable bsd.mod on coreboot.
14910
14911 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
14912 (bsd_mod_SOURCES): New variable.
14913 (bsd_mod_CFLAGS): Likewise.
14914 (bsd_mod_LDFLAGS): Likewise.
14915 (bsd_mod_ASFLAGS): Likewise.
14916 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
14917 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
14918
beefc598 149192009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14920
14921 Cleanup NetBSD root support.
14922
14923 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
14924 grub_bsd_get_device.
14925 Fix typo.
14926
3b76e68b 149272009-08-25 Felix Zielcke <fzielcke@z-51.de>
14928
14929 * util/grub.d/00_header.in: Move check for the video backend of
14930 gfxterm from here ...
14931 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
14932 a suitable video backend.
14933
aea664ea 149342009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14935
14936 Fix breakage in grub-setup.
14937
14938 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
14939 "msdos_partition_map".
14940
ff747d50 149412009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14942
14943 Fix breakage in normal/auth.c.
14944
14945 * normal/auth.c (grub_iswordseparator): New function.
14946
e7e1f93f 149472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14948
14949 Authentication support.
14950
14951 * commands/password.c: New file.
14952 * conf/common.rmk (pkglib_MODULES): Add password.mod.
14953 (password_mod_SOURCES): New variable.
14954 (password_mod_CFLAGS): Likewise.
14955 (password_mod_LDFLAGS): Likewise.
14956 (normal_mod_SOURCES): Add normal/auth.c.
14957 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
14958 normal/auth.c.
14959 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14960 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14961 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14962 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14963 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14964 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14965 * include/grub/auth.h: New file.
14966 * include/grub/err.h (grub_err_t): New enum value
14967 GRUB_ERR_ACCESS_DENIED.
14968 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
14969 'users'.
14970 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
14971 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
14972 users updated.
14973 * normal/auth.c: New file.
14974 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
14975 (grub_cmdline_run): Don't allow to go to command line without
14976 authentication.
14977 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
14978 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
14979 menuentry without superuser rights.
14980 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
14981 user isn't a superuser.
14982
70f1161d 149832009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14984
14985 Save space by inlining misc.c functions.
14986
14987 * kern/misc.c (grub_iswordseparator): Made static.
14988 * kern/misc.c (grub_strcat): Moved from here ...
14989 * include/grub/misc.h (grub_strcat): ... here. Inlined.
14990 * kern/misc.c (grub_strncat): Moved from here ...
14991 * include/grub/misc.h (grub_strncat): ... here. Inlined.
14992 * kern/misc.c (grub_strcasecmp): Moved from here ...
14993 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
14994 * kern/misc.c (grub_strncasecmp): Moved from here ...
14995 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
14996 * kern/misc.c (grub_isalpha): Moved from here ...
14997 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
14998 * kern/misc.c (grub_isdigit): Moved from here ...
14999 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
15000 * kern/misc.c (grub_isgraph): Moved from here ...
15001 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
15002 * kern/misc.c (grub_tolower): Moved from here ...
15003 * include/grub/misc.h (grub_tolower): ... here. Inlined.
15004
48e40bff 150052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15006
15007 * script/sh/function.c (grub_script_function_find): Cut error message
15008 not to flood terminal.
15009 * script/sh/lexer.c (grub_script_yylex): Remove command line length
15010 limit.
15011 * script/sh/script.c (grub_script_arg_add): Duplicate string.
15012
c385bfc3 150132009-08-24 Colin Watson <cjwatson@ubuntu.com>
15014
15015 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
15016 `report' grub_uint8_t *.
15017 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
15018 Use a 50-millisecond timeout rather than just repeating
15019 grub_usb_keyboard_getreport 50 times.
15020 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
15021
2d21e3e8 150222009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15023
15024 Rename *_partition_map to part_*
15025
15026 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
15027 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
15028 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
15029 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
15030 All users updated.
15031 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
15032 All users updated.
15033 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
15034 * util/grub-probe.c (probe_partmap): Don't transform partition name
15035 to get module name.
15036
dd103c4e 150372009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 Fix OpenBSD and NetBSD support.
15040
15041 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
15042 memory address conflict.
15043 (OPENBSD_MMAP_ACPI): New definition.
15044 (OPENBSD_MMAP_NVS): Likewise.
15045 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
15046 and OPENBSD_MMAP_NVS.
15047 Add memory map terminator
15048 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 15049 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 15050
16c84d74 150512009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15052
15053 Let user specify NetBSD root device.
15054
15055 * loader/i386/bsd.c (netbsd_root): New variable.
15056 (netbsd_opts): New option 'root'.
15057 (NETBSD_ROOT_ARG): New macro.
15058 (grub_netbsd_boot): Use 'netbsd_root'.
15059 (grub_bsd_unload): Free 'netbsd_root'.
15060 (grub_cmd_netbsd): Fill 'netbsd_root'.
15061
adb29902 150622009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15063
15064 Support for 64-bit NetBSD.
15065
15066 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
15067 point when booting non-FreeBSD.
15068
f5ae9f74 150692009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15070
15071 Support --no-smp and --no-acpi for NetBSD.
15072
15073 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
15074 (NETBSD_AB_NOACPI): Likewise.
15075 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
15076 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
15077
de74f136 150782009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
15081 errors.
15082 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
15083 errors. Call grub_error when needed.
15084
e9a925da 150852009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15086
15087 * commands/search.c (search_fs): Try searching without autoload first.
15088 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15089 filesystem module explicitly for faster booting.
15090
5174302b 150912009-08-23 Colin Watson <cjwatson@ubuntu.com>
15092
15093 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
15094
c8c80635 150952009-08-23 Colin Watson <cjwatson@ubuntu.com>
15096
15097 * util/grub.d/30_os-prober.in: Disable os-prober if
15098 `GRUB_DISABLE_OS_PROBER' was set to true.
15099
71acf5e5 151002009-08-23 Robert Millan <rmh.grub@aybabtu.com>
15101
15102 * partmap/pc.c: Rename to ...
15103 * partmap/msdos.c: ... this. Update all users.
15104 (grub_pc_partition_map): Rename to ...
15105 (grub_msdos_partition_map): ... this. Update all users.
15106
15107 * parttool/pcpart.c: Rename to ...
15108 * parttool/msdospart.c: ... this. Update all users.
15109
15110 * include/grub/pc_partition.h: Rename to ...
15111 * include/grub/msdos_partition.h: ... this. Update all users.
15112 (grub_pc_partition_bsd_entry): Rename to ...
15113 (grub_msdos_partition_bsd_entry): ... this. Update all users.
15114 (grub_pc_partition_disk_label): Rename to ...
15115 (grub_msdos_partition_disk_label): ... this. Update all users.
15116 (grub_pc_partition_entry): Rename to ...
15117 (grub_msdos_partition_entry): ... this. Update all users.
15118 (grub_pc_partition_mbr): Rename to ...
15119 (grub_msdos_partition_mbr): ... this. Update all users.
15120 (grub_pc_partition): Rename to ...
15121 (grub_msdos_partition): ... this. Update all users.
15122 (grub_pc_partition_is_empty): Rename to ...
15123 (grub_msdos_partition_is_empty): ... this. Update all users.
15124 (grub_pc_partition_is_extended): Rename to ...
15125 (grub_msdos_partition_is_extended): ... this. Update all users.
15126 (grub_pc_partition_is_bsd): Rename to ...
15127 (grub_msdos_partition_is_bsd): ... this. Update all users.
15128
15129 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
15130 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
15131 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
15132 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
15133 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
15134 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
15135 (gpt_mod_LDFLAGS): Rename to ...
15136 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
15137 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
15138 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
15139 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
15140 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
15141 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
15142 (part_gpt_mod_LDFLAGS): ... this.
15143 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
15144 `pcpart.mod' to `msdospart.mod'.
15145 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
15146 to ...
15147 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
15148 (msdospart_mod_LDFLAGS): ... this.
15149
c11fded5 151502009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15151
15152 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
15153 (openbsd_opts): Likewise.
15154 (netbsd_opts): Likewise.
15155 (freebsd_flags): Added 0 terminator.
15156 (openbsd_flags): Likewise.
15157 (netbsd_flags): Likewise.
15158 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
15159 (grub_cmd_freebsd): Transformed into extended command.
15160 (grub_cmd_openbsd): Likewise.
15161 (grub_cmd_netbsd): Likewise.
15162 (cmd_freebsd): Changed type to grub_extcmd_t.
15163 (cmd_openbsd): Likewise.
15164 (cmd_netbsd): Likewise.
15165 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
15166 grub_cmd_openbsd as extended commands.
15167 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
15168 cmd_netbsd and cmd_openbsd
15169
11d1c769 151702009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15171
15172 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
15173
7a9094e5 151742009-08-21 Pavel Roskin <proski@gnu.org>
15175
5496c37e 15176 * Makefile.in (install-local): When checking if a file is in the
15177 build directory, use "test -e" to detect symlinks.
15178
7a9094e5 15179 * Makefile.in (install-local): Remove all files in
15180 $(DESTDIR)$(pkglibdir) before installing new files there.
15181
e53cea11 151822009-08-18 Felix Zielcke <fzielcke@z-51.de>
15183
15184 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
15185 grub-mkelfimage.
15186
9aced544 151872009-08-18 Felix Zielcke <fzielcke@z-51.de>
15188
15189 * util/grub-mkconfig.in: Don't use gfxterm by default if not
15190 explicitly specified by the user.
15191
b7da6bab 151922009-08-18 Pavel Roskin <proski@gnu.org>
15193
15194 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
15195 grub_uint8_t pointer for data.
15196 * include/grub/fbutil.h (struct grub_video_fbblit_info):
15197 Likewise.
15198 * video/fb/fbutil.c: Remove unnecessary casts.
15199
19f1b335 152002009-08-17 Michal Suchanek <hramrach@centrum.cz>
15201
15202 VBE cleanup.
15203
15204 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
15205 (grub_vbe_set_video_mode): Save active mode info
15206 only after setting the mode.
15207 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
15208 second argument.
15209
2f467aa9 152102009-08-17 Michal Suchanek <hramrach@centrum.cz>
15211
15212 Rename variables for clarity.
15213
15214 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
15215 (active_vbe_mode_info): ... this. All users updated.
15216 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
15217 All users updated.
15218 (initial_mode): Rename to ...
15219 (initial_vbe_mode): ... this. All users updated.
15220 (mode_in_use): Rename to ..
15221 (vbe_mode_in_use): ... this. All users updated.
15222 (mode_list): Rename to ..
15223 (vbe_mode_list): ... this. All users updated.
15224 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
15225 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
15226 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
15227 'mode_list_size' to 'vbe_mode_list_size'.
15228 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
15229 'best_mode_info' to 'best_vbe_mode_info' and
15230 'best_mode' to 'best_vbe_mode'
15231
6025fcd7 152322009-08-17 Michal Suchanek <hramrach@centrum.cz>
15233
15234 Remove duplicate grub_video_fb_get_video_ptr.
15235
15236 * include/grub/fbutil.h (get_data_ptr): Rename to ...
15237 (grub_video_fb_get_video_ptr): ... this.
15238 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
15239 * video/fb/fbutil.c: Add comment about addressing.
15240 (get_data_ptr): Rename to ...
15241 (grub_video_fb_get_video_ptr): ... this. All users updated.
15242 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
15243
cc8c6faf 152442009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15245
15246 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
15247 grub_dprintf() that was just added.
15248
08aa61f0 152492009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15250
15251 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
15252 (DEFAULT_VIDEO_MODE): Remove macros.
15253 (grub_linux_boot): Remove assumption that Linux has FB support,
15254 and use "text" as default video mode.
15255
7cef4f75 152562009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
15259 grub_dprintf.
15260 * fs/fat.c (grub_fat_read_data): Likewise.
15261
e1f39873 152622009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15263
15264 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
15265 payload.
15266 (grub_module): Likewise.
15267
c166d79e 152682009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15269
15270 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
15271 mbi->cmdline but free playground.
15272
c60cee8e 152732009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15274
15275 Handle group offset on UFS1.
15276
15277 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
15278 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
15279
c0d8b5d4 152802009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15281
15282 Split ufs.mod into ufs1.mod and ufs2.mod.
15283
15284 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
15285 (grub_fstest_SOURCES): Likewise.
15286 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
15287 (ufs_mod_SOURCES): Remove.
15288 (ufs_mod_CFLAGS): Likewise.
15289 (ufs_mod_LDFLAGS): Likewise.
15290 (ufs1_mod_SOURCES): New variable.
15291 (ufs1_mod_CFLAGS): Likewise.
15292 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 15293 (ufs2_mod_SOURCES): New variable.
15294 (ufs2_mod_CFLAGS): Likewise.
15295 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 15296 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
15297 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15298 Likewise.
15299 (grub_emu_SOURCES): Likewise.
15300 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15301 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15302 (grub_setup_SOURCES): Likewise.
15303 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15304 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
15305 (grub_setup_SOURCES): Likewise.
15306 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15307 Likewise.
15308 * fs/ufs2.c: New file.
15309 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
15310
d3539132 153112009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15312
15313 Framebuffer split.
15314
15315 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
15316 subsystem at the end.
15317 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
15318 (video_fb_mod_SOURCES): New variable.
15319 (video_fb_mod_CFLAGS): Likewise.
15320 (video_fb_mod_LDFLAGS): Likewise.
15321 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
15322 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
15323 * video/i386/pc/vbeblit.c: Moved from here ...
15324 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
15325 * video/i386/pc/vbefill.c: Moved from here ...
15326 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
15327 * video/i386/pc/vbeutil.c: Moved from here ...
15328 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
15329 * include/grub/i386/pc/vbeblit.h: Moved from here ...
15330 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
15331 * include/grub/i386/pc/vbefill.h: Moved from here ...
15332 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
15333 * include/grub/i386/pc/vbeutil.h: Moved from here ...
15334 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
15335 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
15336 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
15337 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
15338 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
15339 (grub_video_adapter): Added 'get_info_and_fini'.
15340 (grub_video_get_info_and_fini): New prototype.
15341 (grub_video_set_mode): make modestring const char *.
15342 * loader/i386/linux.c (grub_linux_setup_video): Use
15343 grub_video_get_info_and_fini.
15344 (grub_linux_boot): Move modesetting just before booting.
15345 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
15346 grub_video_get_info_and_fini.
15347 * video/i386/pc/vbe.c: Moved framebuffer part ...
15348 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
15349 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
15350 grub_video_fbstd_colors and grub_video_fb_set_palette.
15351 (grub_video_vbe_init): Clear 'framebuffer' variable and use
15352 grub_video_fb_init.
15353 (grub_video_vbe_fini): Use grub_video_fb_fini.
15354 (grub_video_vbe_setup): Use framebuffer.render_target instead of
15355 render_target and use grub_video_fb_set_active_render_target and
15356 grub_video_fb_set_palette.
15357 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
15358 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
15359 (grub_video_vbe_adapter): Use framebuffer.
15360 * video/video.c (grub_video_get_info_and_fini): New function.
15361 (grub_video_set_mode): Make modestring const char *.
15362 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
15363 values are already initialised.
15364
d404ee56 153652009-08-14 Pavel Roskin <proski@gnu.org>
15366
15367 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
15368 ABS and APPLE_CC.
15369 * boot/i386/pc/diskboot.S: Likewise.
15370 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
15371 sectors allow compilation on MacOSX.
15372 * conf/i386-pc.rmk: Enable unconditional compilation of
15373 lnxboot.img.
15374
9a10df16 153752009-08-13 Colin Watson <cjwatson@ubuntu.com>
15376
15377 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
15378 * util/grub.d/00_header.in: Enter interruptible sleep if
15379 GRUB_HIDDEN_TIMEOUT is set.
15380
be3c9ca7 153812009-08-13 Yves Blusseau <blusseau@zetam.org>
15382
15383 * include/grub/symbol.h: Add the LOCAL macro.
15384 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
15385 starting with "L_".
15386
1f9e557e 153872009-08-13 Pavel Roskin <proski@gnu.org>
15388
9ca62843 15389 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
15390 any modern compilers we support.
15391
1f9e557e 15392 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
15393 Use local labels starting with "L_" so that Apple assembler
15394 knows they are local.
15395
81623db6 153962009-08-10 Robert Millan <rmh.grub@aybabtu.com>
15397
15398 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
15399 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
15400 (bsd_kernel_types): ... this enum.
15401
15402 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
15403 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
15404 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
15405
15406 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
15407 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
15408 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
15409 messages.
15410
f5d35e7a 154112009-08-08 Robert Millan <rmh.grub@aybabtu.com>
15412
15413 * util/grub-dumpdevtree: Moved from here ...
15414 * util/i386/efi/grub-dumpdevtree: ... to here.
15415 (hexify): New function. Converts a string to its hex version.
15416 Generate hex versions of "efi" and "device-properties" by calling
15417 hexify() on the ASCII strings rather than by hardcoding numbers.
15418
d1e1d527 154192009-08-08 Robert Millan <rmh.grub@aybabtu.com>
15420
15421 * fs/jfs.c: Update copyright year.
15422
1ebbe064 154232009-08-08 Felix Zielcke <fzielcke@z-51.de>
15424
15425 * util/grub.d/00_header.in: Fix a comment.
15426 * util/grub.d/10_linux.in: Likewise.
15427 * util/grub.d/10_windows.in: Likewise.
15428 * util/grub.d/10_hurd.in: Likewise.
15429
a78c8d24 154302009-08-08 Felix Zielcke <fzielcke@z-51.de>
15431
15432 * util/grub-mkconfig.in: Allow the user to specify the used font
15433 with GRUB_FONT.
15434
29a6b9e8 154352009-08-08 Pavel Roskin <proski@gnu.org>
15436
b5f16cc4 15437 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
15438 available, xfs.mod needs it now.
15439
2f5cb827 15440 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
15441 the "g" modifier in sed when the intention is to strip something
15442 once. This fixes comparison of kernels with multiple dashes.
15443
29a6b9e8 15444 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
15445 on it. Add missing space before closing bracket. Fix
15446 misleading formatting.
15447
892a3d98 154482009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15449
15450 * docs/grub.texi: Major overhaul. Remove all sections that are
15451 specific to GRUB Legacy, or mostly composed of Legacy-specific
15452 information.
15453
ed94253f 154542009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15455
15456 * docs/version.texi: New file. Provides version information for
15457 grub.texi.
15458
126d6628 154592009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15460
15461 * docs/grub.texi: Update CVS information to SVN.
15462 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
15463
998b5aa9 154642009-08-07 Felix Zielcke <fzielcke@z-51.de>
15465
15466 * util/grub-mkconfig.in: Remove a wrong `fi'.
15467
818e094a 154682009-08-07 Felix Zielcke <fzielcke@z-51.de>
15469
15470 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
15471 (grub_jfs_uuid): New function.
15472 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
15473
b969c52f 154742009-08-07 Felix Zielcke <fzielcke@z-51.de>
15475
15476 * util/grub-mkconfig_lib.in (font_path): Move the functionality
15477 of it to ...
15478 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
15479 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
15480
7a4894cc 154812009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15482
15483 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
15484 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
15485 Update all users.
15486
15487 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
15488 not just "vmlinu[zx]".
15489 Moved from here ...
15490 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
15491 all users.
15492
15493 * util/grub.d/10_linux.in (find_latest): Moved from here ...
15494 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
15495 all users.
15496
4e2171f8 154972009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15498
15499 * util/grub.d/10_freebsd.in: Use an absolute device path for
15500 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
15501
6dcfcb32 155022009-08-06 Felix Zielcke <fzielcke@z-51.de>
15503
15504 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
15505 handling of multiple abstraction modules.
15506
f56a8756 155072009-08-04 Robert Millan <rmh.grub@aybabtu.com>
15508
15509 Fix a bug resulting in black screen when loading Linux using a
15510 packed video mode.
15511
15512 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
15513 function.
15514
15515 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
15516 (grub_vbe_bios_getset_dac_palette_width): New function.
15517 (grub_vbe_bios_get_dac_palette_width)
15518 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
15519 grub_vbe_bios_getset_dac_palette_width()).
15520
15521 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
15522 check for return status.
15523 (grub_vbe_get_video_mode_info): When getting information for a packed
15524 mode (<= 8 bpp), obtain DAC palette width using
15525 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
15526 {red,green,blue}_mark_size.
15527
222671b2 155282009-08-04 Felix Zielcke <fzielcke@z-51.de>
15529
ecb1a6d9 15530 * commands/search.c (options): Fix help output to match actual code.
222671b2 15531
f84114f5 155322009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
15533
15534 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
15535 of homegrown code.
15536
bd288a20 155372009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 15538
15539 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
15540 on XFS or ReiserFS.
15541
8aab5e25 155422009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 Support Apple partition map with sector size different from 512 bytes.
15545
15546 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
15547 (apple_partition_map_iterate): Respect 'aheader.blocksize'
15548 and 'apart.partmap_size'.
15549
6ad6258a 155502009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
155512009-08-01 Robert Millan <rmh.grub@aybabtu.com>
15552
15553 Fix cpuid command.
15554
15555 * commands/i386/cpuid.c (options): New variable.
15556 (grub_cmd_cpuid): Return real error.
15557 (GRUB_MOD_INIT(cpuid)): Declare options.
15558
67459bc6 155592009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
15560
15561 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
15562 valid.
15563
fbc6ab54 155642009-07-31 Bean <bean123ch@gmail.com>
15565
15566 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
15567 log2_inode.
15568 (grub_fshelp_node): Move inode field to the end.
15569 (grub_xfs_data): Remove inode field.
15570 (grub_xfs_inode_block): Calculate inode size using sblock.
15571 (grub_xfs_inode_offset): Likewise.
15572 (grub_xfs_read_inode): Calculate inode size using sblock.
15573 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
15574 (grub_xfs_iterate_dir): Calculate inode size using sblock.
15575 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
15576 to match inode size.
15577 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
15578 not accessible when data is null.
15579 (grub_xfs_open): Likewise.
15580
f45d6cfc 155812009-07-31 Bean <bean123ch@gmail.com>
15582
15583 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
15584 Don't change pv->disk if it's already set.
15585
15586 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
15587 (grub_raid_register): ... here.
15588 (grub_raid_rescan): Removed.
15589
15590 * include/grub/raid.h (grub_raid_rescan): Removed.
15591
15592 * util/grub-fstest.c: Remove include file <grub/raid.h>.
15593 (fstest): Replace grub_raid_rescan with module fini function followed
15594 by init function.
15595
15596 * util/grub-probe.c: Add include file <grub/raid.h>.
15597 (probe_raid_level): New function.
15598 (probe): Detect abstraction by walking the disk device, support two
15599 level of abstraction (LVM on RAID) when detecting partition map.
15600
24443b5a 156012009-07-31 Pavel Roskin <proski@gnu.org>
15602
15603 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
15604 to grub_zalloc(), it was erroneous.
15605 Reported by Bean <bean123ch@gmail.com>
15606
a275d9e7 156072009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
15608
15609 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 15610 embedding zone, not only the first one.
a275d9e7 15611
56c5a47f 156122009-07-29 Joe Auricchio <jauricchio@gmail.com>
15613
15614 * term/gfxterm.c (clear_char): New function.
15615 (grub_virtual_screen_setup): Use clear_char.
15616 (scroll_up): Likewise.
15617 (grub_virtual_screen_cls): Likewise.
15618
67bb323a 156192009-07-29 Felix Zielcke <fzielcke@z-51.de>
15620
15621 * util/deviceiter.c (get_acceleraid_disk_name): New static
15622 function.
15623 (grub_util_iterate_devices): Handle Accelraid devices.
15624 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
15625
388a7c75 156262009-07-28 Robert Millan <rmh.grub@aybabtu.com>
15627
15628 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
15629 separator for the suggested gfxpayload string (';' collides with the
15630 parser and needs escaping).
15631
3bb7abcf 156322009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15633
15634 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
15635 Clear direction flag before jumping to OS.
15636 (grub_multiboot2_real_boot): Likewise.
15637
2ddd36d7 156382009-07-28 Felix Zielcke <fzielcke@z-51.de>
15639
15640 * util/i386/pc/grub-install: Fix parsing of --disk-module
15641 option.
15642
c521b62b 156432009-07-28 Felix Zielcke <fzielcke@z-51.de>
15644
15645 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
15646 when embedding.
15647
880e0a0c 156482009-07-26 Felix Zielcke <fzielcke@z-51.de>
15649
15650 * util/grub-mkconfig.in (package_version): New variable.
15651 Use it do display the version.
15652
2366e356 156532009-07-25 Felix Zielcke <fzielcke@z-51.de>
15654
15655 * kern/file.c (grub_file_open): Revert to previous check with
15656 grub_errno.
15657
7ad8c80e 156582009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15659
15660 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
15661 from help line. It's out of sync with code.
15662
72b9658b 156632009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15664
15665 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
15666 entries on failed boot.
15667
77435277 156682009-07-25 Felix Zielcke <fzielcke@z-51.de>
15669
15670 * kern/file.c (grub_file_open): Fix an error check.
15671
fcaa8b21 156722009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
15673
35d16c74 15674 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
15675 partition map couldn't be identified.
fcaa8b21 15676
48904cd1 156772009-07-23 Pavel Roskin <proski@gnu.org>
15678
ef3c317f 15679 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
15680 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
15681 case of little endian words becomes just an optimization.
15682 Respect const modifier.
ad8ea1f4 15683 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 15684
48904cd1 15685 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
15686 to avoid loss of upper bits if align is unsigned and shorter
15687 than addr.
15688
260c9a89 156892009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
15690
15691 UUID support for UFS
15692
15693 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
15694 (grub_ufs_uuid): New function.
15695 (grub_ufs_fs): add .uuid
15696
f76ce889 156972009-07-21 Pavel Roskin <proski@gnu.org>
15698
15699 * kern/dl.c (grub_dl_check_header): Make static.
15700
6a6cbcaf 157012009-07-21 Felix Zielcke <fzielcke@z-51.de>
15702
15703 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
15704 add drivemap for Vista. It breaks Windows 7.
15705
cffcddb2 157062009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
15709 128 bytes
15710
1ef44b80 157112009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 Add BFS support
15714
15715 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
15716 (grub_fstest_SOURCES): Likewise.
15717 (pkglib_MODULES): Add befs.mod.
15718 (befs_mod_SOURCES): New variable.
15719 (befs_mod_CFLAGS): Likewise.
15720 (befs_mod_LDFLAGS): Likewise.
15721 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15722 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15723 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15724 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15725 (grub_setup_SOURCES): Likewise.
15726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15727 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15728 (grub_setup_SOURCES): Likewise.
15729 * fs/befs.c: New file.
15730 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
15731 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
15732 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
15733 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
15734 (B_KEY_INDEX_ALIGN): New declaration.
15735 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
15736 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
15737 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
15738 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
15739 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
15740 (grub_afs_mount) [MODE_BFS]: Likewise.
15741 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
15742 (grub_afs_fs): Use GRUB_AFS_FSNAME
15743 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
15744 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
15745 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
15746 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
15747
4f253044 157482009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
15749
15750 * util/getroot.c (find_root_device): Add support for MacOSX.
15751 * util/hostdisk.c: Likewise.
15752
57a55913 157532009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15754
15755 * font/font.c (find_glyph): Check whether a font is present to avoid
15756 segmentation fault.
75421ca9 15757
157582009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 15759
15760 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
15761
e98cd0c2 157622009-07-20 Pavel Roskin <proski@gnu.org>
15763
15764 * configure.ac: Trim excessively wordy excuses.
15765
1d2d169a 157662009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15767
15768 Add symlink, mtime and label support to AtheFS.
15769
15770 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
15771 (grub_afs_iterate_dir): Handle symlinks.
15772 (grub_afs_open): Use grub_afs_read_symlink.
15773 (grub_afs_dir): Likewise.
15774 Pass mtime.
15775 (grub_afs_label): New function.
15776 (grub_afs_fs): Add grub_afs_label.
15777 (grub_afs_read_symlink): New function.
15778
186f3189 157792009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15780
15781 Fix AtheFS support.
15782
15783 * fs/afs.c: Fix comments style.
15784 (grub_afs_blockrun): Declare as packed.
15785 (grub_afs_datastream): Likewise.
15786 (grub_afs_bnode): Likewise.
15787 (grub_afs_btree): Likewise.
15788 (grub_afs_sblock): Likewise.
15789 Declare `name' as char.
15790 (grub_afs_inode): Declare as packed.
15791 Change void *vnode to grub_uint32_t unused.
15792 (grub_afs_iterate_dir): Check that key_size is positive.
15793 (grub_afs_mount): Don't read superblock twice.
75421ca9 15794 (grub_afs_dir): Don't free node in case of error,
186f3189 15795 grub_fshelp_find_file already handles this.
15796 (grub_afs_open): Likewise.
15797
5680109e 157982009-07-19 Pavel Roskin <proski@gnu.org>
15799
15800 * Makefile.in: Remove LIBLZO and enable_lzo.
15801 * conf/i386-pc.rmk: Remove lzo support.
15802 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
15803 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
15804 support.
15805 * kern/i386/pc/lzo1x.S: Remove.
15806 * kern/i386/pc/startup.S: Remove lzo support.
15807 * util/i386/pc/grub-mkimage.c: Likewise.
15808
ac70fa32 158092009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
15812 * fs/xfs.c (grub_xfs_dir): Likewise.
15813 * fs/afs.c (grub_afs_dir): Likewise.
15814 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
15815 (grub_iso9660_open): Likewise.
15816 * fs/jfs.c (grub_jfs_open): Likewise.
15817 * fs/ext2.c (grub_ext2_dir): Likewise.
15818 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
15819 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 15820
eab58da2 158212009-07-16 Pavel Roskin <proski@gnu.org>
15822
d2838156 15823 * configure.ac: Never add "-c" to CFLAGS.
15824
55c70904 15825 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
15826
43e6200c 15827 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
15828 grub_cv_cc_efiemu should be used.
15829
ce7a733d 15830 * configure.ac: Typo fixes.
15831
eab58da2 15832 * kern/mm.c (grub_zalloc): New function.
15833 (grub_debug_zalloc): Likewise.
15834 * include/grub/mm.h: Declare grub_zalloc() and
15835 grub_debug_zalloc().
15836 * util/misc.c (grub_zalloc): New function.
15837 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
15838 instead of grub_malloc(), remove unneeded initializations.
15839 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
15840 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
15841 * commands/parttool.c (grub_cmd_parttool): Likewise.
15842 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
15843 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
15844 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
15845 * disk/usbms.c (grub_usbms_finddevs): Likewise.
15846 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
15847 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
15848 (grub_cmd_efiemu_pnvram): Likewise.
15849 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
15850 * fs/iso9660.c (grub_iso9660_mount): Likewise.
15851 (grub_iso9660_iterate_dir): Likewise.
15852 * fs/jfs.c (grub_jfs_opendir): Likewise.
15853 * fs/ntfs.c (list_file): Likewise.
15854 (grub_ntfs_mount): Likewise.
15855 * kern/disk.c (grub_disk_open): Likewise.
15856 * kern/dl.c (grub_dl_load_core): Likewise.
15857 * kern/elf.c (grub_elf_file): Likewise.
15858 * kern/env.c (grub_env_context_open): Likewise.
15859 (grub_env_set): Likewise.
15860 (grub_env_set_data_slot): Likewise.
15861 * kern/file.c (grub_file_open): Likewise.
15862 * kern/fs.c (grub_fs_blocklist_open): Likewise.
15863 * loader/i386/multiboot.c (grub_module): Likewise.
15864 * loader/xnu.c (grub_xnu_create_key): Likewise.
15865 (grub_xnu_create_value): Likewise.
15866 * normal/main.c (grub_normal_add_menu_entry): Likewise.
15867 (read_config_file): Likewise.
15868 * normal/menu_entry.c (make_screen): Likewise.
15869 * partmap/sun.c (sun_partition_map_iterate): Likewise.
15870 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
15871 * script/sh/script.c (grub_script_parse): Likewise.
15872 * video/bitmap.c (grub_video_bitmap_create): Likewise.
15873 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
15874 * video/readers/png.c (grub_png_output_byte): Likewise.
15875 (grub_video_reader_png): Likewise.
15876
830afef7 158772009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 15878
15879 Enable all targets that can be built by default
15880
830afef7 15881 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 15882 grub-mkfont and grub-fstest if they can be built
15883
ee293aee 158842009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 Fix hang and segmentation fault in grub-emu-usb
15887
15888 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
15889 * util/usb.c (grub_libusb_devices): likewise
15890 (grub_libusb_init): rename to ...
15891 (GRUB_MOD_INIT (libusb)):...this
15892 (grub_libusb_fini): rename to ..
15893 (GRUB_MOD_FINI (libusb)):...this
15894 * disk/usbms.c (grub_usbms_transfer): fix retry logic
15895 * include/grub/disk.h (grub_raid_init): removed, it's useless
15896 (grub_raid_fini): likewise
15897 (grub_lvm_init): likewise
15898 (grub_lvm_fini): likewise
15899 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
15900 by grub_init_all
15901
94414221 159022009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 Fix libusb
15905
15906 * Makefile.in (LIBUSB): new macro
15907 * genmk.rb (Utility/print_tail): new method
15908 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
15909 (top level): call util.print_tail at the end.
15910
59ade63d 159112009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 Make FreeBSD accept zpool.cache
15914
15915 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
15916 type is /boot/zfs/zpool.cache
15917
a58da8c7 159182009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15919
15920 Fix 64-bit efiemu
15921
15922 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
15923 correct wrong typedef
15924 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
15925
20591577 159262009-07-15 Pavel Roskin <proski@gnu.org>
15927
560ca572 15928 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
15929 * kern/disk.c (struct grub_disk_cache): Likewise.
15930
e8e8e4fd 15931 * commands/probe.c (options): Typo fix.
15932
fde24e10 15933 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
15934 Increase to 0x5a to accommodate FAT32. Adjust other offsets
15935 accordingly.
15936 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
15937
379c54c1 15938 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
15939 the end of "Error" to make the message more readable.
15940
7bd8f5bf 15941 * boot/i386/pc/boot.S (kernel_segment): Remove.
15942 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
15943 for destination.
15944
40b132c5 15945 * boot/i386/pc/boot.S (boot_version): Remove.
15946 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15947 Remove.
15948
20591577 15949 * include/grub/i386/pc/boot.h: Sort all offsets.
15950 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
15951 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
15952 * boot/i386/pc/boot.S: Assert location of every offset listed in
15953 include/grub/i386/pc/boot.h.
15954
2df32b2c 159552009-07-13 Pavel Roskin <proski@gnu.org>
15956
44b5d879 15957 * include/grub/i386/coreboot/machine.h: Rename
15958 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
15959 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
15960 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
15961
17dc3751 15962 * kern/dl.c: Force native word size to suppress warnings when
15963 compiling grub-emu.
15964
2df32b2c 15965 * kern/device.c (grub_device_iterate): Change struct part_ent to
15966 hold the name, not a pointer to it. Use one grub_malloc() per
15967 partition, not two. Free partition_name if grub_malloc() fails.
15968 Set ents to NULL only before grub_partition_iterate() is called.
15969
75c59f59 159702009-07-11 Bean <bean123ch@gmail.com>
15971
15972 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
15973 childname.
15974
0ae1bf88 159752009-07-10 Bean <bean123ch@gmail.com>
159762009-07-10 Robert Millan <rmh.grub@aybabtu.com>
15977
15978 * kern/ieee1275/openfw.c (grub_children_iterate)
15979 (grub_devalias_iterate): Fix size evaluation for property or path
15980 strings, which was broken since r2132.
15981
8279cade 159822009-07-07 Pavel Roskin <proski@gnu.org>
15983
7d8a52d3 15984 * commands/search.c (search_file): Merge into ...
15985 (search_fs): ... this. Accept search type as argument.
15986 (grub_cmd_search): Pass search type to search_fs().
15987
25f9a05a 15988 * include/grub/util/console.h: New file.
15989 * util/console.c: Use it instead of grub/machine/console.h.
15990 * util/grub-emu.c: Likewise.
15991
8279cade 15992 * lib/arg.c (find_long_option): Remove.
15993 (find_long): Add `len' argument, make `s' const char *.
15994 (grub_arg_parse): Parse long options in place, not in a
15995 temporary buffer.
15996
4a11b60f 159972009-07-06 Pavel Roskin <proski@gnu.org>
15998
99f68041 15999 * commands/search.c (search_fs): Fix potential NULL pointer
16000 dereference.
16001
4a11b60f 16002 * commands/search.c (search_fs): Replace QUID macro with quid_fn
16003 function pointer.
16004
e110f4de 160052009-07-06 Daniel Mierswa <impulze@impulze.org>
16006
16007 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
16008 comparison.
16009
46eeb6a2 160102009-07-05 Pavel Roskin <proski@gnu.org>
16011
bab74958 16012 * include/grub/i386/linux.h (struct linux_kernel_params):
16013 Restore padding3, it's still needed.
16014
46eeb6a2 16015 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
16016 FreeBSD.
16017 * util/osdetect.lua: Likewise.
16018
b4a1dc79 160192009-07-05 Bean <bean123ch@gmail.com>
16020
16021 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
16022
16023 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
16024 (grub_lua_getenv): Likewise.
16025 (grub_lua_setenv): Likewise.
16026 (save_errno): New function.
16027 (push_result): Likewise.
16028 (grub_lua_enum_device): Likewise.
16029 (grub_lua_enum_file): Likewise.
16030 (grub_lua_file_open): Likewise.
16031 (grub_lua_file_close): Likewise.
16032 (grub_lua_file_seek): Likewise.
16033 (grub_lua_file_read): Likewise.
16034 (grub_lua_file_getline): Likewise.
16035 (grub_lua_file_getsize): Likewise.
16036 (grub_lua_file_getpos): Likewise.
16037 (grub_lua_file_eof): Likewise.
16038 (grub_lua_file_exist): Likewise.
16039 (grub_lua_add_menu): Likewise.
16040
16041 * script/lua/grub_lua.h (isupper): New inline function.
16042 (islower): Likewise.
16043 (ispunct): Likewise.
16044 (isxdigit): Likewise.
16045 (strcspn): Change to normal function.
16046 (strpbkr): New function declaration.
16047 (memchr): Likewise.
16048
16049 * script/lua/grub_main.c (scan_str): New function.
16050 (strcspn): Likewise.
16051 (strpbrk): Likewise.
16052 (memchr): Likewise.
16053
16054 * script/lua/linit.c (lualibs): Enable the string library.
16055
16056 * util/osdetect.lua: New file.
16057
2da92295 160582009-07-04 Robert Millan <rmh.grub@aybabtu.com>
16059
16060 * include/grub/i386/linux.h (struct linux_kernel_params): Add
16061 `capabilities' member.
16062
b2582ec9 160632009-07-02 Pavel Roskin <proski@gnu.org>
16064
16065 * genparttoollist.sh: Add missing newline at the end.
16066
32622956 160672009-07-01 Pavel Roskin <proski@gnu.org>
16068
87a7339e 16069 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
16070
d23af54e 16071 * util/hostdisk.c (open_device): Remove `const' from
16072 `sysctl_size', as sysctlbyname() can change it (in this case it
16073 doesn't actually happen).
16074
c94b18a9 16075 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
16076 using signed long int constants.
16077
c6cd3ef0 16078 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
16079 constant to avoid a warning on FreeBSD.
16080
0df63420 16081 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
16082 where it's needed.
16083
999577f1 16084 * Makefile.in: Install include/grub/machine symlink.
16085
6f41557f 16086 * Makefile.in: When installing symlinks, use "cp -fR", which
16087 works on FreeBSD and MacOSX.
16088 From Yves Blusseau <cl7m42e02@sneakemail.com>
16089
c8d22988 16090 * kern/dl.c (grub_dl_resolve_symbol): Make static.
16091 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
16092
1b96e952 16093 * util/misc.c: Move grub_reboot() and grub_halt() ...
16094 * util/grub-emu.c: ... here. Make main_env static.
16095 * include/grub/util/misc.h: Remove main_env.
16096
2ef0084d 16097 * kern/mm.c: Use correct format to print size_t.
16098
32622956 16099 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
16100 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
16101 * kern/powerpc/dl.c: Likewise.
16102 * kern/sparc64/dl.c: Likewise.
16103 * kern/x86_64/dl.c: Likewise.
16104
3f7f0cd0 161052009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16106
16107 Fix grub-emu build on sparc64-ieee1275.
16108
75421ca9 16109 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 16110 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
16111
211d06b5 161122009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16113
16114 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
16115 (grub_reboot, grub_halt): New functions.
16116
16117 * util/i386/pc/misc.c: Delete. Update all users.
16118 * util/sparc64/ieee1275/misc.c: Likewise.
16119 * util/powerpc/ieee1275/misc.c: Likewise.
16120
aaf53e3c 161212009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16122
16123 * conf/i386.rmk (setjmp_mod_SOURCES)
16124 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
16125 * conf/common.rmk (setjmp_mod_SOURCES)
16126 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
16127 to use $(target_cpu).
16128 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
16129 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
16130 * conf/powerpc-ieee1275.rmk: Likewise.
16131 * conf/sparc64-ieee1275.rmk: Likewise.
16132
16133 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
16134 $(target_cpu) for kern/$(target_cpu)/dl.c.
16135 * conf/i386-efi.rmk: Likewise.
16136 * conf/i386-ieee1275.rmk: Likewise.
16137 * conf/x86_64-efi.rmk: Likewise.
16138 * conf/i386-coreboot.rmk: Likewise.
16139 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
16140 $(target_cpu) for kern/$(target_cpu)/dl.c and for
16141 kern/$(target_cpu)/cache.S.
16142 * conf/sparc64-ieee1275.rmk: Likewise.
16143
a337130b 161442009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16145
16146 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
16147 type to `grub_uint8_t', and adjust `padding9' accordingly.
16148
c6fe4d53 161492009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16150
b09db61d 16151 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
16152
c6fe4d53 16153 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
16154 assembly in final jump, using register constraints.
16155
b09db61d 16156 (grub_linux_boot): For text mode, initialize `have_vga' using
16157 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
16158
16159 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
16160 right before the final jump.
16161
16162 Set `video_mode' to 0x3.
16163
16164 Document initialization of `video_page', `video_mode' and
16165 `video_ega_bx'.
16166
28333ad0 161672009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16168
16169 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
16170 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 16171 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 16172
02164e1b 161732009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16174
16175 Fix build on Debian / sparc.
16176
16177 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
16178
18b6c557 161792009-06-28 Pavel Roskin <proski@gnu.org>
16180
85f2aab6 16181 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
16182 fix a warning.
16183
18b6c557 16184 * util/grub.d/10_linux.in: Match SUSE style initrd names.
16185
ad760f81 161862009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16187
16188 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
16189 `err'.
16190
87a4623b 161912009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16192
16193 Revert r2338.
16194
16195 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
16196 file can't be opened. grub_file_open() is already supposed to set
75421ca9 16197 grub_errno / grub_errmsg appropriately.
87a4623b 16198 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16199
8231fb77 162002009-06-27 Pavel Roskin <proski@gnu.org>
162012009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16202
16203 * include/grub/dl.h: Include grub/elf.h.
16204 (struct grub_dl): Add symtab field.
16205 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
16206 GRUB_MODULES_MACHINE_READONLY.
16207 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
16208 of the header for read-only modules.
16209 (grub_dl_unload): Free mod->symtab for read-only modules.
16210 * kern/i386/dl.c: Use mod->symtab.
16211 * kern/powerpc/dl.c: Likewise.
16212 * kern/sparc64/dl.c: Likewise.
16213 * kern/x86_64/dl.c: Likewise.
16214
16215 * conf/i386-qemu.rmk: New file.
16216 * kern/i386/qemu/startup.S: Likewise.
16217 * kern/i386/qemu/mmap.c: Likewise.
16218 * boot/i386/qemu/boot.S: Likewise.
16219 * include/grub/i386/qemu/time.h: Likewise.
16220 * include/grub/i386/qemu/serial.h: Likewise.
16221 * include/grub/i386/qemu/kernel.h: Likewise.
16222 * include/grub/i386/qemu/console.h: Likewise.
16223 * include/grub/i386/qemu/boot.h: Likewise.
16224 * include/grub/i386/qemu/init.h: Likewise.
16225 * include/grub/i386/qemu/machine.h: Likewise.
16226 * include/grub/i386/qemu/loader.h: Likewise.
16227 * include/grub/i386/qemu/memory.h: Likewise.
16228
16229 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
16230 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
16231 [qemu] (pkglib_IMAGES): Add `boot.img'.
16232 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
16233 [qemu] (boot_img_FORMAT): New variables.
16234 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
16235 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
16236 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
16237 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16238 [qemu] (kernel_img_FORMAT): New variables.
16239
16240 * configure.ac: Recognise `i386-qemu'.
16241
16242 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
16243 (for no compression).
16244 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
16245 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
16246 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
16247 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
16248 ifdefs).
16249
97fe384e 162502009-06-27 Pavel Roskin <proski@gnu.org>
16251
16252 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
16253 read.
16254 * efiemu/prepare32.c: Likewise.
16255 * efiemu/prepare64.c: Likewise.
16256
c402ab17 162572009-06-26 Pavel Roskin <proski@gnu.org>
16258
16259 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
16260 * include/grub/elf.h: Define symbols without "32" or "64" based
16261 on GRUB_TARGET_WORDSIZE.
16262 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
16263 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
16264 ELF definitions.
16265 * efiemu/loadcore64.c: Likewise.
16266 * loader/i386/bsd32.c: Likewise.
16267 * loader/i386/bsd64.c: Likewise.
16268 * kern/dl.c: Remove own ELF definitions.
16269 * util/i386/efi/grub-mkimage.c: Likewise.
16270
9bbdfd4d 162712009-06-23 Robert Millan <rmh.grub@aybabtu.com>
16272
16273 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
16274 segment 0x0 unconditionally, because the reference generated by
16275 GAS is an absolute address.
16276
a42ce6e9 162772009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16278
16279 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
16280 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
16281
c952cf92 162822009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16283
16284 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
16285 indexes. Check for -f explicitly.
cc3752ad 16286 (search_file): Improve error message.
16287 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 16288
132a0a59 162892009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16290
16291 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
16292 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
16293
387a140c 162942009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16295
16296 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
16297 * conf/i386-ieee1275.rmk: Likewise.
16298 * conf/i386-coreboot.rmk: Likewise.
16299
16300 * kern/i386/pc/startup.S (grub_stop): Remove function.
16301 * kern/i386/ieee1275/startup.S: Likewise.
16302 * kern/i386/coreboot/startup.S: Likewise.
16303 * kern/i386/misc.S (grub_stop): New function.
16304
41da9665 163052009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16306
16307 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
16308 * kern/i386/realmode.S (real_to_prot): ... to here.
16309
bf337234 163102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16311
16312 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
16313 with `kernel.img'.
16314 (kernel_elf_SOURCES): Rename to ...
16315 (kernel_img_SOURCES): ... this.
16316 (kernel_elf_HEADERS): Rename to ...
16317 (kernel_img_HEADERS): ... this. Update all users.
16318 (kernel_elf_ASFLAGS): Rename to ...
16319 (kernel_img_ASFLAGS): ... this.
16320 (kernel_elf_CFLAGS): Rename to ...
16321 (kernel_img_CFLAGS): ... this.
16322 (kernel_elf_LDFLAGS): Rename to ...
16323 (kernel_img_LDFLAGS): ... this.
16324 * conf/i386-coreboot.rmk: Likewise.
16325 * conf/powerpc-ieee1275.rmk: Likewise.
16326
16327 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
16328 with "kernel.img".
16329
f52196ff 163302009-06-21 Pavel Roskin <proski@gnu.org>
16331
c3cee413 16332 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
16333 to match nested functions.
16334 * loader/sparc64/ieee1275/linux.c: Likewise.
16335
f52196ff 16336 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
16337
58750afc 163382009-06-21 Robert Millan <rmh.grub@aybabtu.com>
16339
16340 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
16341 all i386 platforms.
16342
15355c7d 163432009-06-21 Robert Millan <rmh.grub@aybabtu.com>
16344
16345 Fix asm file handling on ELF, and remove workarounds.
16346
16347 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 16348 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 16349 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
16350 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
16351
3f3ec72b 163522009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
16353
16354 Load BSD ELF modules
16355
16356 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
16357 and loader/i386/bsd64.c
16358 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
16359 (FREEBSD_MODTYPE_ELF_MODULE): New definition
16360 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
16361 (grub_freebsd_load_elfmodule32): New declaration
16362 (grub_freebsd_load_elfmoduleobj64): Likewise
16363 (grub_freebsd_load_elf_meta32): Likewise
16364 (grub_freebsd_load_elf_meta64): Likewise
16365 (grub_freebsd_add_meta): Likewise
16366 (grub_freebsd_add_meta_module): Likewise
16367 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
16368 (grub_freebsd_add_meta_module): Likewise and move module-specific
16369 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
16370 (grub_cmd_freebsd): Add elf-kernel specific parts
16371 based on grub_freebsd_add_meta_module
16372 (grub_cmd_freebsd_module): Add type parsing moved from
16373 grub_freebsd_add_meta_module
16374 (grub_cmd_freebsd_module_elf): New function
16375 (cmd_freebsd_module_elf): New variable
16376 (GRUB_MOD_INIT): Register freebsd_module_elf
16377 * loader/i386/bsd32.c: New file
16378 * loader/i386/bsd64.c: Likewise
16379 * loader/i386/bsdXX.c: Likewise
16380 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
16381 (grub_elf64_load): Likewise
16382 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
16383 All users updated
16384 (grub_elf64_load_hook_t): Likewise
16385
0db15301 163862009-06-21 Colin Watson <cjwatson@ubuntu.com>
16387
16388 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
16389 variable.
16390 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
16391 don't write a menu entry for recovery mode.
16392
546796c1 163932009-06-20 Robert Millan <rmh.grub@aybabtu.com>
16394
16395 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
16396 after it's no longer needed.
16397
cd7310d5 163982009-06-20 Robert Millan <rmh.grub@aybabtu.com>
16399
16400 * include/grub/i386/loader.h (grub_linux_prot_size)
16401 (grub_linux_tmp_addr, grub_linux_real_addr)
16402 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
16403 GRUB_MACHINE_PCBIOS.
16404 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
16405 common grub_util_info() call to ...
16406 (generate_image): ... here.
16407 Fix use of uninitialized memory, comparison of signed with
16408 unsigned integers and memory leak.
16409 Remove bogus module address message.
16410
ab32d3b5 164112009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
16414 grub_raid_register
16415 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
16416
024ef597 164172009-06-19 Pavel Roskin <proski@gnu.org>
16418
16419 * configure.ac: Remove stray AC_MSG_CHECKING.
16420
3ac72b51 164212009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
16422
16423 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 16424
e14cd814 164252009-06-18 Pavel Roskin <proski@gnu.org>
16426
16427 * conf/common.rmk: Add fs_file.mod.
16428 * disk/fs_file.c: New file.
16429 * include/grub/disk.h (enum grub_disk_dev_id): Add
16430 GRUB_DISK_DEVICE_FILE_ID.
16431
26586d98 164322009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16433
16434 Fix build with Apple's toolchain. Part 2
16435
16436 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
16437 a fake start
16438
26de2bcd 164392009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16440
16441 Fix build with Apple's toolchain. Part 1
16442
16443 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
16444 for long calls
16445 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 16446 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 16447 Apple's toolchain
16448
09b3490b 164492009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16450
16451 Fix warnings
16452
16453 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
16454 (decomp_block): initialize ch
16455 use grub_memcpy instead of memcpy
16456
c22a006a 164572009-06-17 Pavel Roskin <proski@gnu.org>
16458
d3638678 16459 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
16460 version, use declarations needed to use vga_text as the startup
16461 console.
16462
c22a006a 16463 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
16464 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
16465 the kernel.
16466 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
16467 and grub_at_keyboard_fini(), it's done on module load and
16468 unload.
16469
05b129e0 164702009-06-17 Felix Zielcke <fzielcke@z-51.de>
16471
16472 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
16473 file can't be found.
16474 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16475
cf24ed9e 164762009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
16477
16478 Fix newline handling
16479
16480 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 16481 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 16482 (grub_script_yylex): don't segfault on unterminated script
16483 newline terminates command and variable
16484
74aa8e4b 164852009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
16486
16487 avoid double grub_adjust_range call. Bug reported by David Simner
16488
16489 * kern/disk.c (grub_disk_write): change to raw disk access before
16490 calling disk_read
16491
1bd265f3 164922009-06-17 Colin Watson <cjwatson@ubuntu.com>
16493
16494 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
16495 spaces, for the benefit of help2man.
16496 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16497
a2d08c06 164982009-06-16 Pavel Roskin <proski@gnu.org>
16499
16500 * kern/i386/halt.c: Include grub/machine/init.h.
16501 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
16502
b97bcb19 165032009-06-16 Felix Zielcke <fzielcke@z-51.de>
16504
16505 * util/grub.d/30_os-prober.in: Use ${root} in the generated
16506 drivemap menuentry.
16507
0644f96c 165082009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
16509
16510 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
16511 `echo' command.
16512
3ef17a2e 165132009-06-16 Pavel Roskin <proski@gnu.org>
16514
16515 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
16516 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
16517 save %dx, we only need %dl and we never change it.
16518 * boot/i386/pc/cdboot.S: Don't set the root drive.
16519 * boot/i386/pc/pxeboot.S: Likewise.
16520 * include/grub/i386/pc/boot.h: Remove
16521 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
16522 GRUB_BOOT_MACHINE_DRIVE_CHECK.
16523 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
16524 * kern/i386/pc/init.c (make_install_device): Remove references
16525 to grub_root_drive.
16526 * kern/i386/pc/startup.S: Likewise.
16527 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
16528
693fe637 165292009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 xnu_uuid command
16532
16533 * commands/xnu_uuid.c: new file
16534 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
16535 (xnu_uuid_mod_SOURCES): new variable
16536 (xnu_uuid_mod_CFLAGS): likewise
16537 (xnu_uuid_mod_LDFLAGS): likewise
16538 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
16539 * conf/i386-ieee1275.rmk: likewise
16540 * conf/i386-pc.rmk: likewise
16541 * conf/powerpc-ieee1275.rmk: likewise
16542 * conf/sparc64-ieee1275.rmk: likewise
16543 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
16544
c9da87d0 165452009-06-16 Pavel Roskin <proski@gnu.org>
16546
16547 * configure.ac: Avoid '==' in test command, it's not portable.
16548
9c6f4596 165492009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
16550
16551 Probe command
16552
16553 * commands/probe.c: new file
16554 * conf/common.rmk (pkglib_MODULES): add probe.mod
16555 (probe_mod_SOURCES): new variable
16556 (probe_mod_CFLAGS): likewise
16557 (probe_mod_LDFLAGS): likewise
16558 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
16559 * conf/i386-ieee1275.rmk: likewise
16560 * conf/i386-pc.rmk: likewise
16561 * conf/powerpc-ieee1275.rmk: likewise
16562 * conf/sparc64-ieee1275.rmk: likewise
16563
70b7f9fd 165642009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
16565
16566 Fix handling of string like \"hello\" and "a
16567 b"
16568
16569 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
16570 (grub_script_yylex): fix parsing of quoting, escaping and newline
16571
71c79a6b 165722009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
16573
dd74360c 16574 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 16575 handling
dd74360c 16576
0644f96c 165772009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 16578
16579 * util/grub-mkconfig.in: Fix parsing of --output option.
16580
e40893c3 165812009-06-12 Pavel Roskin <proski@gnu.org>
16582
16583 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
16584 genmk.rb don't need to be generated or installed.
16585
3a1acfe2 165862009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16587
16588 * commands/i386/pc/drivemap_int13h.S: add more comments
16589
3a4575d4 165902009-06-11 Pavel Roskin <proski@gnu.org>
16591
0658e928 16592 * Makefile.in (uninstall): Uninstall manuals.
16593
ca0388f0 16594 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
16595 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
16596 and update-grub_lib in two places.
16597 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
16598
e3b27c39 16599 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
16600 a compiler warning.
16601
3a4575d4 16602 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
16603 `entry_lo' to fix variable shadowing.
16604
af1f4f55 166052009-06-11 Christian Franke <franke@computer.org>
16606
16607 * kern/misc.c (__enable_execute_stack): Add missing return type
16608 to prevent gcc warning.
16609
5225e649 166102009-06-11 Felix Zielcke <fzielcke@z-51.de>
16611
16612 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
16613
7d83bd47 166142009-06-11 Pavel Roskin <proski@gnu.org>
16615
c1cb63ba 16616 * Makefile.in: Don't rely on any scripts being executable.
16617 Always use $(SHELL) to run shell scripts.
16618
7d83bd47 16619 * configure.ac: Always define ___main if using -nostdlib. This
16620 fixes tests on Cygwin.
16621
948f48e7 166222009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
16623
16624 UDF fix
16625
7d83bd47 16626 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 16627 is in bytes and not in blocks
7d83bd47 16628
8ada9bc1 166292009-06-11 Pavel Roskin <proski@gnu.org>
16630
16631 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
16632 warning.
16633
25ad2323 166342009-06-11 Felix Zielcke <fzielcke@z-51.de>
16635
16636 * util/grub.d/30_os-prober.in: Fix a comment. Source
16637 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
16638 to set the root device. Place drivemap command in the generated
16639 chain entry.
16640
e65acb0c 166412009-06-11 Pavel Roskin <proski@gnu.org>
16642
16643 * configure.ac: Remove host_m32. Issues with 64-bit utilities
16644 have long been resolved.
16645
f285fe2d 166462009-06-11 Colin Watson <cjwatson@ubuntu.com>
16647
bd47b0b5 16648 * util/grub.d/10_linux.in: Capitalise "Linux".
16649
f285fe2d 16650 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
16651
a0c62e4e 166522009-06-11 Pavel Roskin <proski@gnu.org>
16653
b6783cb2 16654 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
16655 fix a gcc warning and ensure that the function won't ever exit.
16656
dde032e8 16657 * kern/i386/ieee1275/init.c: Add missing prototype for
16658 grub_stop_floppy().
16659
22cd079d 16660 * loader/ieee1275/multiboot2.c [__i386__]: Include
16661 grub/cpu/multiboot.h.
16662
a0c62e4e 16663 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
16664 casts to short - they are not portable and cause warnings. Fix
16665 use of uninitialized values in input_buf. Use ARRAY_SIZE.
16666
63963d17 166672009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 Drivemap fixes
16670
16671 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
16672 new function
16673 (grub_get_root_biosnumber_saved): new variable
16674 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
16675 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 16676 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 16677 %dx after the call if necessary
16678 * conf/common.rmk (pkglib_MODULES): remove boot.mod
16679 (boot_mod_SOURCES): remove
16680 (boot_mod_CFLAGS): remove
16681 (boot_mod_LDFLAGS): remove
16682 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
16683 (boot_mod_SOURCES): new variable
16684 (boot_mod_CFLAGS): likewise
16685 (boot_mod_LDFLAGS): likewise
16686 * conf/i386-efi.rmk: likewise
16687 * conf/i386-ieee1275.rmk: likewise
16688 * conf/i386-pc.rmk: likewise
16689 * conf/powerpc-ieee1275.rmk: likewise
16690 * conf/sparc64-ieee1275.rmk: likewise
16691 * conf/x86_64-efi.rmk: likewise
16692 * include/grub/i386/pc/biosnum.h: new file
16693 * lib/i386/pc/biosnum.c: likewise
16694 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
16695 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
16696 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 16697
33abf7ae 166982009-06-10 Pavel Roskin <proski@gnu.org>
16699
5ac35b35 16700 * io/gzio.c (test_header): Don't reuse one buffer for all data.
16701 Use separate variables. Read only the file size at the end, but
16702 not the checksum that we don't use.
16703
5c5215d5 16704 * kern/file.c (grub_file_read): Use void pointer for the buffer.
16705 Adjust all callers.
16706
27d5fef7 16707 * kern/ieee1275/openfw.c: Remove libc includes.
16708 * kern/ieee1275/cmain.c: Likewise.
16709 * include/grub/ieee1275/ieee1275.h: Likewise.
16710
33abf7ae 16711 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
16712 compiler warnings.
16713
19d50c2b 167142009-06-10 Felix Zielcke <fzielcke@z-51.de>
16715
16716 * Makefile.in: Remove all trailing whitespace.
16717 * conf/i386-pc.rmk: Likewise.
16718 * conf/powerpc-ieee1275.rmk: Likewise.
16719 * conf/sparc64-ieee1275.rmk: Likewise.
16720 * docs/grub.texi: Likewise.
16721 * docs/texinfo.tex: Likewise.
16722 * disk/fs_uuid.c: Likewise.
16723 * disk/lvm.c: Likewise.
16724 * disk/scsi.c: Likewise.
16725 * disk/ata.c: Likewise.
16726 * disk/ieee1275/ofdisk.c: Likewise.
16727 * disk/i386/pc/biosdisk.c: Likewise.
16728 * disk/host.c: Likewise.
16729 * disk/raid.c: Likewise.
16730 * disk/efi/efidisk.c: Likewise.
16731 * disk/usbms.c: Likewise.
16732 * disk/memdisk.c: Likewise.
16733 * disk/loopback.c: Likewise.
16734 * kern/powerpc/dl.c: Likewise.
16735 * kern/device.c: Likewise.
16736 * kern/dl.c: Likewise.
16737 * kern/sparc64/dl.c: Likewise.
16738 * kern/ieee1275/ieee1275.c: Likewise.
16739 * kern/term.c: Likewise.
16740 * kern/fs.c: Likewise.
16741 * kern/i386/dl.c: Likewise.
16742 * kern/i386/pc/startup.S: Likewise.
16743 * kern/i386/pc/init.c: Likewise.
16744 * kern/i386/pc/mmap.c: Likewise.
16745 * kern/i386/pc/lzo1x.S: Likewise.
16746 * kern/i386/ieee1275/init.c: Likewise.
16747 * kern/i386/realmode.S: Likewise.
16748 * kern/i386/tsc.c: Likewise.
16749 * kern/partition.c: Likewise.
16750 * kern/corecmd.c: Likewise.
16751 * kern/file.c: Likewise.
16752 * kern/efi/efi.c: Likewise.
16753 * kern/efi/init.c: Likewise.
16754 * kern/efi/mm.c: Likewise.
16755 * kern/main.c: Likewise.
16756 * kern/err.c: Likewise.
16757 * kern/env.c: Likewise.
16758 * kern/disk.c: Likewise.
16759 * kern/generic/millisleep.c: Likewise.
16760 * kern/generic/rtc_get_time_ms.c: Likewise.
16761 * kern/misc.c: Likewise.
16762 * kern/parser.c: Likewise.
16763 * genmk.rb: Likewise.
16764 * configure.ac: Likewise.
16765 * boot/i386/pc/diskboot.S: Likewise.
16766 * boot/i386/pc/pxeboot.S: Likewise.
16767 * boot/i386/pc/boot.S: Likewise.
16768 * boot/i386/pc/lnxboot.S: Likewise.
16769 * boot/i386/pc/cdboot.S: Likewise.
16770 * parttool/pcpart.c: Likewise.
16771 * video/readers/tga.c: Likewise.
16772 * video/video.c: Likewise.
16773 * video/bitmap.c: Likewise.
16774 * lib/envblk.c: Likewise.
16775 * lib/i386/setjmp.S: Likewise.
16776 * fs/xfs.c: Likewise.
16777 * fs/afs.c: Likewise.
16778 * fs/fat.c: Likewise.
16779 * fs/ntfs.c: Likewise.
16780 * fs/udf.c: Likewise.
16781 * fs/affs.c: Likewise.
16782 * fs/iso9660.c: Likewise.
16783 * fs/hfs.c: Likewise.
16784 * fs/fshelp.c: Likewise.
16785 * fs/ext2.c: Likewise.
16786 * fs/jfs.c: Likewise.
16787 * fs/reiserfs.c: Likewise.
16788 * fs/hfsplus.c: Likewise.
16789 * fs/minix.c: Likewise.
16790 * fs/cpio.c: Likewise.
16791 * fs/sfs.c: Likewise.
16792 * fs/ufs.c: Likewise.
16793 * efiemu/prepare.c: Likewise.
16794 * efiemu/loadcore_common.c: Likewise.
16795 * efiemu/runtime/efiemu.sh: Likewise.
16796 * efiemu/runtime/efiemu.S: Likewise.
16797 * efiemu/runtime/efiemu.c: Likewise.
16798 * efiemu/pnvram.c: Likewise.
16799 * efiemu/main.c: Likewise.
16800 * efiemu/i386/pc/cfgtables.c: Likewise.
16801 * efiemu/i386/loadcore64.c: Likewise.
16802 * efiemu/i386/loadcore32.c: Likewise.
16803 * efiemu/loadcore.c: Likewise.
16804 * efiemu/symbols.c: Likewise.
16805 * efiemu/mm.c: Likewise.
16806 * include/grub/autoefi.h: Likewise.
16807 * include/grub/datetime.h: Likewise.
16808 * include/grub/term.h: Likewise.
16809 * include/grub/hfs.h: Likewise.
16810 * include/grub/lvm.h: Likewise.
16811 * include/grub/i386/tsc.h: Likewise.
16812 * include/grub/i386/linux.h: Likewise.
16813 * include/grub/i386/xnu.h: Likewise.
16814 * include/grub/i386/efiemu.h: Likewise.
16815 * include/grub/i386/pc/biosdisk.h: Likewise.
16816 * include/grub/i386/pc/memory.h: Likewise.
16817 * include/grub/i386/pc/vbe.h: Likewise.
16818 * include/grub/parttool.h: Likewise.
16819 * include/grub/video.h: Likewise.
16820 * include/grub/memory.h: Likewise.
16821 * include/grub/fs.h: Likewise.
16822 * include/grub/partition.h: Likewise.
16823 * include/grub/xnu.h: Likewise.
16824 * include/grub/efi/api.h: Likewise.
16825 * include/grub/efi/pe32.h: Likewise.
16826 * include/grub/efi/memory.h: Likewise.
16827 * include/grub/multiboot.h: Likewise.
16828 * include/grub/usbdesc.h: Likewise.
16829 * include/grub/multiboot2.h: Likewise.
16830 * include/grub/acpi.h: Likewise.
16831 * include/grub/efiemu/efiemu.h: Likewise.
16832 * include/grub/disk.h: Likewise.
16833 * include/grub/ieee1275/ieee1275.h: Likewise.
16834 * include/grub/net.h: Likewise.
16835 * include/grub/machoload.h: Likewise.
16836 * include/grub/macho.h: Likewise.
16837 * include/multiboot.h: Likewise.
16838 * genmoddep.awk: Likewise.
16839 * normal/main.c: Likewise.
16840 * normal/menu_entry.c: Likewise.
16841 * normal/menu_viewer.c: Likewise.
16842 * normal/completion.c: Likewise.
16843 * normal/cmdline.c: Likewise.
16844 * normal/misc.c: Likewise.
16845 * normal/datetime.c: Likewise.
16846 * bus/usb/usbtrans.c: Likewise.
16847 * bus/usb/ohci.c: Likewise.
16848 * bus/usb/uhci.c: Likewise.
16849 * bus/usb/usb.c: Likewise.
16850 * mmap/efi/mmap.c: Likewise.
16851 * mmap/i386/pc/mmap_helper.S: Likewise.
16852 * mmap/i386/pc/mmap.c: Likewise.
16853 * mmap/i386/mmap.c: Likewise.
16854 * mmap/i386/uppermem.c: Likewise.
16855 * mmap/mmap.c: Likewise.
16856 * commands/acpi.c: Likewise.
16857 * commands/echo.c: Likewise.
16858 * commands/blocklist.c: Likewise.
16859 * commands/loadenv.c: Likewise.
16860 * commands/usbtest.c: Likewise.
16861 * commands/boot.c: Likewise.
16862 * commands/parttool.c: Likewise.
16863 * commands/search.c: Likewise.
16864 * commands/cat.c: Likewise.
16865 * commands/i386/pc/play.c: Likewise.
16866 * commands/i386/pc/drivemap.c: Likewise.
16867 * commands/i386/pc/vbeinfo.c: Likewise.
16868 * commands/i386/pc/acpi.c: Likewise.
16869 * commands/i386/pc/vbetest.c: Likewise.
16870 * commands/ls.c: Likewise.
16871 * commands/cmp.c: Likewise.
16872 * commands/test.c: Likewise.
16873 * commands/efi/acpi.c: Likewise.
16874 * commands/gptsync.c: Likewise.
16875 * commands/help.c: Likewise.
16876 * partmap/amiga.c: Likewise.
16877 * partmap/apple.c: Likewise.
16878 * partmap/acorn.c: Likewise.
16879 * partmap/pc.c: Likewise.
16880 * partmap/sun.c: Likewise.
16881 * partmap/gpt.c: Likewise.
16882 * script/sh/lexer.c: Likewise.
16883 * script/sh/function.c: Likewise.
16884 * font/font.c: Likewise.
16885 * font/font_cmd.c: Likewise.
16886 * loader/powerpc/ieee1275/linux.c: Likewise.
16887 * loader/efi/chainloader.c: Likewise.
16888 * loader/multiboot_loader.c: Likewise.
16889 * loader/macho.c: Likewise.
16890 * loader/i386/multiboot.c: Likewise.
16891 * loader/i386/linux.c: Likewise.
16892 * loader/i386/pc/linux.c: Likewise.
16893 * loader/i386/pc/multiboot2.c: Likewise.
16894 * loader/i386/pc/chainloader.c: Likewise.
16895 * loader/i386/pc/xnu.c: Likewise.
16896 * loader/i386/bsd_trampoline.S: Likewise.
16897 * loader/i386/efi/linux.c: Likewise.
16898 * loader/i386/multiboot_elfxx.c: Likewise.
16899 * loader/i386/bsd_helper.S: Likewise.
16900 * loader/i386/bsd.c: Likewise.
16901 * loader/i386/linux_trampoline.S: Likewise.
16902 * loader/i386/xnu_helper.S: Likewise.
16903 * loader/i386/xnu.c: Likewise.
16904 * loader/i386/bsd_pagetable.c: Likewise.
16905 * loader/i386/multiboot_helper.S: Likewise.
16906 * loader/xnu.c: Likewise.
16907 * loader/xnu_resume.c: Likewise.
16908 * io/gzio.c: Likewise.
16909 * term/efi/console.c: Likewise.
16910 * term/terminfo.c: Likewise.
16911 * term/ieee1275/ofconsole.c: Likewise.
16912 * term/i386/pc/serial.c: Likewise.
16913 * term/i386/pc/vesafb.c: Likewise.
16914 * term/i386/pc/vga.c: Likewise.
16915 * term/usb_keyboard.c: Likewise.
16916 * term/gfxterm.c: Likewise.
16917 * aclocal.m4: Likewise.
16918 * util/lvm.c: Likewise.
16919 * util/grub.d/30_os-prober.in: Likewise.
16920 * util/grub.d/10_hurd.in: Likewise.
16921 * util/console.c: Likewise.
16922 * util/grub-macho2img.c: Likewise.
16923 * util/grub-probe.c: Likewise.
16924 * util/hostfs.c: Likewise.
16925 * util/i386/pc/grub-mkimage.c: Likewise.
16926 * util/i386/pc/grub-setup.c: Likewise.
16927 * util/i386/efi/grub-mkimage.c: Likewise.
16928 * util/grub-mkconfig.in: Likewise.
16929 * util/raid.c: Likewise.
16930 * util/resolve.c: Likewise.
16931 * util/grub-mkdevicemap.c: Likewise.
16932 * util/grub-emu.c: Likewise.
16933 * util/getroot.c: Likewise.
16934 * util/hostdisk.c: Likewise.
16935 * util/usb.c: Likewise.
16936 * util/grub-editenv.c: Likewise.
16937 * util/misc.c: Likewise.
16938
d2d49665 169392009-06-10 Felix Zielcke <fzielcke@z-51.de>
16940
16941 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
16942 `genparttoollist.sh'.
16943 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
16944 Add `*.sh' to the list find searches for and change `mdate.sh'
16945 to `mdate-sh'.
16946
fe052e37 169472009-06-10 Pavel Roskin <proski@gnu.org>
16948
2763ac18 16949 * include/grub/multiboot2.h: Provide compatibility defines for
16950 multiboot2.h.
16951 * include/multiboot2.h: Include stdint.h only if needed, using
16952 angle brackets.
16953 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
16954 grub/multiboot2.h.
16955 * loader/ieee1275/multiboot2.c: Likewise.
16956 * loader/multiboot2.c: Likewise.
16957 * loader/multiboot_loader.c: Likewise.
16958
437e6adc 16959 * configure.ac: Use -nostdlib when probing for the target. It
16960 should not be required to have libc for the target.
16961
06a6836c 16962 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
16963 they fail without libc headers for the target.
16964 * include/grub/powerpc/libgcc.h: Use weak attribute for all
16965 exports.
16966 * include/grub/sparc64/libgcc.h: Likewise. Don't use
16967 preprocessor conditionals.
16968
fe052e37 16969 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
16970 build system doesn't need to be aware of the tar.c internals.
16971
afd22553 169722009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 16973
afd22553 16974 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 16975
6b787c4f 169762009-06-09 Robert Millan <rmh.grub@aybabtu.com>
16977
16978 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
16979 disk limit to 26 for IDE, Virtio, Xen and SCSI.
16980
169812009-06-09 Felix Zielcke <fzielcke@z-51.de>
16982
16983 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 16984 aren't available if ata.mod gets used.
6b787c4f 16985
473d1e45 169862009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 16987
473d1e45 16988 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 16989 initialising controller.
473d1e45 16990 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 16991
255a27d4 169922009-06-08 Felix Zielcke <fzielcke@z-51.de>
16993
16994 * util/i386/pc/grub-install.in: Add a parameter --disk-module
16995 to choose between ata and biosdisk module on i386-pc.
16996
473d1e45 169972009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 16998
d55842d8 16999 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
17000 Subclass and Programming Interface fields in terms of the 3 byte
17001 Class Code register.
17002 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17003
fa5db0b1 17004 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
17005 interface is OHCI. Add grub_dprintf for symmetry with
17006 bus/usb/uhci.c.
17007 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
17008 interface is UHCI. Add interf variable for programming
17009 interface. Print interface with class/subclass.
17010
c0947beb 17011 * bus/usb/ohci.c: Set interf with correct field.
17012
69da8877 17013 * bus/usb/uhci.c: Remove unneeded doubled lines.
17014 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
17015 Remove whitespace inside comment.
17016
9e172e30 170172009-06-08 Robert Millan <rmh.grub@aybabtu.com>
17018
17019 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
17020 as fallback an equivalent option without depth.
17021
de65ee2b 170222009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17023
17024 Not fail if unable to retrieve C/H/S on LBA disks
17025
473d1e45 17026 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 17027 if unable to retrieve C/H/S on LBA disks
17028
b57ea2c9 170292009-06-08 Pavel Roskin <proski@gnu.org>
17030
17031 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
17032 about aliasing.
17033
af361263 170342009-06-08 Felix Zielcke <fzielcke@z-51.de>
17035
17036 * Makefile.in (uninstall): Remove all $lib_DATA files.
17037
4c9ec6b3 170382009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17039
17040 Bugfix: install on partitionless device
17041
17042 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
17043 is a whole disk
17044
e76fc924 170452009-06-08 Felix Zielcke <fzielcke@z-51.de>
17046
17047 * Makefile.in (uninstall): Remove all $include_DATA files.
17048
ba5a0d05 170492009-06-08 Felix Zielcke <fzielcke@z-51.de>
17050
17051 * commands/true.c: New file. Implement the true and false commands.
17052 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
17053 (true_mod_SOURCES): New variable.
17054 (true_mod_CFLAGS): Likewise.
17055 (true_mod_LDFLAGS): Likewise.
17056
c8048e32 170572009-06-05 Colin D Bennett <colin@gibibit.com>
17058
17059 Optimized font character lookup using binary search instead of linear
17060 search. Fonts now are required to have the character index ordered by
17061 code point.
17062
17063 * font/font.c (load_font_index): Verify that fonts have ordered
17064 character indices.
17065 (find_glyph): Use binary search instead of linear search to find a
17066 character in a font.
17067
408305be 170682009-06-05 Michael Scherer <misc@mandriva.org>
17069
17070 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
17071 uses case sensitive btree.
17072 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
17073 only for case insensitive filesystems.
17074
8ee1e0d9 170752009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
17076
17077 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
17078 * conf/common.rmk (search_mod_CFLAGS): likewise
17079
a9966eb1 170802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17081
473d1e45 17082 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 17083 compensate a compiler bug
17084
9e7100fb 170852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17086
473d1e45 17087 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 17088 instead of '\b'
473d1e45 17089
ede21d71 170902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17091
17092 Definitions for creating asm symbols with Apple's CC
17093
17094 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
17095 [APPLE_CC] (VARIABLE): likewise
17096
9dbf7653 170972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17098
17099 Disable lnxboot.img when compiled
17100 with Apple's CC
17101
17102 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
17103 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
17104 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
17105 [! APPLE_CC] (CODE_LENG): skip
17106 [! APPLE_CC] (setup_sects): likewise
17107 [! APPLE_CC]: skip filling
473d1e45 17108
e93cdc3d 171092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17110
17111 Address in trampolines based on 32-bit registers when compiled
17112 with Apple's CC
17113
473d1e45 17114 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 17115 for addresses
17116 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
17117
6c688477 171182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17119
17120 Avoid aliases when compiling with Apple's CC for PCBIOS machine
17121
17122 * kern/misc.c [APPLE_CC] (memcpy): new function
17123 [APPLE_CC] (memmove): likewise
17124 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 17125 (memcpy): define alias conditionally on !APPLE_CC
6c688477 17126 (memset): likewise
17127 (abort): likewise
17128 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
17129 APPLE_CC are defined
17130 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
17131 (grub_assert_fail): make prototype conditional
17132
e37ffc5c 171332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17134
17135 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
17136
473d1e45 17137 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
17138 grub-macho2img
e37ffc5c 17139 (CLEANFILES): add grub-macho2img
17140 (grub_macho2img_SOURCES): new variable
17141 * kern/i386/pc/startup.S (bss_start): new variable
17142 (bss_end): likewise
17143 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
17144 * util/grub-macho2img.c: new file
17145
cf00df31 171462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17147
17148 Use objconv when compiling with Apple's CC
17149
17150 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
17151 (efiemu64.o): likewise
17152 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
17153 when compiling with Apple's CC
17154 (efiemu64_s.o): likewise
17155 * configure.ac: check for objconv when compiling with Apple's CC
17156 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 17157
d119a20c 171582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17159
17160 Define segment as well as section when compiling with
17161 Apple's CC
17162
17163 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
17164 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
17165 (efiemu_convert_pointer): likewise
17166 (efiemu_set_virtual_address_map): likewise
17167 (efiemu_convert_pointer): likewise
17168 (efiemu_getcrc32): likewise
17169 (init_crc32_table): likewise
17170 (reflect): likewise
17171 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
17172 (GRUB_MOD_DEP): likewise
473d1e45 17173
c8600122 171742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17175
17176 Allow a compilation without -mcmodel=large
17177
17178 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
17179 when compiled without -mcmodel=large
473d1e45 17180 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 17181 without -mcmodel=large
473d1e45 17182 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 17183 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 17184
e8df1d4e 171852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17186
17187 Remove nested functions in efiemu core
17188
17189 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 17190
cc6c3ac1 171912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17192
17193 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
17194
17195 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
17196 temporary storage
473d1e45 17197 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
17198 using Apple's CC
cc6c3ac1 17199 (grub_cpu_is_tsc_supported): likewise
17200 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 17201
3e325901 172022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 Absolute addressing through constant with Apple's cc
17205
17206 * kern/i386/pc/startup.S: Define necessary constants
17207 and address through it when using ABS with Apple's CC
17208 * boot/i386/pc/diskboot.S: likewise
17209 * boot/i386/pc/boot.S: likewise
17210 * boot/i386/pc/lnxboot.S: likewise
17211 * boot/i386/pc/cdboot.S: likewise
17212 * mmap/i386/pc/mmap_helper.S: likewise
17213 * commands/i386/pc/drivemap_int13h.S: likewise
17214
2b167a72 172152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 Check if compiler is apple cc
17218
17219 * Makefile.in (ASFLAGS): new variable
17220 (TARGET_ASFLAGS): likewise
17221 (TARGET_MODULE_FORMAT): likewise
17222 (TARGET_APPLE_CC): likewise
17223 (OBJCONV): likewise
17224 (TARGET_IMG_CFLAGS): likewise
17225 (TARGET_CPPFLAGS): add includedir
17226 * configure.ac: call grub_apple_cc and grub_apple_target_cc
17227 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
17228 Check for linker script only if compiler isn't Apple's CC
17229 (TARGET_MODULE_FORMAT): set
17230 (TARGET_APPLE_CC): likewise
17231 (TARGET_ASFLAGS): likewise
17232 (ASFLAGS): likewise
17233 Check for objcopy only if compiler isn't Apple's CC
17234 Check for BSS symbol only if compiler isn't Apple's CC
17235 * genmk.rb: adapt nm options if we use Apple's utils
17236 * aclocal.m4 (grub_apple_cc): new test
17237 (grub_apple_target_cc): likewise
473d1e45 17238
fb14123e 172392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17240
17241 Simplify sed expressions and improve awk
17242
17243 * Makefile.in (install-local): simplify sed expression
17244 * gencmdlist.sh: likewise
17245 * genmoddep.awk: avoid adding module as a dependency of itself
17246
5b889789 172472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17248
17249 Add missing start symbols
17250
17251 * boot/i386/pc/boot.S: add start
fb14123e 17252 * boot/i386/pc/pxeboot.S: likewise
473d1e45 17253
fd2bf2e3 172542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17255
17256 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 17257
17258 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 17259 (relocate_addresses): consider both r_addend and value at offset
17260 (make_mods_section): zerofill modinfo and header
17261 (convert_elf): write prefix here
473d1e45 17262
5389763d 172632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17264
17265 Use .asciz instead of .string
17266
17267 * i386/pc/diskboot.S: use .asciz instead of .string
17268 * i386/pc/boot.S: likewise
17269 * include/grub/dl.h (GRUB_MOD_DEP): likewise
17270 (GRUB_MOD_NAME): likewise
473d1e45 17271
3eb5ed4e 172722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17273
17274 gfxpayload support
17275
17276 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
17277 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
17278 (grub_video_setup): remove
17279 (grub_video_set_mode): new prototype
17280 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
17281 (vid_mode): remove
17282 (linux_vesafb_res): compile only on PCBIOS
17283 (grub_linux_boot): support gfxpayload
17284 * loader/i386/pc/xnu.c (video_hook): new function
17285 (grub_xnu_set_video): support gfxpayload
17286 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
17287 (DEFAULT_VIDEO_HEIGHT): likewise
17288 (DEFAULT_VIDEO_FLAGS): likewise
17289 (DEFAULT_VIDEO_MODE): new definition
17290 (video_hook): new function
17291 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 17292 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 17293 loading xnu
17294 * video/video.c (grub_video_setup): removed
473d1e45 17295 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 17296 grub_video_setup
17297
4b0e1143 172982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 Avoid calling biosdisk in drivemap
17301
17302 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
17303 (revparse_biosdisk): likewise
17304 (list_mappings): derive name from id directly
17305 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 17306
fda6cb98 173072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17308
17309 Script fixes
17310
17311 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
17312 (grub_lexer_param): add tokenonhold
17313 (grub_script_create_cmdline): remove cmdline. All callers updated
17314 (grub_script_function_create): make functionname
17315 grub_script_arg. All callers updated
17316 (grub_script_execute_argument_to_string): new prototype
17317 * kern/parser.c (state_transitions): reorder
17318 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 17319 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 17320 make global
17321 (grub_script_execute_cmdline): use new format
17322 * script/sh/function.c (grub_script_function_create): make functionname
17323 grub_script_arg. All callers updated
473d1e45 17324 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 17325 (grub_script_yylex): remove
17326 (grub_script_yylex2): renamed to ...
17327 (grub_script_yylex): ...renamed
17328 parse the expressions like a${b}c
17329 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
17330 (GRUB_PARSER_TOKEN_VAR): remove
17331 (GRUB_PARSER_TOKEN_NAME): likewise
17332 ("if"): declare as typeless
17333 ("while"): likewise
17334 ("function"): likewise
17335 ("else"): likewise
17336 ("then"): likewise
17337 ("fi"): likewise
17338 (text): remove
17339 (argument): likewise
17340 (script): accept empty scripts and make exit on error
17341 (arguments): use GRUB_PARSER_TOKEN_ARG
17342 (function): likewise
17343 (command): move error handling to script
17344 (menuentry): move grub_script_lexer_ref before
473d1e45 17345 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 17346 argument. All callers updated
17347
f4448a07 173482009-06-04 Robert Millan <rmh.grub@aybabtu.com>
17349
17350 Prevent GRUB from probing floppies during boot.
17351
17352 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
17353 * commands/search.c (options): Add --no-floppy.
17354 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
17355 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
17356 --no-floppy when searching for UUIDs.
17357
2bf5885a 173582009-06-04 Robert Millan <rmh.grub@aybabtu.com>
17359
17360 Simplify the code duplication in commands/search.c.
17361
17362 * commands/search.c (search_label, search_fs_uuid): Merge into ...
17363 (search_fs): ... this. Update all users.
17364
f6fd460a 173652009-06-03 Felix Zielcke <fzielcke@z-51.de>
17366
17367 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
17368
cbb3c83e 173692009-05-28 Pavel Roskin <proski@gnu.org>
17370
57788cfd 17371 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
17372 Remove the original symlink explicitly.
17373
cbb3c83e 17374 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
17375 just one slash. That's how grub_fshelp_find_file() does it.
17376
cd0d5e30 173772009-05-26 Pavel Roskin <proski@gnu.org>
17378
f0f8bbe2 17379 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
17380 to `str'.
17381
cd0d5e30 17382 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
17383 possibly unused.
17384
8c2cab51 173852009-05-25 Christian Franke <franke@computer.org>
17386
17387 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
17388 register.
17389 (grub_atapi_identify): Add wait after drive select.
17390 (grub_ata_identify): Do more strict status register check before
17391 calling grub_atapi_identify (). Suppress error message if status
17392 register is 0x00 after command failure. Add status register
17393 check after PIO read to avoid bogus identify due to stuck DRQ.
17394 Thanks to Pavel Roskin for testing.
17395 (grub_device_initialize): Remove unsafe status register check.
17396 Thanks to 'phcoder' for problem report and patch.
17397 Prevent sign extension in debug message.
17398
230c0ad6 173992009-05-23 Colin D Bennett <colin@gibibit.com>
17400
17401 Cleaned up `include/grub/normal.h'. Grouped prototypes by
17402 definition file, and functions defined in `normal/menu.c' have had
17403 their prototypes moved to `include/grub/menu.h' for consistency.
17404
17405 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
17406 from normal.h.
17407 (grub_menu_get_entry): Likewise.
17408 (grub_menu_get_timeout): Likewise.
17409 (grub_menu_set_timeout): Likewise.
17410 (grub_menu_execute_entry): Likewise.
17411 (grub_menu_execute_with_fallback): Likewise.
17412 (grub_menu_entry_run): Likewise.
17413
17414 * include/grub/normal.h: Re-ordered and grouped function
17415 prototypes by file that the function is defined in.
17416 (grub_menu_execute_callback): Removed; moved to menu.h.
17417 (grub_menu_get_entry): Likewise.
17418 (grub_menu_get_timeout): Likewise.
17419 (grub_menu_set_timeout): Likewise.
17420 (grub_menu_execute_entry): Likewise.
17421 (grub_menu_execute_with_fallback): Likewise.
17422 (grub_menu_entry_run): Likewise.
17423 (grub_menu_addentry): Renamed from this ...
17424 (grub_normal_add_menu_entry): ... to this.
17425
17426 * normal/main.c (grub_menu_addentry): Renamed from this ...
17427 (grub_normal_add_menu_entry): ... to this.
17428
17429 * script/sh/execute.c (grub_script_execute_menuentry): Update
17430 reference to renamed grub_menu_addentry function.
17431
861f03a5 174322009-05-23 Felix Zielcke <fzielcke@z-51.de>
17433
17434 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
17435
96b1619a 174362009-05-22 Pavel Roskin <proski@gnu.org>
17437
bf6a5fb2 17438 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
17439 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
17440 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
17441 compiling for the i386 targets, but not for the utilities.
17442
96b1619a 17443 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
17444 to grub_uint8_t.
17445 (grub_root_drive): Likewise.
17446 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
17447 remove alignment.
17448 (grub_root_drive): Change size to byte.
17449 (grub_start_addr): Remove.
17450 (grub_end_addr): Likewise.
17451 (grub_apm_bios_info): Likewise.
17452
b729776b 174532009-05-21 Felix Zielcke <fzielcke@z-51.de>
17454
17455 * normal/i386: Remove.
17456 * normal/powerpc: Likewise.
17457 * normal/sparc64: Likewise.
17458 * normal/x86_64: Likewise.
17459
0a15ce80 174602009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17461
17462 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 17463 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 17464 * loader/i386/xnu_helper.S: Likewise
d6da58e6 17465
33db9015 174662009-05-18 Colin D Bennett <colin@gibibit.com>
17467
d6da58e6 17468 Display error messages when parsing a Lua statement fails.
17469 Previously, executing a syntactically invalid statement like
17470 ")foo" or "bar;" would silently fail.
33db9015 17471
17472 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 17473 (grub_lua_parse_line): Improved reporting of Lua parser and
17474 execution errors.
33db9015 17475
46422c89 174762009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17477
17478 Remove -Werror which causes build to fail on some systems
17479
17480 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
17481 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
17482 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 17483
22f53a96 174842009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17485
17486 trampoline for linux on 64-bit platform
17487
18f547ad 17488 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
17489 loader/i386/efi/linux_trampoline.S
17490 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 17491 declaration
d6da58e6 17492 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
17493 here
22f53a96 17494 * loader/i386/linux_trampoline.S: moved here
d6da58e6 17495 * loader/i386/efi/linux.c (allocate_pages): reserve space for
17496 trampoline
22f53a96 17497 (jumpvector): removed
17498 (grub_linux_trampoline_start): new declaration
17499 (grub_linux_trampoline_end): likewise
17500 (grub_linux_boot): use trampoline when on 64-bit platform
17501 * loader/i386/linux.c: likewise
17502
cb5a0f40 175032009-05-16 Pavel Roskin <proski@gnu.org>
17504
17505 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
17506 const to avoid a warning.
17507 (grub_lua_setenv): Likewise.
17508 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
17509 lmsg to fix a warning.
17510
334f2c28 175112009-05-16 Felix Zielcke <fzielcke@z-51.de>
17512
17513 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 17514 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17515 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
17516 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17517 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
17518 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17519 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
17520 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 17521
59e5d3ec 175222009-05-16 Felix Zielcke <fzielcke@z-51.de>
17523
17524 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
17525
9d87a1ba 175262009-05-16 Bean <bean123ch@gmail.com>
17527
17528 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
17529 (lua_mod_SOURCES): New variable.
17530 (lua_mod_CFLAGS): Likewise.
17531 (lua_mod_LDFLAGS): Likewise.
17532
17533 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
17534 (setjmp_mod_SOURCES): New variable.
17535 (setjmp_mod_CFLAGS): Likewise.
17536 (setjmp_LDFLAGS): Likewise.
17537
17538 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
17539 (setjmp_mod_SOURCES): New variable.
17540 (setjmp_mod_CFLAGS): Likewise.
17541 (setjmp_LDFLAGS): Likewise.
17542
17543 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
17544 (setjmp_mod_SOURCES): New variable.
17545 (setjmp_mod_CFLAGS): Likewise.
17546 (setjmp_LDFLAGS): Likewise.
17547
17548 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
17549 (setjmp_mod_SOURCES): New variable.
17550 (setjmp_mod_CFLAGS): Likewise.
17551 (setjmp_LDFLAGS): Likewise.
17552
17553 * normal/i386/setjmp.S: Moved from here ...
17554 * lib/i386/setjmp.S: ... Moved here
17555 * normal/x86_64/setjmp.S: Moved from here ...
17556 * lib/x86_64/setjmp.S: ... Moved here
17557 * normal/powerpc/setjmp.S: Moved from here ...
17558 * lib/powerpc/setjmp.S: ... Moved here
17559 * normal/sparc64/setjmp.S: Moved from here ...
17560 * lib/sparc64/setjmp.S: ... Moved here
17561
17562 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
17563 returns_twice in mingw.
17564
17565 * script/lua/grub_lib.c: New file.
17566 * script/lua/grub_lib.h: Likewise.
17567 * script/lua/grub_lua.h: Likewise.
17568 * script/lua/grub_main.c: Likewise.
17569 * script/lua/lapi.c: Likewise.
17570 * script/lua/lapi.h: Likewise.
17571 * script/lua/lauxlib.c: Likewise.
17572 * script/lua/lauxlib.h: Likewise.
17573 * script/lua/lbaselib.c: Likewise.
17574 * script/lua/lcode.c: Likewise.
17575 * script/lua/lcode.h: Likewise.
17576 * script/lua/ldblib.c: Likewise.
17577 * script/lua/ldebug.c: Likewise.
17578 * script/lua/ldebug.h: Likewise.
17579 * script/lua/ldo.c: Likewise.
17580 * script/lua/ldo.h: Likewise.
17581 * script/lua/ldump.c: Likewise.
17582 * script/lua/lfunc.c: Likewise.
17583 * script/lua/lfunc.h: Likewise.
17584 * script/lua/lgc.c: Likewise.
17585 * script/lua/lgc.h: Likewise.
17586 * script/lua/linit.c: Likewise.
17587 * script/lua/liolib.c: Likewise.
17588 * script/lua/llex.c: Likewise.
17589 * script/lua/llex.h: Likewise.
17590 * script/lua/llimits.h: Likewise.
17591 * script/lua/lmathlib.c: Likewise.
17592 * script/lua/lmem.c: Likewise.
17593 * script/lua/lmem.h: Likewise.
17594 * script/lua/loadlib.c: Likewise.
17595 * script/lua/lobject.c: Likewise.
17596 * script/lua/lobject.h: Likewise.
17597 * script/lua/lopcodes.c: Likewise.
17598 * script/lua/lopcodes.h: Likewise.
17599 * script/lua/loslib.c: Likewise.
17600 * script/lua/lparser.c: Likewise.
17601 * script/lua/lparser.h: Likewise.
17602 * script/lua/lstate.c: Likewise.
17603 * script/lua/lstate.h: Likewise.
17604 * script/lua/lstring.c: Likewise.
17605 * script/lua/lstring.h: Likewise.
17606 * script/lua/lstrlib.c: Likewise.
17607 * script/lua/ltable.c: Likewise.
17608 * script/lua/ltable.h: Likewise.
17609 * script/lua/ltablib.c: Likewise.
17610 * script/lua/ltm.c: Likewise.
17611 * script/lua/ltm.h: Likewise.
17612 * script/lua/lua.h: Likewise.
17613 * script/lua/luaconf.h: Likewise.
17614 * script/lua/lualib.h: Likewise.
17615 * script/lua/lundump.c: Likewise.
17616 * script/lua/lundump.h: Likewise.
17617 * script/lua/lvm.c: Likewise.
17618 * script/lua/lvm.h: Likewise.
17619 * script/lua/lzio.c: Likewise.
17620 * script/lua/lzio.h: Likewise.
17621
5e898c9d 176222009-05-16 Bean <bean123ch@gmail.com>
17623
17624 * include/grub/kernel.h (grub_module_header_types): Add type
17625 OBJ_TYPE_CONFIG.
17626
17627 * kern/main.c (grub_load_config): New function.
17628 (grub_main): Call grub_load_config to read boot config.
17629
17630 * grub-mkimage (generate_image): New parameter config_path.
17631 (options): New option --config.
17632 (main): Parse --config option, and pass it to generate_image.
17633
cf353a47 176342009-05-14 Christian Franke <franke@computer.org>
17635
17636 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
17637 This fixes build on Cygwin.
17638
3834887f 176392009-05-14 Pavel Roskin <proski@gnu.org>
17640
17641 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
17642 jump. This saves two bytes, so the typical case of 2 swapped
17643 drives would fit 32 bytes.
17644
8090fc01 176452009-05-13 Pavel Roskin <proski@gnu.org>
17646
ac963883 17647 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
17648 grub_uint32_t to avoid a warning.
17649
8090fc01 17650 * loader/i386/linux.c (allocate_pages): When assigning
17651 real_mode_mem, cast through grub_size_t to fix a warning. The
17652 code already makes sure that the value would fit a pointer.
17653 (grub_linux_setup_video): Cast render_target->data to
17654 grub_size_t to fix a warning.
17655
18f547ad 176562009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 17657
17658 * commands/i386/pc/drivemap.c: New file - implement drivemap
17659 command.
17660 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
17661 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
17662
6f6a8b28 176632009-05-13 Pavel Roskin <proski@gnu.org>
17664
17665 * util/i386/pc/grub-setup.c (setup): Remove unused variable
17666 embedding_area_exists.
17667
15fbf4c4 176682009-05-13 Robert Millan <rmh.grub@aybabtu.com>
17669
17670 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
17671 it easier to understand / work with.
59978c8a 17672 Improve warning messages for cases where there's no embedding area,
17673 or when it is too small (or core.img too large).
15fbf4c4 17674
238e871f 176752009-05-13 Pavel Roskin <proski@gnu.org>
17676
0ab3a9a4 17677 * loader/i386/pc/multiboot2.c: Add necessary includes for
17678 grub_multiboot2_real_boot().
17679
a2c8c5f8 17680 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
17681 PX record is always little-endian. We only need the lower 2
17682 bytes of the mode.
17683
faec96af 17684 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
17685 facilitate code reuse.
17686 (grub_cpio_mount): Use "struct head", not a char buffer. This
17687 fixes a warning reported by gcc 4.4.
17688
238e871f 17689 * kernel/disk.c (grub_disk_read): Use void pointer for the
17690 buffer.
17691 (grub_disk_write): Use const void pointer for the buffer.
17692 Adjust all callers. Remove unnecessary casts.
17693
901d2f0c 176942009-05-10 Robert Millan <rmh.grub@aybabtu.com>
17695
17696 * util/i386/pc/grub-install.in: Update copyright year.
17697
18f547ad 176982009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 17699
17700 gptsync
17701
17702 * commands/gptsync.c: new file
17703 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
17704 (gptsync_mod_SOURCES): new variable
17705 (gptsync_mod_CFLAGS): likewise
17706 (gptsync_mod_LDFLAGS): likewise
18f547ad 17707 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 17708 new definition
17709 (GRUB_PC_PARTITION_TYPE_HFS): likewise
17710 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
17711 * conf/i386-ieee1275.rmk: likewise
17712 * conf/i386-pc.rmk: likewise
17713 * conf/powerpc-ieee1275.rmk: likewise
17714
b4ba690a 177152009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17716
17717 Fixed grub-emu
17718
17719 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
17720 (grub_dl_ref): likewise
17721
317e1a44 177222009-05-08 Robert Millan <rmh.grub@aybabtu.com>
17723
17724 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
17725 split in two functions (one for msdos and one for gpt).
17726
041b8094 177272009-05-08 Pavel Roskin <proski@gnu.org>
17728
752473c2 17729 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
17730 not modified.
17731
041b8094 17732 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
17733 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
17734 Initialize them with -1. Add sanity check for bad1. Eliminate
17735 nerr variable.
17736
172800ce 177372009-05-08 David S. Miller <davem@davemloft.net>
17738
17739 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
17740
29aa5e81 177412009-05-06 Robert Millan <rmh.grub@aybabtu.com>
17742
17743 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 17744 existence.
29aa5e81 17745
96613b62 177462009-05-05 Felix Zielcke <fzielcke@z-51.de>
17747
17748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 17749 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 17750
eef73c8a 177512009-05-05 David S. Miller <davem@davemloft.net>
17752
17753 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
17754
119494b5 177552009-05-05 Pavel Roskin <proski@gnu.org>
17756
17757 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
17758 of grub_dl_ref() and grub_dl_unref().
17759 * commands/parttool.c: Remove preprocessor conditionals around
17760 grub_dl_ref() and grub_dl_unref().
17761 * fs/affs.c: Likewise.
17762 * fs/afs.c: Likewise.
17763 * fs/cpio.c: Likewise.
17764 * fs/ext2.c: Likewise.
17765 * fs/fat.c: Likewise.
17766 * fs/hfs.c: Likewise.
17767 * fs/hfsplus.c: Likewise.
17768 * fs/iso9660.c: Likewise.
17769 * fs/jfs.c: Likewise.
17770 * fs/minix.c: Likewise.
17771 * fs/ntfs.c: Likewise.
17772 * fs/reiserfs.c: Likewise.
17773 * fs/sfs.c: Likewise.
17774 * fs/udf.c: Likewise.
17775 * fs/ufs.c: Likewise.
17776 * fs/xfs.c: Likewise.
17777 * include/grub/dl.h: Likewise.
17778 * loader/xnu.c: Likewise.
17779
de5fd76e 177802009-05-04 Pavel Roskin <proski@gnu.org>
17781
17782 * commands/acpi.c: Remove unused variable my_mod.
17783 * partmap/amiga.c: Likewise.
17784 * partmap/apple.c: Likewise.
17785 * partmap/gpt.c: Likewise.
17786 * partmap/pc.c: Likewise.
17787 * partmap/sun.c: Likewise.
17788 * term/gfxterm.c: Likewise.
17789 * term/i386/pc/vesafb.c: Likewise.
17790 * term/i386/pc/vga.c: Likewise.
17791
983598ad 177922009-05-04 David S. Miller <davem@davemloft.net>
17793
17794 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
17795 pointer args to grub_ieee1275_get_property().
17796
8aadec43 17797 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
17798
9554b15e 17799 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
17800 devices, and do not traverse down under controller nodes.
17801
67e23c90 17802 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
17803 (grub_ofdisk_open): Use it to un-escape "," characters.
17804 * kern/disk.c (find_part_sep): New.
17805 (grub_disk_open): Use it to find the first non-escaped ','
17806 character in the disk name.
17807 * util/ieee1275/devicemap.c (escape_of_path): New.
17808 (grub_util_emit_devicemap_entry): Use it.
17809 * util/sparc64/ieee1275/grub-install.in: Update script to
17810 strip partition specifiers properly by not triggering on
17811 '\' escaped ',' characters.
17812
74bfdd2f 178132009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17814
17815 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
17816 to 0x300.
17817 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
17818 resolutions.
17819 (linux_vesafb_modes): Add a lot of additional modes to the list (based
17820 on documentation from Wikipedia).
17821
4241d2b1 178222009-05-04 Pavel Roskin <proski@gnu.org>
17823
17824 * disk/ata.c: Spelling fixes.
17825 * disk/raid.c: Likewise.
17826 * disk/usbms.c: Likewise.
17827 * disk/dmraid_nvidia.c: Likewise.
17828 * kern/ieee1275/openfw.c: Likewise.
17829 * kern/ieee1275/init.c: Likewise.
17830 * kern/ieee1275/cmain.c: Likewise.
17831 * boot/i386/pc/cdboot.S: Likewise.
17832 * video/readers/png.c: Likewise.
17833 * video/i386/pc/vbe.c: Likewise.
17834 * fs/udf.c: Likewise.
17835 * fs/hfs.c: Likewise.
17836 * fs/reiserfs.c: Likewise.
17837 * efiemu/runtime/efiemu.c: Likewise.
17838 * efiemu/main.c: Likewise.
17839 * efiemu/mm.c: Likewise.
17840 * include/grub/elf.h: Likewise.
17841 * include/grub/xnu.h: Likewise.
17842 * include/grub/usbdesc.h: Likewise.
17843 * include/grub/usb.h: Likewise.
17844 * include/grub/script_sh.h: Likewise.
17845 * include/grub/lib/LzmaEnc.h: Likewise.
17846 * include/grub/efiemu/efiemu.h: Likewise.
17847 * include/grub/command.h: Likewise.
17848 * normal/menu.c: Likewise.
17849 * normal/main.c: Likewise.
17850 * normal/datetime.c: Likewise.
17851 * bus/usb/uhci.c: Likewise.
17852 * mmap/i386/uppermem.c: Likewise.
17853 * mmap/mmap.c: Likewise.
17854 * commands/acpi.c: Likewise.
17855 * commands/test.c: Likewise.
17856 * partmap/apple.c: Likewise.
17857 * font/font.c: Likewise.
17858 * loader/sparc64/ieee1275/linux.c: Likewise.
17859 * loader/macho.c: Likewise.
17860 * loader/i386/bsd_trampoline.S: Likewise.
17861 * loader/i386/bsd.c: Likewise.
17862 * loader/xnu.c: Likewise.
17863 * term/i386/pc/vesafb.c: Likewise.
17864 * term/usb_keyboard.c: Likewise.
17865 * util/resolve.c: Likewise.
17866 * util/getroot.c: Likewise.
17867
0cfc0083 178682009-05-04 Felix Zielcke <fzielcke@z-51.de>
17869
17870 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
17871
7c1d00cd 178722009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17873
17874 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
17875 build error.
17876
b01f0548 178772009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17878
17879 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
17880 parameter only available on BIOS.
17881
ecc3eb22 178822009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17883
17884 Removed wrong semicolon in declaration
17885
17886 * grub/misc.h (grub_dprintf): remove semicolon
17887
112972a9 178882009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17889
17890 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
17891 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
17892 is done by grub_cmd_linux() now).
17893 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
17894 restore video to text mode.
17895 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
17896 indicates lack of "vga=" parameter. "vga=0" is mapped to
17897 `GRUB_LINUX_VID_MODE_NORMAL'.
17898
afd5c115 178992009-05-04 Felix Zielcke <fzielcke@z-51.de>
17900
17901 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
17902 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
17903 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 17904 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 17905 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
17906 `grub_script.tab.c'.
17907
17908 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17909 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17911 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
17912 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17913
faa517ce 17914 * Makefile.in: Remove duplicated 2008 in Copyright line.
17915
ae0c0bdc 179162009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17917
473d1e45 17918 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 17919 unconditionally.
17920 * include/grub/util/misc.h (grub_util_warn): New declaration.
17921
17922 * util/i386/pc/grub-install.in: Understand --force and pass it down
17923 to grub-setup.
17924
17925 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
17926 down to setup().
17927 (setup): Improve error messages and add warnings when requested to
17928 install in odd layouts. Refuse to install using blocklists unless
17929 --force was set.
17930
18f547ad 179312009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 17932
17933 * disk/raid.c (grub_raid_scan_device): Improve debug message.
17934
6d260daa 179352009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17936
17937 Updated copyright year
17938
17939 * fs/hfsplus.c: updated copyright year
18f547ad 17940
69f853f8 179412009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17942
17943 HFS+ UUID
17944
18f547ad 17945 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 17946 in the space previously used by unused3
17947 (grub_hfsplus_uuid): new function
17948 (grub_hfsplus_fs): added uuid field
17949
4c402e73 179502009-05-03 Pavel Roskin <proski@gnu.org>
17951
17952 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
17953 suppress warnings. It's no longer needed.
17954 * disk/host.c: Likewise.
17955 * disk/ata_pthru.c: Likewise.
17956 * disk/loopback.c: Likewise.
17957 * hook/datehook.c: Likewise.
17958 * parttool/pcpart.c: Likewise.
17959 * fs/i386/pc/pxe.c: Likewise.
17960 * fs/ntfscomp.c: Likewise.
17961 * efiemu/main.c: Likewise.
17962 * mmap/mmap.c: Likewise.
17963 * commands/crc.c: Likewise.
17964 * commands/hexdump.c: Likewise.
17965 * commands/hdparm.c: Likewise.
17966 * commands/acpi.c: Likewise.
17967 * commands/echo.c: Likewise.
17968 * commands/minicmd.c: Likewise.
17969 * commands/blocklist.c: Likewise.
17970 * commands/memrw.c: Likewise.
17971 * commands/loadenv.c: Likewise.
17972 * commands/usbtest.c: Likewise.
17973 * commands/lsmmap.c: Likewise.
17974 * commands/boot.c: Likewise.
17975 * commands/parttool.c: Likewise.
17976 * commands/configfile.c: Likewise.
17977 * commands/search.c: Likewise.
17978 * commands/ieee1275/suspend.c: Likewise.
17979 * commands/cat.c: Likewise.
17980 * commands/i386/pc/pxecmd.c: Likewise.
17981 * commands/i386/pc/play.c: Likewise.
17982 * commands/i386/pc/halt.c: Likewise.
17983 * commands/i386/pc/vbeinfo.c: Likewise.
17984 * commands/i386/pc/vbetest.c: Likewise.
17985 * commands/lspci.c: Likewise.
17986 * commands/date.c: Likewise.
17987 * commands/handler.c: Likewise.
17988 * commands/ls.c: Likewise.
17989 * commands/test.c: Likewise.
17990 * commands/cmp.c: Likewise.
17991 * commands/efi/loadbios.c: Likewise.
17992 * commands/efi/fixvideo.c: Likewise.
17993 * commands/halt.c: Likewise.
17994 * commands/help.c: Likewise.
17995 * commands/reboot.c: Likewise.
17996 * hello/hello.c: Likewise.
17997 * script/sh/main.c: Likewise.
17998 * loader/xnu.c: Likewise.
17999 * term/terminfo.c: Likewise.
18000 * term/i386/pc/serial.c: Likewise.
18001 * term/usb_keyboard.c: Likewise.
18002
515b5079 180032009-05-03 David S. Miller <davem@davemloft.net>
18004
18005 * normal/menu.c: Include grub/parser.h
18006
dfc31a22 180072009-05-03 Pavel Roskin <proski@gnu.org>
18008
2fee74f1 18009 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
18010 not char*.
18011 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
18012 Suggested by Javier Martín <lordhabbit@gmail.com>
18013
dfc31a22 18014 * util/i386/pc/grub-mkrescue.in: Allow for the case when
18015 efiemu??.o doesn't exist.
18016 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
18017 copying.
18018
18f547ad 180192009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 18020
18021 FreeBSD 64-bit support
18022
18f547ad 18023 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 18024 and loader/i386/bsd_trampoline.S
18025 (bsd_mod_ASFLAGS): new variable
18026 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
18027 (FREEBSD_MODTYPE_KERNEL64): likewise
18028 (grub_bsd64_trampoline_start): likewise
18029 (grub_bsd64_trampoline_end): likewise
18030 (grub_bsd64_trampoline_selfjump): likewise
18031 (grub_bsd64_trampoline_gdt): likewise
18032 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
18033 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
18034 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
18035 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 18036 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 18037 of "attrib" member
18038 * loader/i386/bsd_pagetable.c: new file
18039 * loader/i386/bsd_trampoline.S: likewise
18040 * loader/i386/bsd.c (ALIGN_QWORD): new macro
18041 (ALIGN_VAR): likewise
18042 (entry_hi): new variable
18043 (kern_end_mdofs): likewise
18044 (is_64bit): likewise
18045 (grub_freebsd_add_meta): use ALIGN_VAR
18046 (grub_e820_mmap): new declaration
18047 (grub_freebsd_add_mmap): new function
18048 (grub_freebsd_add_meta_module): support 64 bit kernels
18049 (grub_freebsd_list_modules): use ALIGN_VAR
18050 (gdt_descriptor): new declaration
18051 (grub_freebsd_boot): support 64 bit kernels
18052 (grub_bsd_elf64_hook): new function
18053 (grub_bsd_load_elf): support elf64
18054
038c5720 180552009-05-03 Bean <bean123ch@gmail.com>
18056
18057 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
18058 after we get the result of if statement.
18059
fc45fb58 180602009-05-03 Bean <bean123ch@gmail.com>
18061
18062 * Makefile.in (enable_efiemu): New variable.
18063
18064 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
18065 set.
18066 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
18067 path.
18068 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
18069 path, add -mno-red-zone option.
18070 (efiemu64_s.o): Likewise.
18071 (efiemu64.o): Use macro $^ for source file.
18072
18073 * configure.ac (--enable-efiemu): New option.
18074
bbee0f2b 180752009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18076
18077 xnu support
18078
18079 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
18080 (pkglib_MODULES): add xnu.mod
18081 (xnu_mod_SOURCES): new variable
18082 (xnu_mod_CFLAGS): likewise
18083 (xnu_mod_LDFLAGS): likewise
18084 (xnu_mod_ASFLAGS): likewise
18085 * conf/i386-pc.rmk: likewise
18086 * conf/x86_64-efi.rmk: likewise
7dd4a573 18087 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 18088 new declaration
18089 * include/grub/i386/macho.h: new file
18090 * include/grub/i386/xnu.h: likewise
18091 * include/grub/macho.h: likewise
18092 * include/grub/machoload.h: likewise
18093 * include/grub/x86_64/macho.h: likewise
18094 * include/grub/x86_64/xnu.h: likewise
18095 * include/grub/xnu.h: likewise
18096 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
18097 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
18098 * loader/i386/efi/xnu.c: new file
18099 * loader/i386/pc/xnu.c: likewise
18100 * loader/i386/xnu.c: likewise
18101 * loader/i386/xnu_helper.S: likewise
18102 * loader/macho.c: likewise
18103 * loader/xnu.c: likewise
18104 * loader/xnu_resume.c: likewise
18105 * util/grub-dumpdevtree: likewise
18106 * include/grub/i386/pit.h: include grub/err.h
18107 (grub_pit_wait): export
18108 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 18109
5caf964d 181102009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18111
18112 Efiemu
7dd4a573 18113
5caf964d 18114 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 18115 _linux_efi, linux_efi.
18116 new files in grub-emu
5caf964d 18117 new targets efiemu32.o and efiemu64.o
18118 * loader/linux_normal_efiemu.c: likewise
18119 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 18120 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 18121 files to copy
18122 * include/grub/autoefi.h: new file
7dd4a573 18123 * include/grub/i386/efiemu.h: likewise
5caf964d 18124 * include/grub/i386/pc/efiemu.h: likewise
18125 * include/grub/efi/api.h: add LL suffix when necessary
18126 new definitions relating to tables
18127 * include/grub/efiemu/efiemu.h: new file
18128 * include/grub/efiemu/runtime.h: likewise
18129 * efiemu/prepare.c: likewise
18130 * efiemu/loadcore_common.c: likewise
18131 * efiemu/loadcore64.c: likewise
18132 * efiemu/runtime/efiemu.sh: likewise
18133 * efiemu/runtime/efiemu.S: likewise
18134 * efiemu/runtime/efiemu.c: likewise
18135 * efiemu/runtime/config.h: likewise
18136 * efiemu/prepare32.c: likewise
18137 * efiemu/main.c: likewise
18138 * efiemu/modules/pnvram.c: likewise
18139 * efiemu/modules/i386: likewise
18140 * efiemu/modules/i386/pc: likewise
18141 * efiemu/modules/acpi.c: likewise
18142 * efiemu/i386/pc/cfgtables.c: likewise
18143 * efiemu/i386/loadcore64.c: likewise
18144 * efiemu/i386/loadcore32.c: likewise
18145 * efiemu/prepare64.c: likewise
18146 * efiemu/loadcore.c: likewise
18147 * efiemu/symbols.c: likewise
18148 * efiemu/mm.c: likewise
18149 * efiemu/loadcore32.c: likewise
7dd4a573 18150
181512009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 18152
18153 ACPI spoofing
18154
18155 * commands/acpi.c: new file
18156 * commands/i386/pc/acpi.c: likewise
18157 * commands/efi/acpi.c: likewise
18158 * include/grub/acpi.h: likewise
18159 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
18160 (acpi_mod_SOURCES): new variable
18161 (acpi_mod_CFLAGS): likewise
18162 (acpi_mod_LDFLAGS): likewise
18163 * conf/i386-efi.rmk: likewise
18164 * conf/x86_64-efi.rmk: likewise
18165
7dd4a573 181662009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 18167
18168 Missing part from mmap patch
18169
18170 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
18171 (grub_mmap_unregister)
18172 (grub_mmap_free_and_unregister): use grub_mmap_register
18173
7dd4a573 181742009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 18175
18176 Mmap services
18177
18178 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
18179 * loader/i386/linux.c (find_mmap_size): likewise
18180 (allocate_pages): likewise
18181 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
18182 (grub_fill_multiboot_mmap): likewise
18183 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
18184 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
18185 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
18186 (OPENBSD_MMAP_RESERVED): likewise
18187 * include/grub/i386/pc/memory.h: include grub/memory.h
18188 (grub_lower_mem): removed
18189 (grub_upper_mem): likewise
18190 (GRUB_MACHINE_MEMORY_ACPI): new definition
18191 (GRUB_MACHINE_MEMORY_NVS): likewise
18192 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
18193 (GRUB_MACHINE_MEMORY_HOLE): likewise
18194 (grub_machine_mmap_register): likewise
18195 (grub_machine_mmap_unregister): likewise
18196 (grub_machine_get_upper): likewise
18197 (grub_machine_get_lower): likewise
18198 (grub_machine_get_post64): likewise
18199 * include/grub/i386/efi/memory.h: new file
18200 * include/grub/x86_64/efi/memory.h: likewise
18201 * include/grub/efi/memory.h: likewise
18202 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
18203 (mmap_mod_SOURCES): new variable
18204 (mmap_mod_LDFLAGS): likewise
18205 (mmap_mod_ASFLAGS): likewise
18206 * conf/i386-coreboot.rmk: likewise
18207 * conf/i386-ieee1275.rmk: likewise
18208 * conf/i386-efi.rmk: likewise
18209 * conf/x86_64-efi.rmk: likewise
18210 * include/grub/types.h (UINT_TO_PTR): new macro
18211 (PTR_TO_UINT32): likewise
18212 (PTR_TO_UINT64): likewise
18213 * include/grub/memory.h: new file
18214 * mmap/i386/pc/mmap.c: likewise
18215 * mmap/i386/pc/mmap_helper.S: likewise
18216 * mmap/i386/uppermem.c: likewise
18217 * mmap/mmap.c: likewise
18218 * mmap/efi/mmap.c: likewise
7dd4a573 18219 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 18220 grub_upper_mem
18221 * kern/i386/pc/init.c (grub_lower_mem): removed variable
18222 (grub_upper_mem): likewise
18223 (grub_machine_init): don't use grub_upper_mem,
18224 make grub_lower_mem local
18225 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
18226 grub_mmap_iterate and grub_mmap_get_upper
18227 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
18228
d558e6b5 182292009-05-02 Bean <bean123ch@gmail.com>
18230
18231 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
18232 script/sh/parser.y.
18233 (pkglib_MODULES): Add normal.mod and sh.mod.
18234 (normal_SOURCES): New variable.
18235 (normal_mod_CFLAGS): Likewise.
18236 (normal_mod_LDFLAGS): Likewise.
18237 (sh_mod_SOURCES): Likewise.
18238 (sh_mod_CFLAGS): Likewise.
18239 (sh_mod_LDFLAGS): Likewise.
18240
18241 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
18242 script/sh/lexer.c_DEPENDENCIES.
18243 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
18244 kern/rescue_reader.c and kern/rescue_parser.c.
18245 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
18246 (grub_emu_SOURCES): Change source files.
18247 (pkglib_MODULES): Remove normal.mod.
18248 (normal_SOURCES): Removed.
18249 (normal_mod_CFLAGS): Likewise.
18250 (normal_mod_LDFLAGS): Likewise.
18251 * conf/i386-coreboot.rmk: Likewise.
18252 * conf/i386-efi.rmk: Likewise.
18253 * conf/i386-ieee1276.rmk: Likewise.
18254 * conf/powerpc-ieee1275.rmk: Likewise.
18255 * conf/sparc64-ieee1275.rmk: Likewise.
18256 * conf/x86_64-efi.rmk: Likewise.
18257
18258 * include/grub/command.h (grub_command_execute): New inline function.
18259
18260 * include/grub/menu.h (grub_menu_entry): Removed commands field.
18261
18262 * include/grub/normal.h: Remove <grub/setjmp.h>.
18263 (grub_fs_module_list): Moved to normal/autofs.c.
18264 (grub_exit_env): Removed.
18265 (grub_command_execute): Likewise.
18266 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
18267 parameter script.
18268 (read_command_list): New function declaration.
18269 (read_fs_list): Likewise.
18270
18271 * include/parser.h: Include <grub/reader.h>.
18272 (grub_parser_split_cmdline): Change type of getline parameter.
18273 (grub_parser): New structure.
18274 (grub_parser_class): New variable.
18275 (grub_parser_execute): New function declaration.
18276 (grub_register_rescue_parser): Likewise.
18277 (grub_parser_register): New inline function.
18278 (grub_parser_unregister): Likewise.
18279 (grub_parser_get_current): Likewise.
18280 (grub_parser_set_current): Likewise.
18281
18282 * include/grub/reader.h: New file.
18283 * kern/reader.c: Likewise.
18284 * kern/rescue_parser.c: Likewise.
18285 * kern/rescue_reader.c: Likewise.
18286 * normal/autofs.c: Likewise.
18287 * normal/dyncmd.c: Likewise.
18288
18289 * include/grub/rescue.h: Removed.
18290 * normal/command.h: Likewise.
18291
18292 * include/grub/script.h: Moved to ...
18293 * include/grub/script_sh.h: ... Moved here.
18294 * normal/execute.c: Moved to ...
18295 * script/sh/execute.c: ... Moved here.
18296 * normal/function.c: Moved to ...
18297 * script/sh/function.c: ... Moved here.
18298 * normal/lexer.c: Moved to ...
18299 * script/sh/lexer.c: ... Moved here.
18300 * normal/parser.y: Moved to ...
18301 * script/sh/parser.y: ... Moved here.
18302 * normal/script.c: Moved to ...
18303 * script/sh/script.c: ... Moved here.
18304
18305 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
18306 <grub/reader.h>.
18307 (grub_exit_env): Removed.
18308 (fs_module_list): Moved to normal/autofs.c.
18309 (grub_file_getline): Don't handle comment here.
18310 (free_menu): Skip removed field entry->commands.
18311 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
18312 script parameter.
18313 (read_config_file): Removed nested parameter, change getline function.
18314 (grub_enter_normal_mode): Removed.
18315 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
18316 (read_command_list): Likewise.
18317 (autoload_fs_module): Moved to normal/autofs.c.
18318 (read_fs_list): Likewise.
18319 (reader_nested): New variable.
18320 (grub_normal_execute): Run parser.sh to switch to sh parser.
18321 (grub_cmd_rescue): Removed.
18322 (cmd_normal): Removed.
18323 (grub_cmd_normal): Unregister itself at the beginning. Don't register
18324 rescue command.
18325 (grub_cmdline_run): New function.
18326 (grub_normal_reader_init): Likewise.
18327 (grub_normal_read_line): Likewise.
18328 (grub_env_write_pager): Likewise.
18329 (cmdline): New variable.
18330 (grub_normal_reader): Likewise.
18331 (GRUB_MOD_INIT): Register normal reader and set as current, register
18332 pager hook, register normal command with grub_register_command_prio,
18333 so that it won't show up in command.lst.
18334 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
18335 grub_fs_autoload_hook.
18336
18337 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
18338 (grub_menu_execute_entry): Replace grub_script_execute with
18339 grub_parser_execute, change parameter to grub_command_execute.
18340
18341 * normal/menu_text.c: Remove <grub/script.h>.
18342
18343 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
18344 and <grub/parser.h>.
18345 (run): Change editor_getline to use new parser interface. Change
18346 parameter to grub_command_execute.
18347
18348 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
18349 <grub/reader.h> and <grub/parser.h>.
18350 (grub_load_normal_mode): Execute normal command.
18351 (grub_main): Call grub_register_core_commands,
18352 grub_register_rescue_parser and grub_register_rescue_reader, use
18353 grub_reader_loop to enter input loop.
18354
7dd4a573 18355 * kern/parser.c (grub_parser_split_cmdline): Change type of
18356 getline parameter.
d558e6b5 18357 (grub_parser_class): New variable.
18358 (grub_parser_execute): New function.
18359
18360 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
18361 * loader/multiboot2.c: Likewise.
18362 * loader/sparc64/ieee1275/linux.c: Likewise.
18363
18364 * util/grub-emu.c (read_command_list): New dummy function.
18365
18db813d 183662009-05-02 Robert Millan <rmh.grub@aybabtu.com>
18367
18368 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
18369 count to 16 for CCISS and IDA.
18370
6c67de15 183712009-05-02 Robert Millan <rmh.grub@aybabtu.com>
18372
18373 * normal/menu_text.c (grub_wait_after_message): Print a newline
18374 after waiting for user input.
18375
18376 * loader/i386/linux.c: Include `<grub/normal.h>'.
18377 (grub_cmd_linux): Improve the error message about `ask' mode, by
18378 waiting for user input so it's not missed (we can do this, since
18379 user requested interaction).
18380
d9dc87b0 183812009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18382
18383 Added missing lst to grub-mkrescue
18384
18385 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
18386 and ${input_dir}/parttool.lst
18387
ac8a2baa 183882009-04-30 David S. Miller <davem@davemloft.net>
18389
ad22a610 18390 * util/hostdisk.c (device_is_wholedisk): New function.
18391 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
18392 zero only if device_is_wholedisk() returns true.
18393
6966215d 18394 * util/hostdisk.c (convert_system_partition_to_system_disk):
18395 Handle virtual disk devices named /dev/vdiskX as found on sparc
18396 and powerpc.
18397
ac8a2baa 18398 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
18399 lettered partition specifier is found, convert to numbered.
18400
979b4fb4 184012009-04-29 David S. Miller <davem@davemloft.net>
18402
e2bf39b2 18403 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
18404 * include/grub/sparc64/ieee1275/memory.h: Likewise.
18405
3c64e104 18406 * normal/command.c: Add missing newline at end of file.
18407
979b4fb4 18408 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
18409 warnings.
18410 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
18411 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
18412 grub_ofdisk_read): Likewise, and deal similarly with the fact that
18413 ihandles have a 32-bit type but need to be stored in a "void *".
18414
136d9f82 184152009-04-28 Pavel Roskin <proski@gnu.org>
18416
9459c306 18417 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
18418 not disk. Adjust all dependencies.
2e08a26a 18419 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 18420 grub_disk_close().
18421
136d9f82 18422 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
18423 parent's partition, don't copy it by reference, as it gets freed
18424 on close.
18425
7dd4a573 184262009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 18427
18428 Preboot hooks support
18429
18430 * commands/boot.c (struct grub_preboot_t): new declaration
18431 (preboots_head): new variable
18432 (preboots_tail): likewise
18433 (grub_loader_register_preboot_hook): new function
18434 (grub_loader_unregister_preboot_hook): likewise
18435 (grub_loader_set): launch preboot hooks
18436 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
18437 (grub_loader_register_preboot_hook): new declaration
18438 (grub_loader_unregister_preboot_hook): likewise
18439
5af922b5 184402009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18441
18442 Warning fix
18443
7dd4a573 18444 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 18445 calling grub_dprintf
18446
a5562c30 184472009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
18448
18449 Bug and warning fixes
18450
7dd4a573 18451 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 18452 declaration
18453 * commands/test.c (test_parse): fixed bug with file tests and corrected
18454 declaration of find_file
18455
4006f85c 184562009-04-26 Pavel Roskin <proski@gnu.org>
18457
18458 * Makefile.in: Don't install empty manual pages if help2man is
18459 missing. Use help2man option for output, not shell redirection.
18460
5c77c3de 184612009-04-26 David S. Miller <davem@davemloft.net>
18462
18463 * util/grub-mkdevicemap.c (make_device_map): Add missing
18464 NESTED_FUNC_ATTR to process_device().
18465
033b10a8 184662009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18467
18468 Test command
18469
18470 * commands/test.c: rewritten to use bash-like test
18471
e4343593 184722009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18473
18474 Parttool autoloading and improvements
18475
7dd4a573 18476 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 18477 (parttool.lst): new target
18478 * genmk.rb: generate parttool-*
18479 (CLEANFILES): add #{parttool}
18480 (PARTTOOLFILES): new variable
18481 * genparttoollist.sh: new file
7dd4a573 18482 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 18483 (grub_pcpart_type): likewise
18484 * commands/parttool.c (helpmsg): new variable
18485 (grub_cmd_parttool): output help if not enough arguments are supplied
18486 autoload modules
18487 (GRUB_MOD_INIT(parttool)): use helpmsg
18488
0d312500 184892009-04-24 David S. Miller <davem@davemloft.net>
18490
7dd4a573 18491 Avoiding opening same device multiple times in device iterator.
0d312500 18492
18493 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 18494 and use it to build a list of partitions in iterate_disk() and
0d312500 18495 iterate_partition().
18496
ac20caff 18497 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
18498 on disk->data.
18499
0dcf7495 18500 * disk/ieee1275/nand.c (grub_nand_iterate): Return
18501 grub_devalias_iterate() result instead of unconditional 0.
18502 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
18503 Also, capture hook return value, either directly or via
18504 grub_children_iterate(), and propagate to caller.
18505 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
18506 grub_children_iterate): Return value is now 'int' instead of
18507 'grub_err_t'.
18508 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
18509 like a proper iterator, stopping when hooks return non-zero.
18510 (grub_devalias_iterate): Likewise.
18511
c8c08833 185122009-04-23 David S. Miller <davem@davemloft.net>
18513
18514 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
18515
f01005a8 185162009-04-22 David S. Miller <davem@davemloft.net>
18517
18518 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
18519 is larger than address_cells, use that value for address_cells too.
18520
4e8269da 18521 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
18522 IEEE1275_MAX_PATH_LEN): Define.
18523 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
18524 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
18525 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
18526 'devtype'. Explicitly NULL terminate devalias expansion.
18527
a1447506 18528 * util/sparc64/ieee1275/misc.c: New file.
18529 * util/sparc64/ieee1275/grub-setup.c: New file.
18530 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
18531 * util/sparc64/ieee1275/grub-mkimage.c: New file.
18532 * util/sparc64/ieee1275/grub-install.in: New file.
18533 * util/ieee1275/ofpath.c: New file.
18534 * util/ieee1275/devicemap.c: New file.
18535 * util/devicemap.c: New file.
18536 * util/deviceiter.c: New file.
18537 * kern/sparc64/ieee1275/init.c: New file.
18538 * include/grub/util/ofpath.h: New file.
18539 * include/grub/util/deviceiter.h: New file.
18540 * util/grub-mkdevicemap.c: Include deviceiter.h.
18541 Implement using grub_util_emit_devicemap_entry and
18542 grub_util_iterate_devices.
18543 * conf/i386-corebook.rmk: Build util/deviceiter.c and
18544 util/devicemap.c into grub-mkdevicemap
18545 * conf/i386-efi.rmk: Likewise.
18546 * conf/i386-ieee1275.rmk: Likewise.
18547 * conf/i386-pc.rmk: Likewise.
18548 * conf/powerpc-ieee1275.rmk: Likewise.
18549 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
18550 images and installation utilities. Build kernel as image
18551 instead of as elf binary. Use common rules as much as possible.
18552
7dd4a573 185532009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 18554
18555 Correct GPT definition
18556
7dd4a573 18557 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 18558 of "attrib" member
18559
c6c5219f 185602009-04-19 Felix Zielcke <fzielcke@z-51.de>
18561
18562 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
18563
0552ff9f 185642009-04-19 David S. Miller <davem@davemloft.net>
18565
18566 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
18567 (grub_rescue_cmd_linux): Rename to...
18568 (grub_cmd_linux): and fix prototype.
18569 (grub_rescue_cmd_initrd): Rename to...
18570 (grub_cmd_initrd): and fix prototype.
18571 (cmd_linux, cmd_initrd): New.
18572 (GRUB_MOD_INIT(linux)): Use grub_register_command().
18573 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
18574
d1a282fc 185752009-04-17 Pavel Roskin <proski@gnu.org>
18576
07c5039f 18577 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
18578 format.
18579 (grub_ohci_transfer): Likewise.
18580
b012002d 18581 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
18582
1bc09c35 18583 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
18584 return without a value. Fix inconsistent indentation.
18585
e0ff9126 18586 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
18587 match struct grub_fs.
18588
d1a282fc 18589 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
18590 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
18591 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
18592 * commands/lspci.c (grub_lspci_iter): Likewise.
18593
a96df3f2 185942009-04-16 Bean <bean123ch@gmail.com>
18595
18596 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
18597 value.
18598
41bb0fe9 185992009-04-15 Pavel Roskin <proski@gnu.org>
18600
18601 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
18602 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
18603 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
18604 definitions.
18605
596c6970 186062009-04-15 Felix Zielcke <fzielcke@z-51.de>
18607
18608 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 18609 that no multiple data or metadata areas are supported and `Unknown
596c6970 18610 metadata header'.
18611
7dd4a573 186122009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 18613
18614 Move loader out of the kernel
18615
18616 * kern/loader.c: moved to ...
18617 * commands/boot.c: ... moved here
18618 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
18619 * commands/boot.c (grub_cmd_boot): moved here. All users updated
18620 * include/grub/kernel.h (grub_machine_fini): export
18621 * include/grub/loader.h (grub_loader_is_loaded): update declaration
18622 (grub_loader_set): likewise
18623 (grub_loader_unset): likewise
18624 (grub_loader_boot): likewise
18625 * conf/common.rmk: new module boot.mod
18626 (pkglib_MODULES): add boot.mod
18627 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
18628 (grub_emu_SOURCES): likewise
18629 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
18630 (grub_emu_SOURCES): likewise
18631 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
18632 (grub_emu_SOURCES): likewise
18633 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
18634 (grub_emu_SOURCES): likewise
18635 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
18636 (grub_emu_SOURCES): likewise
7dd4a573 18637 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
18638 (grub_emu_SOURCES): likewise
0d5d5653 18639 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 18640 (grub_emu_SOURCES): likewise
0d5d5653 18641
7dd4a573 186422009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 18643
18644 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 18645
5999d619 18646 * kern/misc.c (grub_itoa): Removed function
18647 (grub_ltoa): likewise
18648 (grub_vsprintf): use grub_lltoa
18649
7dd4a573 186502009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 18651
18652 Restore grub-emu
18653
18654 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
18655 * conf/i386-coreboot.rmk: likewise
18656 * conf/i386-ieee1275.rmk: likewise
18657 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 18658
20318222 186592009-04-15 Felix Zielcke <fzielcke@z-51.de>
18660
18661 * INSTALL: Add that `./autogen.sh' needs to be run before
18662 `./configure.'.
18663
d05f0df3 186642009-04-14 Bean <bean123ch@gmail.com>
18665
18666 * Makefile.in (pkglib_DATA): Add handler.lst.
18667 (handler.lst): New rule.
18668
18669 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
18670 * conf/i386-coreboot.rmk: Likewise.
18671 * conf/i386-ieee1275.rmk: Likewise.
18672 * conf/i386-efi.rmk: Likewise.
18673 * conf/x86_64-efi.rmk: Likewise.
18674 * conf/powerpc-ieee1275.rmk: Likewise.
18675 * conf/sparc64-ieee1275.rmk: Likewise.
18676
18677 * genhandlerlist.sh: New file.
18678
18679 * genmk.rb: Add rules to generate handler.lst.
18680
18681 * include/grub/normal.h (grub_file_getline): New function definition.
18682 (read_handler_list): Likewise.
18683 (free_handler_list): Likewise.
18684
18685 * include/grub/term.h (grub_term_register_input): Add name parameter
18686 for auto generation of handler.lst.
18687 (grub_term_register_output): Likewise.
18688
18689 * normal/handler.c: New file.
18690
18691 * normal/main.c (get_line): Renamed to grub_file_getline.
18692 (read_config_file): Use the newly renamed grub_file_getline.
18693 (read_command_list): Likewise.
18694 (read_fs_list): Likewise.
18695 (grub_normal_execute): Call read_handler_list to parse handler.lst.
18696 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
18697
18698 * term/efi/console.c (grub_console_init): Add name parameter for auto
18699 generation of handler.lst.
18700 * term/gfxterm.c: Likewise.
18701 * term/i386/pc/at_keyboard.c: Likewise.
18702 * term/i386/pc/console.c: Likewise.
18703 * term/i386/pc/serial.c: Likewise.
18704 * term/i386/pc/vesafb.c: Likewise.
18705 * term/i386/pc/vga.c: Likewise.
18706 * term/i386/pc/vga_text.c: Likewise.
18707 * term/ieee1275/ofconsole.c: Likewise.
18708 * term/usb_keyboard.c: Likewise.
18709
33c846be 187102009-04-14 Bean <bean123ch@gmail.com>
18711
18712 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
18713 properly with null character.
18714
4484e01e 187152009-04-14 Felix Zielcke <fzielcke@z-51.de>
18716
18717 * configure: Remove.
18718 * config.h.in: Likewise.
f93d668e 18719 * stamp-h.in: Likewise.
4484e01e 18720 * DISTLIST: Likewise.
18721 * conf/common.mk: Likewise.
18722 * conf/i386-coreboot.mk: Likewise.
18723 * conf/i386-efi.mk: Likewise.
18724 * conf/i386-ieee1275.mk: Likewise.
18725 * conf/i386.mk: Likewise.
18726 * conf/i386-pc.mk: Likewise.
18727 * conf/powerpc-ieee1275.mk: Likewise.
18728 * conf/sparc64-ieee1275.mk: Likewise.
18729 * conf/x86_64-efi.mk: Likewise.
18730
18731 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
18732 develop on GRUB.
18733
7dd4a573 187342009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 18735 David S. Miller <davem@davemloft.net>
18736
18737 * util/hostdisk.c (make_device_name): Fix buffer length
18738 calculations.
18739
e25b5a8c 187402009-04-14 Felix Zielcke <fzielcke@z-51.de>
18741
18742 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
18743 <sys/param.h> and <sys/sysctl.h>.
18744 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
18745 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
18746 opening the device and reset them afterwards.
18747
1f1f580c 187482009-04-13 Pavel Roskin <proski@gnu.org>
18749
18750 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
18751 Reported by John Stanley <jpsinthemix@verizon.net>
18752
7ebc2d6b 187532009-04-13 Robert Millan <rmh@aybabtu.com>
18754
18755 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 18756 that name for menuentries when appropriate.
7ebc2d6b 18757
d8ba3667 187582009-04-13 Felix Zielcke <fzielcke@z-51.de>
18759
18760 * util/grub.d/10_freebsd.in: Add a missing `fi'.
18761
cba416eb 187622009-04-13 Robert Millan <rmh@aybabtu.com>
18763
18764 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
18765 to Linux, simply abort telling the user it's no longer supported.
18766
a547a745 187672009-04-13 Felix Zielcke <fzielcke@z-51.de>
18768
18769 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 18770 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 18771 `freebsd_loadenv' only when devices.hints exist.
18772
232a769c 187732009-04-13 Pavel Roskin <proski@gnu.org>
18774
18775 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
18776
c3012039 187772009-04-13 Felix Zielcke <fzielcke@z-51.de>
18778
18779 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
18780 partition number.
18781 (grub_drive): Likewise.
18782
234022fe 187832009-04-13 David S. Miller <davem@davemloft.net>
18784
18785 * kern/sparc64/ieee1275/ieee1275.c: New file.
18786 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
18787 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
18788 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
18789 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
18790 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
18791 grub_ieee1275_alloc_physmem): Declare new exported functions.
18792
d8e1836c 18793 * include/grub/sparc64/ieee1275/loader.h: New file.
18794 * include/grub/sparc64/ieee1275/memory.h: Likewise.
18795 * include/grub/sparc64/kernel.h: Likewise.
18796 * loader/sparc64/ieee1275/linux.c: Likewise.
18797
96bd81ec 18798 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
18799 (grub_fstest_SOURCES): Likewise.
18800
6a4737e5 18801 * util/hostdisk.c (make_device_name): Do not make any assumptions
18802 about the length of drive names.
18803
1d7a72fd 18804 * kern/dl.c (grub_dl_load_file): Close file immediately when
18805 we are done using it.
18806
56bc2471 188072009-04-12 David S. Miller <davem@davemloft.net>
18808
18809 * kern/misc.c (grub_ltoa): Fix cast when handling negative
18810 values. Noticed by Pavel Roskin.
18811
df38d0bb 18812 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
18813 target compiler.
7dd4a573 18814
e382e93a 18815 * genmk.rb: Add more flexible image type specification, also
18816 pass --strip-unneeded to objcopy.
18817 * conf/i386-pc.rmk: Use *_FORMAT.
18818 * conf/i386-pc.mk: Rebuilt.
18819
f5dbbca9 18820 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
18821 (OFDISK_HASH_SZ): Define.
18822 (ofdisk_hash): New hash table.
18823 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
18824 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
18825 instead of device phandle which is not unique.
18826
91c88b12 18827 * kern/sparc64/ieee1275/init.c: Delete, replace with...
18828 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
18829 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
18830 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
18831 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
18832 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
18833 GRUB_KERNEL_MACHINE_DATA_END): Define.
18834 (grub_kernel_image_size, grub_total_module_size): Declare.
18835
5b5d4aa5 188362009-04-12 Pavel Roskin <proski@gnu.org>
18837
7dd4a573 18838 * configure.ac: Change the logic when we check for target tools.
18839 Do it when the target is specified and it's different from the
18840 specified value of the host.
5b5d4aa5 18841
c91e1793 188422009-04-11 Felix Zielcke <fzielcke@z-51.de>
18843
18844 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
18845 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
18846 GNU/kFreeBSD. Check if a device is a character device. Use
18847 DIOCGMEDIASIZE to get the size.
18848 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
18849 support for GNU/kFreeBSD.
18850 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
18851 is a character device instead of a block device. Add support for
18852 FreeBSD device names.
18853
18854 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
18855 is a character device instead of a block device.
18856
18857 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
18858 is a character device instead of a block device.
18859
b1ac8644 188602009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
18861
18862 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
18863 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
18864 FreeBSD. Check if a device is a character device. Use
18865 DIOCGMEDIASIZE to get the size.
18866 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
18867 support for FreeBSD.
18868 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
18869 is a character device instead of a block device. Add support for
18870 FreeBSD device names.
18871
18872 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
18873 a character device instead of a block device.
18874 (grub_util_check_char_device): New function.
18875
18876 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
18877 a character device instead of a block device.
18878
18879 * include/grub/util/getroot.h (grub_util_check_char_device): New
18880 prototype.
18881
a3f7515a 188822009-04-11 David S. Miller <davem@davemloft.net>
18883
18884 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
18885 static libgcc.
18886 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
18887 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
18888 function, if present.
18889 (__bswapdi2): Likewise.
18890
0d44993d 18891 * include/grub/sparc64/ieee1275/boot.h: New file.
18892 * boot/sparc64/ieee1275/boot.S: Likewise.
18893 * boot/sparc64/ieee1275/diskboot.S: Likewise.
18894
ed3d2bc2 18895 * kern/misc.c (grub_ltoa): New function.
18896 (grub_vsprintf): Use it to format 'long' integers.
18897
d3bfb59c 188982009-04-10 David S. Miller <davem@davemloft.net>
18899
18900 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
18901 slots are of type grub_ieee1275_cell_t.
18902 (grub_nand_read): Likewise.
18903 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
18904 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
18905 macros are used to compare values in arg/ret block of the call.
18906 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18907 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
18908 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
18909 grub_ieee1275_instance_to_path, grub_ieee1275_write,
18910 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
18911 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
18912 grub_ieee1275_close, grub_ieee1275_set_property,
18913 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
18914 grub_ieee1275_cell_t.
18915 * kern/ieee1275/openfw.c (grub_map): Likewise.
18916 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
18917 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
18918
450e2238 18919 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
18920 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
18921 (grub_devalias_iterate): Likewise.
18922
7dd4a573 189232009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 18924
18925 UFS improvements
18926
18927 * fs/ufs.c (INODE_NBLOCKS): new definition
18928 (struct grub_ufs_dirent): added fields for non-BSD dirents
18929 (grub_ufs_get_file_block): fixed double indirect handling
18930 (grub_ufs_lookup_symlink): use more robust way to determine whether
18931 symlink is inline
18932 (grub_ufs_find_file): support for non-BSD dirents
18933 (grub_ufs_dir): support for non-BSD dirents
18934
e7e6862a 189352009-04-10 Bean <bean123ch@gnail.com>
18936
18937 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
18938 attribute, otherwise the size would be wrong for i386 platform.
18939
18940 * include/grub/pci.h (grub_pci_read_word): New inline function.
18941 (grub_pci_read_byte): Likewise.
18942 (grub_pci_write): Likewise.
18943 (grub_pci_write_word): Likewise.
18944 (grub_pci_write_byte): Likewise.
18945
18946 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
18947
18948 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
18949 (find_framebuf): Scan pci to locate the frame buffer address.
18950
18951 * commands/efi/fixvideo.c: New file.
18952
18953 * commands/efi/loadbios.c: Likewise.
18954
18955 * commands/memrw.c: Likewise.
18956
18957 * util/grub-dumpbios.in: Likewise.
18958
18959 * conf/common.rmk (grub-dumpbios): New utility.
18960 (pkglib_MODULES): New module memrw.mod.
18961 (memrw_mod_SOURCE): New macro.
18962 (memrw_mod_CFLAGS): Likewise.
18963 (memrw_mod_LDFLAGS): Likewise.
18964
7dd4a573 18965 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 18966 fixvideo.mod.
18967 (loadbios_mod_SOURCE): New macro.
18968 (loadbios_mod_CFLAGS): Likewise.
18969 (loadbios_mod_LDFLAGS): Likewise.
18970 (fixvideo_mod_SOURCE): Likewise.
18971 (fixvideo_mod_CFLAGS): Likewise.
18972 (fixvideo_mod_LDFLAGS): Likewise.
18973
7dd4a573 18974 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 18975 fixvideo.mod.
18976 (loadbios_mod_SOURCE): New macro.
18977 (loadbios_mod_CFLAGS): Likewise.
18978 (loadbios_mod_LDFLAGS): Likewise.
18979 (fixvideo_mod_SOURCE): Likewise.
18980 (fixvideo_mod_CFLAGS): Likewise.
18981 (fixvideo_mod_LDFLAGS): Likewise.
18982
af63ada2 189832009-04-08 Felix Zielcke <fzielcke@z-51.de>
18984
18985 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
18986
c2cdde70 189872009-04-07 David S. Miller <davem@davemloft.net>
18988
18989 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
18990 support for R_SPARC_OLO10 relocations. Fix compile warning for
18991 R_SPARC_WDISP30 case.
ea3f72cf 18992 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 18993
761319cf 189942009-04-06 Pavel Roskin <proski@gnu.org>
18995
1007d1f5 18996 * include/grub/misc.h (ARRAY_SIZE): New macro.
18997 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
18998 New macro.
18999 * loader/i386/linux.c (allocate_pages): Use free_pages().
19000 (grub_linux_unload): Don't use free_pages().
19001 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
19002 wrong index. Treat all other modes as text modes.
19003 (grub_cmd_linux): Initialize vid_mode unconditionally to
19004 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
19005
761319cf 19006 * commands/help.c (print_command_help): Use cmd->prio, not
19007 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
19008
ea761d40 190092009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 19010
ea761d40 19011 Parttool
19012
19013 * parttool/pcpart.c: new file
19014 * commands/parttool.c: likewise
19015 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
19016 (parttool_mod_SOURCES): new variable
19017 (parttool_mod_CFLAGS): likewise
19018 (parttool_mod_LDFLAGS): likewise
19019 (pcpart_mod_SOURCES): likewise
19020 (pcpart_mod_CFLAGS): likewise
19021 (pcpart_mod_LDFLAGS): likewise
7dd4a573 19022 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 19023 and parttool/pcpart.c
19024 * conf/i386-efi.rmk: likewise
19025 * conf/i386-ieee1275.rmk: likewise
19026 * conf/i386-pc.rmk: likewise
19027 * conf/powerpc-ieee1275.rmk: likewise
19028 * conf/sparc64-ieee1275.rmk: likewise
19029 * conf/x86_64-ieee1275.rmk: likewise
19030
05aaebfb 190312009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19032
19033 Support for mtime and further expandability of dir command
19034
19035 * include/grub/lib/datetime.h: moved to ...
7dd4a573 19036 * include/grub/datetime.h: ... moved here and added
05aaebfb 19037 declaration of grub_unixtime2datetime. All users updated
7dd4a573 19038 * include/grub/fs.h: new syntax for dir and mtime functions in
19039 struct grub_fs
05aaebfb 19040 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
19041 and GRUB_FSHELP_FLAGS_MASK
19042 * commands/ls.c (grub_ls_list_files): Write mtime in long format
19043 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
19044 (grub_ext2_mtime): new function
19045 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
19046 (grub_hfsplus_mtime): new function
19047 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
19048 (GRUB_UFS_ATTR_FILE): likewise
19049 (GRUB_UFS_ATTR_LNK): likewise
19050 (struct grub_ufs_sblock): new fields mtime
19051 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
19052 all users updated
19053 (grub_ufs_dir): mtime support
19054 (grub_ufs_mtime): new function
19055 * fs/affs.c (grub_affs_dir): use new dir syntax
19056 * fs/afs.c (grub_afs_dir): likewise
19057 * fs/cpio.c (grub_cpio_dir): likewise
19058 * fs/fat.c (grub_fat_find_dir): likewise
19059 * fs/hfs.c (grub_hfs_dir): likewise
19060 * fs/iso9660.c (grub_iso9660_dir): likewise
19061 * fs/jfs.c (grub_jfs_dir): likewise
19062 * fs/minix.c (grub_minix_dir): likewise
19063 * fs/ntfs.c (grub_ntfs_dir): likewise
19064 * fs/reiserfs.c (grub_reiserfs_dir): likewise
19065 * fs/sfs.c (grub_sfs_dir): likewise
19066 * fs/xfs.c (grub_xfs_dir): likewise
19067 * util/hostfs.c (grub_hostfs_dir): likewise
19068 * lib/datetime.c: moved to ...
19069 * normal/datetime.c: ... moved here
19070 (grub_unixtime2datetime): new function
19071 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 19072 * normal/completion.c (iterate_dir): use new dir syntax
19073 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 19074 last modification time of a volume
7dd4a573 19075 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 19076 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 19077 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 19078 (normal_mod_SOURCES): likewise
19079 (datetime_mod_SOURCES): Removed lib/datetime.c
19080 * conf/i386-efi.rmk: likewise
7dd4a573 19081 * conf/i386-ieee1275.rmk: likewise
05aaebfb 19082 * conf/i386-pc.rmk: likewise
19083 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 19084 * conf/sparc64-ieee1275.rmk: likewise
19085 * conf/x86_64-efi.rmk: likewise
05aaebfb 19086
8a7e1a14 190872009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19088
19089 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 19090
19091 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 19092 on grub_fat_find_dir
19093 (grub_fat_find_dir): use grub_fat_iterate_dir
19094 (grub_fat_label): likewise
19095
04186a9c 190962009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19097
7dd4a573 19098 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 19099 and command.h
19100 remove extraneous kernel_elf_HEADERS
19101
da4c0bb6 191022009-04-04 Bean <bean123ch@gnail.com>
19103
19104 * include/grub/util/misc.h: Add dummy function fsync for mingw.
19105
19106 * util/misc.c: Likewise.
19107
54ad9555 191082009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19109
19110 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
19111 instead of grub_printf.
19112
7a6bf9f2 191132009-04-03 Robert Millan <rmh@aybabtu.com>
19114
19115 * loader/i386/linux.c (grub_linux_setup_video): Fill
19116 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
19117 values from `mode info' structure instead of hardcoded
19118 values.
19119
3fcc2083 191202009-04-01 Pavel Roskin <proski@gnu.org>
19121
19122 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
19123 unused now.
19124 * genmk.rb: Likewise.
19125 * configure.ac: Likewise.
19126
5ec9740b 191272009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
19128
19129 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
19130 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
19131
5270cec8 191322009-04-01 David S. Miller <davem@davemloft.net>
19133
19134 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 19135 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 19136 (grub_setjmp): Mark with 'returns_twice' attribute.
19137 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
19138 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
19139 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
19140
9c3dd854 191412009-04-01 Robert Millan <rmh@aybabtu.com>
19142
19143 Reapply fix from 2008-07-28 which was accidentally reverted; also
19144 perform the same fix to a similar check in same function.
19145
19146 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19147 with the same number are found, just use issue a warning with
19148 grub_dprintf(), as this error has been reported to be non-fatal.
19149
0d818b7e 191502009-03-31 Pavel Roskin <proski@gnu.org>
19151
19152 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
19153 for cross-compilation.
19154
95646d92 191552009-03-30 Robert Millan <rmh@aybabtu.com>
19156
19157 Fix i386-ieee1275 build.
19158
19159 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
19160 Remove declaration.
19161
6a003ed1 191622009-03-30 Pavel Roskin <proski@gnu.org>
19163
19164 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
19165 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
19166 zero-terminated, rely only on the strlen value. Fix comparison
19167 of strings differing in length.
19168
92f33540 191692009-03-30 Robert Millan <rmh@aybabtu.com>
19170
19171 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
19172 checking for abi version. Improve error messages on BIOS to notify
19173 user about `linux16' command.
19174
a8c48fd5 191752009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19176
f968172e 19177 Leak fixes
a8c48fd5 19178
f968172e 19179 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
19180 in case of collision
19181 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 19182
9c323f09 191832009-03-29 Robert Millan <rmh@aybabtu.com>
19184
19185 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
19186 set `vid_mode' accordingly.
19187 (grub_linux_boot): Process `vid_mode' and set video mode.
19188
ae68f423 191892009-03-29 Robert Millan <rmh@aybabtu.com>
19190
19191 * util/grub.d/10_linux.in (linux_entry): New function.
19192 Factorize generation of Linux boot entries.
19193
5709cfc4 191942009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
19195
19196 Make the format of Environment Block plain text. The boot loader
19197 part is not tested well yet.
7dd4a573 19198
5709cfc4 19199 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
19200 (buffer): Removed.
19201 (envblk): Likewise.
19202 (usage): Remove "info" and "clear". Add "unset". Update the
19203 description of "set", as this does not delete variables any
19204 longer.
19205 (create_envblk_file): Complete rewrite.
19206 (open_envblk_file): Likewise.
19207 (cmd_info): Removed.
19208 (cmd_list): Likewise.
19209 (cmd_set): Likewise.
19210 (cmd_clear): Likewise.
19211 (list_variables): New function.
19212 (write_envblk): Likewise.
19213 (set_variables): Likewise.
19214 (unset_variables): Likewise.
19215 (main): Complete rewrite.
19216
19217 * commands/loadenv.c (buffer): Removed.
19218 (envblk): Likewise.
19219 (open_envblk_file): New function.
19220 (read_envblk_file): Complete rewrite.
19221 (grub_cmd_load_env): Likewise.
19222 (grub_cmd_list_env): Likewise.
19223 (struct blocklist): New struct.
19224 (free_blocklists): New function.
19225 (check_blocklists): Likewise.
19226 (write_blocklists): Likewise.
19227 (grub_cmd_save_env): Complete rewrite.
19228
19229 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
19230 a plain text signature.
19231 (GRUB_ENVBLK_MAXLEN): Removed.
19232 (struct grub_envblk): Complete rewrite.
19233 (grub_envblk_find): Removed.
19234 (grub_envblk_insert): Likewise.
19235 (grub_envblk_open): New prototype.
19236 (grub_envblk_set): Likewise.
19237 (grub_envblk_delete): Put const to VALUE.
19238 (grub_envblk_iterate): Put const to NAME and VALUE.
19239 (grub_envblk_close): New prototype.
19240 (grub_envblk_buffer): New inline function.
19241 (grub_envblk_size): Likewise.
19242
19243 * lib/envblk.c: Include grub/mm.h.
19244 (grub_env_find): Removed.
19245 (grub_envblk_open): New function.
19246 (grub_envblk_close): Likewise.
19247 (escaped_value_len): Likewise.
19248 (find_next_line): Likewise.
19249 (grub_envblk_insert): Removed.
19250 (grub_envblk_set): New function.
19251 (grub_envblk_delete): Complete rewrite.
19252 (grub_envblk_iterate): Likewise.
19253
a9368fd3 192542009-03-28 Robert Millan <rmh@aybabtu.com>
19255
19256 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
19257 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
19258 variables. Use 16-bit loader.
19259 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
19260 loader.
19261 * kern/i386/loader.S (grub_linux_boot): Rename to ...
19262 (grub_linux16_boot): ... this. Update all users.
19263 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
19264 (grub_linux_boot): ... this. Update all users.
19265
19266 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
19267 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
19268 commands to `linux16' and `initrd16'.
19269 (GRUB_MOD_FINI(linux)): Rename to ...
19270 (GRUB_MOD_FINI(linux16)): ... this.
19271
e4dd5a7e 192722009-03-24 Pavel Roskin <proski@gnu.org>
19273
19274 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
19275 not just for compilation.
19276
c04d6e05 192772009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
19278
19279 Move multiboot helper out of kernel
19280
19281 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
19282 `loader/i386/multiboot_helper.S'.
19283 * conf/i386-coreboot.rmk: Likewise
19284 * conf/i386-ieee1275.rmk: Likewise
19285
19286 * kern/i386/loader.S: Move multiboot helpers from here...
19287 * loader/i386/multiboot_helper.S: ...moved here
19288 * include/grub/i386/loader.h: Move declarations of multiboot
19289 helpers from here...
19290 * include/grub/i386/multiboot.h: ...moved here
19291 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
19292
42a5b3fc 192932009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19294
19295 * kern/env.c (grub_env_context_open): Added an argument to specify
19296 whether a new context inherits exported variables from current
19297 one. This is useful when making a sandbox to interpret a config
19298 file.
19299 All callers updated.
19300
19301 * include/grub/env.h (grub_env_context_open): Updated the prototype.
19302
b28bbc4e 193032009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19304
19305 * kern/env.c (grub_env_context_close): Fix memory leaks.
19306
f04f02e4 193072009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19308
19309 * normal/main.c (grub_normal_execute): Added an argument
19310 BATCH to specify if an interactive interface should be provided
19311 after reading a config file.
19312 All callers updated.
19313 (read_command_list): Prevent being executed twice.
19314 (read_fs_list): Likewise.
19315
42a5b3fc 19316 * include/grub/normal.h (grub_normal_execute): Updated the
19317 prototype.
f04f02e4 19318
41473ac2 193192009-03-22 Pavel Roskin <proski@gno.org>
19320
fbc00b0c 19321 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
19322 _start.
19323 * kern/i386/pc/startup.S: Likewise.
19324 * kern/i386/efi/startup.S: Likewise.
19325 * kern/i386/ieee1275/startup.S: Likewise.
19326 * kern/i386/coreboot/startup.S: Likewise.
19327 * kern/x86_64/efi/startup.S: Likewise.
19328
41473ac2 19329 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
19330 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
19331 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
19332
2274cc8f 193332009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
19334
19335 Bugfixes in multiboot for bugs uncovered by solaris kernel.
19336
19337 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
19338 limit detection.
19339 Use vaddr of correct segment for entry_point.
19340
b1b797cb 193412009-03-21 Bean <bean123ch@gmail.com>
19342
19343 * commands/blocklist.c: Add include file <grub/command.h>, remove
19344 <grub/normal.h> and <grub/arg.h>.
19345 (grub_cmd_blocklist): Use the new command interface.
19346 (GRUB_MOD_INIT): Likewise.
19347 (GRUB_MOD_FINI): Likewise.
19348 * commands/boot.c: Likewise.
19349 * commands/cat.c: Likewise.
19350 * commands/cmp.c: Likewise.
19351 * commands/configfile.c: Likewise.
19352 * commands/crc.c: Likewise.
19353 * commands/echo.c: Likewise.
19354 * commands/halt.c: Likewise.
19355 * commands/handler.c: Likewise.
19356 * commands/hdparm.c: Likewise.
19357 * commands/help.c: Likewise.
19358 * commands/hexdump.c: Likewise.
19359 * commands/loadenv.c: Likewise.
19360 * commands/ls.c: Likewise.
19361 * commands/lsmmap.c: Likewise.
19362 * commands/lspci.c: Likewise.
19363 * commands/loadenv.c: Likewise.
19364 * commands/read.c: Likewise.
19365 * commands/reboot.c: Likewise.
19366 * commands/search.c: Likewise.
19367 * commands/sleep.c: Likewise.
19368 * commands/test.c: Likewise.
19369 * commands/usbtest.c: Likewise.
19370 * commands/videotest.c: Likewise.
19371 * commands/i386/cpuid.c: Likewise.
19372 * commands/i386/pc/halt.c: Likewise.
19373 * commands/i386/pc/play.c: Likewise.
19374 * commands/i386/pc/pxecmd.c: Likewise.
19375 * commands/i386/pc/vbeinfo.c: Likewise.
19376 * commands/i386/pc/vbetest.c: Likewise.
19377 * commands/ieee1275/suspend.c: Likewise.
19378 * disk/loopback.c: Likewise.
19379 * font/font_cmd.c: Likewise.
19380 * hello/hello.c: Likewise.
19381 * loader/efi/appleloader.c: Likewise.
19382 * loader/efi/chainloader.c: Likewise.
19383 * loader/i386/bsd.c: Likewise.
19384 * loader/i386/efi/linux.c: Likewise.
19385 * loader/i386/ieee1275/linux.c: Likewise.
19386 * loader/i386/linux.c: Likewise.
19387 * loader/i386/pc/chainloader.c: Likewise.
19388 * loader/i386/pc/linux.c: Likewise.
19389 * loader/powerpc/ieee1275/linux.c: Likewise.
19390 * loader/multiboot_loader.c: Likewise.
19391 * term/gfxterm.c: Likewise.
19392 * term/i386/pc/serial.c: Likewise.
19393 * term/terminfo.c: Likewise.
19394
19395 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
19396 * term/i386/pc/vga.c: Likewise.
19397 * video/readers/jpeg.c: Likewise.
19398 * video/readers/png.c: Likewise.
19399 * video/readers/tga.c: Likewise.
19400
19401 * util/grub-fstest (cmd_loopback): Removed.
19402 (cmd_blocklist): Likewise.
19403 (cmd_ls): Likewise.
19404 (grub_register_command): Likewise.
19405 (grub_unregister_command): Likewise.
19406 (execute_command): Use grub_command_find to locate command and execute
19407 it.
19408
19409 * include/grub/efi/chainloader.h: Removed.
19410 * loader/efi/chainloader_normal.c: Likewise.
19411 * loader/i386/bsd_normal.c: Likewise.
19412 * loader/i386/pc/chainloader_normal.c: Likewise.
19413 * loader/i386/pc/multiboot_normal.c: Likewise.
19414 * loader/linux_normal.c: Likewise.
19415 * loader/multiboot_loader_normal.c: Likewise.
19416 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
19417
19418 * gencmdlist.sh: Scan new registration command grub_register_extcmd
19419 and grub_register_command_p1.
19420
19421 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
19422 kern/command.c, lib/arg.c and commands/extcmd.c.
19423 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
19424 (minicmd_mod_SOURCES): New variable.
19425 (minicmd_mod_CFLAGS): Likewise.
19426 (minicmd_mod_LDFLAGS): Likewise.
19427 (extcmd_mod_SOURCES): Likewise.
19428 (extcmd_mod_CFLAGS): Likewise.
19429 (extcmd_mod_LDFLAGS): Likewise.
19430 (boot_mod_SOURCES): Removed.
19431 (boot_mod_CFLAGS): Likewise.
19432 (boot_mod_LDFLAGS): Likewise.
19433
19434 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
19435 kern/corecmd.c.
19436 (kernel_img_HEADERS): Add command.h.
19437 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
19438 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
19439 and lib/arg.c.
19440 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
19441 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
19442 remove the corresponding normal mode command.
19443 (normal_mod_SOURCES): Remove normal/arg.c.
19444 * conf/i386-coreboot.rmk: Likewise.
19445 * conf/i386-efi.rmk: Likewise.
19446 * conf/i386-ieee1275.rmk: Likewise.
19447 * conf/powerpc-ieee1275.rmk: Likewise.
19448 * conf/x86_64-efi.rmk: Likewise.
19449
19450 * include/grub/arg.h: Move from here ...
19451 * include/grub/lib/arg.h: ... to here.
19452
19453 * normal/arg.c: Move from here ...
19454 * lib/arg.c: ... to here.
19455
19456 * commands/extcmd.c: New file.
19457 * commands/minicmd.c: Likewise.
19458 * include/grub/command.h: Likewise.
19459 * include/grub/extcmd.h: Likewise.
19460 * kern/command.c: Likewise.
19461 * kern/corecmd.c: Likewise.
19462
19463 * kern/list.c (grub_list_iterate): Return int instead of void.
19464 (grub_list_insert): New function.
19465 (grub_prio_list_insert): Likewise.
19466
19467 * kern/rescue.c (grub_rescue_command): Removed.
19468 (grub_rescue_command_list): Likewise.
19469 (grub_rescue_register_command): Likewise.
19470 (grub_rescue_unregister_command): Likewise.
19471 (grub_rescue_cmd_boot): Move to minicmd.c
19472 (grub_rescue_cmd_help): Likewise.
19473 (grub_rescue_cmd_info): Likewise.
19474 (grub_rescue_cmd_boot): Likewise.
19475 (grub_rescue_cmd_testload): Likewise.
19476 (grub_rescue_cmd_dump): Likewise.
19477 (grub_rescue_cmd_rmmod): Likewise.
19478 (grub_rescue_cmd_lsmod): Likewise.
19479 (grub_rescue_cmd_exit): Likewise.
19480 (grub_rescue_print_devices): Moved to corecmd.c.
19481 (grub_rescue_print_files): Likewise.
19482 (grub_rescue_cmd_ls): Likewise.
19483 (grub_rescue_cmd_insmod): Likewise.
19484 (grub_rescue_cmd_set): Likewise.
19485 (grub_rescue_cmd_unset): Likewise.
7d074e3c 19486 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 19487 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 19488 commands, remove grub_rescue_register_command calls.
b1b797cb 19489
7d074e3c 19490 * normal/command.c (grub_register_command): Removed.
b1b797cb 19491 (grub_unregister_command): Likewise.
19492 (grub_command_find): Likewise.
19493 (grub_iterate_commands): Likewise.
19494 (rescue_command): Likewise.
19495 (export_command): Moved to corecmd.c.
19496 (set_command): Removed.
19497 (unset_command): Likewise.
19498 (insmod_command): Likewise.
19499 (rmmod_command): Likewise.
19500 (lsmod_command): Likewise.
19501 (grub_command_init): Likewise.
19502
19503 * normal/completion.c (iterate_command): Use cmd->prio to check for
19504 active command.
19505 (complete_arguments): Use grub_extcmd_t structure to find options.
19506 (grub_normal_do_completion): Change function grub_iterate_commands to
19507 grub_command_iterate.
19508
19509 * normal/execute.c (grub_script_execute_cmd): No need to parse
19510 argument here.
19511
19512 * normal/main.c (grub_dyncmd_dispatcher): New function.
19513 (read_command_list): Register unload commands as dyncmd.
19514 (grub_cmd_normal): Use new command interface, register rescue,
19515 unregister normal at entry, register normal, unregister rescue at exit.
19516
19517 * include/grub/list.h (grub_list_test_t): New type.
19518 (grub_list_iterate): Return int instead of void.
19519 (grub_list_insert): New function.
19520 (GRUB_AS_NAMED_LIST_P): New macro.
19521 (GRUB_AS_PRIO_LIST): Likewise.
19522 (GRUB_AS_PRIO_LIST_P): Likewise.
19523 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
19524 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
19525 (grub_prio_list): New structure.
19526 (grub_prio_list_insert): New function.
19527 (grub_prio_list_remove): New inline function.
19528
19529 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
19530 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
19531 (GRUB_COMMAND_FLAG_MENU): Likewise.
19532 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19533 (GRUB_COMMAND_FLAG_TITLE): Likewise.
19534 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19535 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
19536 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
19537 (grub_command): Likewise.
19538 (grub_register_command): Likewise.
19539 (grub_command_find): Likewise.
19540 (grub_iterate_commands): Likewise.
19541 (grub_command_init): Likewise.
19542 (grub_arg_parse): Likewise.
19543 (grub_arg_show_help): Likewise.
19544
19545 * include/grub/rescue.h (grub_rescue_register_command): Removed.
19546 (grub_rescue_unregister_command): Likewise.
19547
19548 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
19549 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
19550 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
19551
19552 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
19553 grub_rescue_cmd_initrd.
19554 * include/grub/i386/loader.h: Likewise.
19555 * include/grub/x86_64/loader.h: Likewise.
19556
19557 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
19558
1f4147aa 195592009-03-21 Bean <bean123ch@gmail.com>
19560
19561 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
19562 instead of stat in mingw environment.
19563
19564 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
19565
19566 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
19567
19568 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
19569 AC_CONFIG_LINKS.
19570
2156d5ba 195712009-03-21 Bean <bean123ch@gmail.com>
19572
19573 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
19574 out of range error.
19575
177b82ca 195762009-03-18 Michel Dänzer <michel@daenzer.net>
19577
19578 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
19579 checking inode flags for EXT4_EXTENTS_FLAG.
19580
14aad807 195812009-03-18 Robert Millan <rmh@aybabtu.com>
19582
19583 * loader/i386/linux.c: Include `<grub/video.h>' and
19584 `<grub/i386/pc/vbe.h>'..
19585 (grub_linux_setup_video): New function. Loosely based on the EFI one.
19586 (grub_linux32_boot): Attempt to configure video settings with
19587 grub_linux_setup_video().
19588 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
19589 to avoid grub_console_fini() which would step out of graphical mode
19590 unconditionally.
19591
8cf83a27 195922009-03-14 Robert Millan <rmh@aybabtu.com>
19593
19594 Fix build on powerpc.
19595 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
19596
40164e75 195972009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
19598
19599 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
19600 background image command.
19601
c58bc32a 196022009-03-12 Colin D Bennett <colin@gibibit.com>
19603
19604 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
19605 (grub_gfxterm_putchar): Extract pairs of identical calls to
19606 draw_cursor out of conditional blocks.
19607
5415144a 196082009-03-11 Pavel Roskin <proski@gnu.org>
19609
19610 * fs/hfs.c (grub_hfs_strncasecmp): New function.
19611 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
19612
6394042e 196132009-03-11 Robert Millan <rmh@aybabtu.com>
19614
19615 * loader/i386/multiboot_elfxx.c
19616 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
19617
b7b50e5f 196182009-03-11 Felix Zielcke <fzielcke@z-51.de>
19619
19620 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
19621 `kern/handler.c'.
19622
1ca7fc96 196232009-03-11 Robert Millan <rmh@aybabtu.com>
19624
19625 * loader/i386/multiboot.c (code_size): New variable.
19626 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 19627 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 19628 4-byte alignment to MBI and others by increasing
7d074e3c 19629 `boot_loader_name_length' appropriately.
1ca7fc96 19630
19631 * loader/i386/multiboot_elfxx.c
19632 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
19633
a83ea1d2 196342009-03-09 Felix Zielcke <fzielcke@z-51.de>
19635
19636 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
19637 `fs/ext2.c'.
19638
aa9f3bff 196392009-03-08 Robert Millan <rmh@aybabtu.com>
19640
19641 Make loader/i386/linux.c usable on i386-pc again.
19642
19643 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
19644 memory to heap.
19645 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
19646 `#error' stanza.
19647
d8b3b60e 196482009-03-07 Bean <bean123ch@gmail.com>
19649
19650 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
19651 allocation.
19652
b362c9e9 196532009-03-06 Robert Millan <rmh@aybabtu.com>
19654
19655 Fix display issue on terminals with screen size other than 80x25
19656 (e.g. gfxterm with resolution higher than 640x480).
19657
19658 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 19659 position relative to the center of the terminal instead of relying
b362c9e9 19660 on a hardcoded offset.
19661
9304eef1 196622009-03-04 Robert Millan <rmh@aybabtu.com>
19663
19664 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
19665 installed.
19666
19667 * Makefile.in (host_kernel): New variable.
19668 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
19669 scripts instead of just the windows one.
19670 * configure.ac: Initialize and AC_SUBST `host_kernel'.
19671
eabc95fb 196722009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 19673
19674 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
19675 `kern/handler.c'.
19676 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19677 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19678 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19679 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19680 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19681 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19682
ceb1223c 196832009-03-04 Felix Zielcke <fzielcke@z-51.de>
19684
19685 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
19686 or if there's no space for the disk label and print the partition number on a
19687 invalid magic.
19688
4910684a 196892009-03-04 Felix Zielcke <fzielcke@z-51.de>
19690
19691 * util/misc.c: Include <time.h>.
19692 (grub_millisleep): New function.
19693
7e9ca17a 196942009-03-04 Bean <bean123ch@gmail.com>
19695
19696 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
19697 another option -mno-red-zone.
19698
19699 * commands/handler.c: Change module description.
19700
19701 * kern/handler.c: Add missing space at the end of description line.
19702
19703 * kern/list.c: Likewise.
19704
f501677c 197052009-03-03 Robert Millan <rmh@aybabtu.com>
19706
19707 Move more components to the relocation area, and fix mbi pointer
19708 handling to use the destination rather than the origin (thanks to
19709 Vladimir Serbinenko for spotting).
19710
19711 * loader/i386/multiboot.c (mbi_dest): New variable.
19712 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
19713 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
19714 relocation area.
19715
9902d047 197162009-03-01 Bean <bean123ch@gmail.com>
19717
50fb7002 19718 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 19719 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
19720 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
19721 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
19722
19723 * loader/i386/efi/linux.c (acpi_guid): New variable.
19724 (acpi_guid): Likewise.
19725 (EBDA_SEG_ADDR): New constant.
19726 (LOW_MEM_ADDR): Likewise.
19727 (FAKE_EBDA_SEG): Likewise.
19728 (fake_bios_data): New function.
19729 (grub_linux_boot): Call fake_bios_data.
19730
71b9f361 197312009-03-01 Bean <bean123ch@gmail.com>
19732
19733 * commands/terminal.c: Removed.
19734
19735 * commands/handler.c: New file.
19736
19737 * include/grub/list.h: Likewise.
19738
19739 * include/grub/handler.h: Likewise.
19740
19741 * kern/list.c: Likewise.
19742
19743 * kern/handler.c: Likewise.
19744
19745 * kern/term.h: Include header file <grub/handler.h>.
19746 (grub_term_input): Move next field to the beginning.
19747 (grub_term_output): Likewise.
19748 (grub_term_input_class): New variable.
19749 (grub_term_output_class): Likewise.
19750 (grub_term_register_input): Changed to inline function.
19751 (grub_term_register_output): Likewise.
19752 (grub_term_unregister_input): Likewise.
19753 (grub_term_unregister_output): Likewise.
19754 (grub_term_set_current_input): Likewise.
19755 (grub_term_set_current_output): Likewise.
19756 (grub_term_get_current_input): Likewise.
19757 (grub_term_get_current_output): Likewise.
19758 (grub_term_iterate_input): Removed.
19759 (grub_term_iterate_output): Likewise.
19760
19761 * kern/term.c (grub_term_list_input): Removed.
19762 (grub_term_list_output): Likewise.
19763 (grub_term_input_class): New variable.
19764 (grub_term_output_class): Likewise.
50fb7002 19765 (grub_cur_term_input): Change variable as macro.
71b9f361 19766 (grub_cur_term_output): Likewise.
19767 (grub_term_register_input): Removed.
19768 (grub_term_register_output): Likewise.
19769 (grub_term_unregister_input): Likewise.
19770 (grub_term_unregister_output): Likewise.
19771 (grub_term_set_current_input): Likewise.
19772 (grub_term_set_current_output): Likewise.
19773 (grub_term_iterate_input): Likewise.
19774 (grub_term_iterate_output): Likewise.
19775 (grub_term_get_current_input): Likewise.
19776 (grub_term_get_current_output): Likewise.
19777
19778 * util/grub-editenv.c: Include header file <grub/handler.h>.
19779 (grub_term_get_current_input): Removed.
19780 (grub_term_get_current_output): Likewise.
19781 (grub_term_input_class): New variable.
50fb7002 19782 (grub_term_output_class): Likewise.
71b9f361 19783
19784 * util/grub-fstest.c (grub_term_get_current_input): Removed.
19785 (grub_term_get_current_output): Likewise.
19786 (grub_term_input_class): New variable.
50fb7002 19787 (grub_term_output_class): Likewise.
71b9f361 19788
19789 * util/grub-probe.c (grub_term_get_current_input): Removed.
19790 (grub_term_get_current_output): Likewise.
19791 (grub_term_input_class): New variable.
50fb7002 19792 (grub_term_output_class): Likewise.
71b9f361 19793
19794 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
19795 (grub_term_get_current_output): Likewise.
19796 (grub_term_input_class): New variable.
50fb7002 19797 (grub_term_output_class): Likewise.
71b9f361 19798
19799 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
19800 (terminal_mod_SOURCES): Likewise.
19801 (terminal_mod_CFLAGS): Likewise.
19802 (terminal_mod_LDFLAGS): Likewise.
19803
19804 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
19805 handler.c.
19806 (kernel_img_SOURCES): Add list.c and handler.c.
19807 (kernel_img_HEADERS): Add list.h and handler.h.
19808
19809 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
19810 handler.c.
19811 (kernel_mod_SOURCES): Add list.c and handler.c.
19812 (kernel_mod_HEADERS): Add list.h and handler.h.
19813
19814 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
19815 handler.c.
19816 (kernel_elf_SOURCES): Add list.c and handler.c.
19817 (kernel_elf_HEADERS): Add list.h and handler.h.
19818
19819 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
19820 handler.c.
19821 (kernel_elf_SOURCES): Add list.c and handler.c.
19822 (kernel_elf_HEADERS): Add list.h and handler.h.
19823
19824 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
19825 handler.c.
19826 (kernel_mod_SOURCES): Add list.c and handler.c.
19827 (kernel_mod_HEADERS): Add list.h and handler.h.
19828
19829 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
19830 handler.c.
19831 (kernel_elf_SOURCES): Add list.c and handler.c.
19832 (kernel_elf_HEADERS): Add list.h and handler.h.
19833
8a31787f 198342009-02-27 Robert Millan <rmh@aybabtu.com>
19835
19836 Factorize elf32 / elf64 code in Multiboot loader. This will
19837 prevent it from getting out of sync again.
19838
19839 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
19840 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
19841 grub_multiboot_load_elf64): Move from here ...
19842 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
19843 grub_multiboot_load_elf): ... to here (new file).
19844
51cd3dfc 198452009-02-27 Robert Millan <rmh@aybabtu.com>
19846
19847 * util/grub.d/10_linux.in: Rename "single-user mode" to
19848 "recovery mode".
19849
6e8c9c3a 198502009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 Don't leak in SCSI code.
19853 * disk/scsi.c (grub_scsi_close): free `scsi'.
19854
4b6bf4f9 198552009-02-27 Robert Millan <rmh@aybabtu.com>
19856
19857 * loader/i386/pc/multiboot.c: Move from here ...
19858 * loader/i386/multiboot.c: ... to here. Update all users.
19859
b9413424 198602009-02-27 Robert Millan <rmh@aybabtu.com>
19861
19862 Patch from Alexandre Bique <bique.alexandre@gmail.com>
19863 * util/i386/pc/grub-setup.c (setup): Fix directory path.
19864
50fb7002 198652009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 19866
19867 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
19868 b-tree.
19869
8cc50345 198702009-02-27 Robert Millan <rmh@aybabtu.com>
19871
19872 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
19873 `0x' qualifier as 0 when base is specified as parameter).
19874
6e09b8b7 198752009-02-24 Bean <bean123ch@gmail.com>
19876
19877 * configure.ac: Check for -mcmodel=large in x86_64 target.
19878
19879 * include/grub/efi/api.h (efi_call_10): New macro.
19880 (efi_wrap_10): New function.
19881
19882 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
19883 (GRUB_PE32_REL_BASED_HIGH): Likewise.
19884 (GRUB_PE32_REL_BASED_LOW): Likewise.
19885 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
19886 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
19887 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
19888 (GRUB_PE32_REL_BASED_SECTION): Likewise.
19889 (GRUB_PE32_REL_BASED_REL): Likewise.
19890 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
19891 (GRUB_PE32_REL_BASED_DIR64): Likewise.
19892 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
19893
19894 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
19895 issue.
19896
19897 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
19898 (efi_wrap_10): New function.
19899
19900 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
19901
19902 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
19903 MB/MBP model (NV chipset).
19904 (devdata_devs): Add devpath_5 to the list.
19905
19906 * load/i386/efi/linux.c (video_base): Remove variable.
19907 (RGB_MASK): New macro.
19908 (RGB_MAGIC): Likewise.
19909 (LINE_MIN): Likewise.
19910 (LINE_MAX): Likewise.
19911 (FBTEST_STEP): Likewise.
19912 (FBTEST_COUNT): Likewise.
19913 (fb_list): New variable.
19914 (grub_find_video_card): Remove function.
19915 (find_framebuf): New function.
19916 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
19917 line length.
19918
19919 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
19920 problem for x86_64.
19921
74b21bee 199222009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
19923
19924 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
19925
19926 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
19927 coding tool name.
19928
a455f472 199292009-02-22 Robert Millan <rmh@aybabtu.com>
19930
19931 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
19932 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
19933 in our relocation, instead of using it directly from heap. Also
19934 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
19935
6374daf3 199362009-02-21 Robert Millan <rmh@aybabtu.com>
19937
19938 Implement USB keyboard support (based on patch by Marco Gerards)
19939
19940 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
19941 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
19942 (usb_keyboard_mod_LDFLAGS): New variables.
19943
19944 * term/usb_keyboard.c: New file.
19945
8fa4ea70 199462009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19947
19948 Corrected wrong declaration
19949
19950 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
19951
353976ac 199522009-02-14 Christian Franke <franke@computer.org>
19953
19954 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
19955 (grub_lspci_iter): Print class code and programming interface byte.
19956
6aa1169b 199572009-02-14 Christian Franke <franke@computer.org>
19958
19959 * gendistlist.sh: Ignore `.svn' directories.
19960
265372ca 199612009-02-14 Felix Zielcke <fzielcke@z-51.de>
19962
19963 * fs/fat.c: Add 2009 to Copyright line.
19964
9ff516f3 199652009-02-14 Christian Franke <franke@computer.org>
19966
19967 * commands/hdparm.c: New file. Provides `hdparm' command
19968 which sends ATA commands via grub_disk_ata_pass_through ().
19969
19970 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
19971
19972 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
19973 and <grub/cpu/io.h> to include/grub/ata.h.
19974 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
19975 (GRUB_CDROM_SECTOR_SIZE): Remove.
19976 (GRUB_ATA_*): Move to include/grub/ata.h.
19977 (GRUB_ATAPI_*): Likewise.
19978 (enum grub_ata_commands): Likewise.
19979 (enum grub_ata_timeout_milliseconds): Likewise.
19980 (struct grub_ata_device): Likewise.
19981 (grub_ata_regset): Likewise.
19982 (grub_ata_regget): Likewise.
19983 (grub_ata_regset2): Likewise.
19984 (grub_ata_regget2): Likewise.
19985 (grub_ata_check_ready): Likewise.
19986 (grub_ata_wait_not_busy): Remove static, exported in
19987 include/grub/ata.h.
19988 (grub_ata_wait_drq): Likewise.
19989 (grub_ata_pio_read): Likewise.
19990
19991 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
19992 function for hdparm.mod.
19993
19994 * include/grub/ata.h: New file, contains declarations from
19995 disk/ata.c.
19996 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
19997
19998 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
19999 (grub_disk_ata_pass_through): New exported variable.
20000
20001 * kern/disk.c (grub_disk_ata_pass_through): New variable.
20002
772e23da 200032009-02-13 Colin D Bennett <colin@gibibit.com>
20004
20005 Support multiple fallback entries, and provide an API to support
20006 executing default+fallback menu entries. Renamed the `terminal' menu
20007 viewer to `text'.
20008
20009 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
20010 variable declaration.
20011 (grub_menu_execute_callback): New structure declaration.
20012 (grub_menu_execute_callback_t): New typedef.
20013 (grub_menu_execute_with_fallback): New function declaration.
20014 (grub_menu_get_entry): Likewise.
20015 (grub_menu_get_timeout): Likewise.
20016 (grub_menu_set_timeout): Likewise.
20017
20018 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
20019
20020 * normal/menu.c (grub_wait_after_message): Moved to
20021 `normal/menu_text.c'.
20022 (draw_border): Likewise.
20023 (print_message): Likewise.
20024 (print_entry): Likewise.
20025 (print_entries): Likewise.
20026 (grub_menu_init_page): Likewise.
20027 (get_entry_number): Likewise.
20028 (print_timeout): Likewise.
20029 (run_menu): Likewise.
20030 (grub_menu_execute_entry): Likewise.
20031 (show_text_menu): Likewise.
20032 (get_and_remove_first_entry_number): New function.
20033 (grub_menu_execute_with_fallback): Likewise.
20034 (get_entry): Renamed to ...
20035 (grub_menu_get_entry): .. this and made it global.
20036 (get_timeout): Renamed to ...
20037 (grub_menu_get_timeout): ... this and made it global.
20038 (set_timeout): Renamed to ...
20039 (grub_menu_set_timeout): ... this and made it global.
20040 (grub_normal_terminal_menu_viewer): Renamed to ...
20041 (grub_normal_text_menu_viewer): ... this.
20042
20043 * normal/menu_text.c: New file. Extracted text-menu-specific code
20044 from normal/menu.c.
20045
20046 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
20047 (normal_mod_SOURCES): Likewise.
20048
20049 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20050 (normal_mod_SOURCES): Likewise.
20051
20052 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20053 (normal_mod_SOURCES): Likewise.
20054
20055 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
20056 (normal_mod_SOURCES): Likewise.
20057
20058 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20059 (normal_mod_SOURCES): Likewise.
20060
20061 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20062 (normal_mod_SOURCES): Likewise.
20063
20064 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20065 (normal_mod_SOURCES): Likewise.
20066
16ac430e 200672009-02-11 Robert Millan <rmh@aybabtu.com>
20068
20069 * util/grub.d/00_header.in: Update old reference to `font' command.
20070
06ff20fc 200712009-02-10 Felix Zielcke <fzielcke@z-51.de>
20072
20073 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
20074
20075 Based on patch from Javier Martín.
20076
96da9407 200772009-02-09 Felix Zielcke <fzielcke@z-51.de>
20078
20079 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 20080 to avoid false positives with FAT.
96da9407 20081 (grub_fstest_SOURCES): Likewise.
20082 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20083 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20085 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20086 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20087 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20088
6dca6fe4 200892009-02-09 Felix Zielcke <fzielcke@z-51.de>
20090
06ff20fc 20091 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 20092 bpb.version_specific.fat12_or_fat16.fstype and
20093 bpb.version_specific.fat32.fstype.
20094
2550c62f 200952009-02-08 Robert Millan <rmh@aybabtu.com>
20096
be110b30 20097 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 20098
56978920 200992009-02-08 Robert Millan <rmh@aybabtu.com>
20100
20101 * Makefile.in (host_os, host_cpu): New variables.
20102 (target_os): Remove. Update all users.
20103
d64399b5 201042009-02-08 Marco Gerards <marco@gnu.org>
20105
20106 * Makefile.in (enable_grub_emu_usb): New variable.
20107 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
20108 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
20109 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
20110 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
20111 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
20112 `usbtest.mod' and `usbms.mod'.
20113 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
20114 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
20115 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
20116 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
20117 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
20118 variables.
20119
20120 * disk/usbms.c: New file.
20121
20122 * include/grub/usb.h: Likewise.
20123
20124 * include/grub/usbtrans.h: Likewise.
20125
20126 * include/grub/usbdesc.h: Likewise.
20127
20128 * bus/usb/usbtrans.c: Likewise.
20129
20130 * bus/usb/ohci.c: Likewise.
20131
20132 * bus/usb/uhci.c: Likewise.
20133
20134 * bus/usb/usbhub.c: Likewise.
20135
20136 * bus/usb/usb.c: Likewise.
20137
20138 * commands/usbtest.c: Likewise.
20139
20140 * util/usb.c: Likewise.
50fb7002 20141
d64399b5 20142 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
20143
20144 * configure.ac: Test for libusb presence.
50fb7002 20145
d64399b5 20146 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
20147
2b40d6bb 201482009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
20149
20150 * kern/mm.c: Add more comments.
20151
73a4ce81 201522009-02-08 Robert Millan <rmh@aybabtu.com>
20153
20154 Patch from Javier Martín.
20155 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
20156 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
20157
f821ce59 201582009-02-08 Robert Millan <rmh@aybabtu.com>
20159
20160 * fs/cpio.c: Split tar functionality to ...
20161 * fs/tar.c: ... here (new file). Update all users.
20162
aebfc4b0 201632009-02-07 Robert Millan <rmh@aybabtu.com>
20164
20165 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
20166 backward-incompatible features.
20167
20168 Based on patch from Javier Martín, with some adjustments.
20169
50fb7002 201702009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 20171
20172 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
20173
0bb5115e 201742009-02-07 Robert Millan <rmh@aybabtu.com>
20175
20176 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
20177 position of `disk/lvm.c' to ensure grub_init_all() always picks it
20178 after the RAID stuff.
20179
38a0f8e7 201802009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
20181
50fb7002 20182 Fixes problem when running vbetest command as reported by
38a0f8e7 20183 Vladimir Serbinenko <phcoder@gmail.com>.
20184
20185 * (grub_vbe_set_video_mode): Fixed problem with text modes.
20186
3143cc1c 201872009-02-04 Felix Zielcke <fzielcke@z-51.de>
20188
20189 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
20190 /dev/md/NpN style mdraid devices.
20191
9cba6fce 201922009-02-03 Felix Zielcke <fzielcke@z-51.de>
20193
20194 * util/unifont2pff.rb: Remove.
20195
e507a2c1 201962009-02-03 Felix Zielcke <fzielcke@z-51.de>
20197
20198 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
20199 `#'.
20200
d2c2b4cd 202012009-02-03 Felix Zielcke <fzielcke@z-51.de>
20202
20203 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
20204 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20205 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20206 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20207 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20208 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20209 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20210
b4315fb0 202112009-02-02 Christian Franke <franke@computer.org>
20212
20213 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
20214
de3aa260 202152009-02-01 Felix Zielcke <fzielcke@z-51.de>
20216
7c3ff286 20217 * INSTALL: Note that we now require at least autoconf 2.59 and
20218 that LZO is optional.
de3aa260 20219
825a182b 202202009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20221
20222 Base on patch on bug #24154 created by Tomas Tintera
20223 <trosos@seznam.cz>.
20224
20225 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
20226
a69ef770 202272009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20228
7c3ff286 20229 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 20230 <bero@arklinux.org>.
20231
20232 * normal/parser.y (script_init): Add missing semicolon.
20233
6fa42fa6 202342009-01-31 Colin D Bennett <colin@gibibit.com>
20235
7c3ff286 20236 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 20237 (free_menu_entry_classes): Added.
20238 (grub_normal_menu_addentry): Added class property handling.
20239 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
20240 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
20241
20242 * normal/menu_viewer.c: New file.
20243
20244 * normal/menu.c (run_menu_entry): Renamed to ...
20245 (grub_menu_execute_entry): ... this and made it as global.
20246 (grub_menu_run): Renamed to ...
20247 (show_text_menu): ... this and made it local.
20248 (show_text_menu): Adapt to new function names.
20249 (grub_normal_terminal_menu_viewer): New global variable.
20250
20251 * include/grub/menu.h: New file.
20252
20253 * include/grub/menu_viewer.h: New file.
20254
20255 * include/grub/normal.h: Added include to grub/menu.h.
20256 (grub_menu_entry): Moved to include/grub/menu.h.
20257 (grub_menu_entry_t): Likewise.
20258 (grub_menu): Likewise.
20259 (grub_menu_t): Likewise.
20260 (grub_normal_terminal_menu_viewer): Added.
20261 (grub_menu_execute_entry): Likewise.
20262 (grub_menu_run): Removed.
20263
20264 * DISTLIST: Added include/grub/menu.h.
20265 Added include/grub/menu_viewer.h.
20266 Added normal/menu_viewer.c.
20267
202682009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
20269
20270 * normal/execute.c (grub_script_execute_menuentry): Changed to use
20271 arglist for menutitle arguments.
20272
20273 * normal/main.c (grub_normal_menu_addentry): Likewise.
20274
20275 * normal/parser.y (menuentry): Likewise.
20276
20277 * normal/script.c (grub_script_create_cmdmenu): Likewise.
20278
20279 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
20280 (grub_script_create_cmdmenu): Likewise.
20281
20282 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
20283
20284 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
20285 changes.
20286
20287 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
20288
20289 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
20290
20291 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
20292
20293 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20294
20295 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20296
20297 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20298
56192c23 202992009-01-30 Christian Franke <franke@computer.org>
20300
20301 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
20302 in option help text.
20303
d72521b3 203042009-01-27 Pavel Roskin <proski@gnu.org>
20305
20306 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
20307
994b5e84 203082009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
20309
20310 * commands/lsmmap.c: Add include to grub/machine/memory.h.
20311
20312 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
20313
20314 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
20315 unregister function.
20316
6a7eab2c 203172009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
20318
20319 * disk/scsi.c (grub_scsi_read): Fix sign problem.
20320
20321 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
20322
20323 * util/grub-mkfont.c (usage): Fix typo.
20324
20325 * util/elf/grub-mkimage.c (load_modules): Fix warning.
20326
1806b56e 203272009-01-26 Daniel Mierswa <impulze@impulze.org>
20328
3fb18f09 20329 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
20330
336e1fb9 20331 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
20332
1806b56e 20333 * kern/misc.c (grub_strcasecmp): New function.
20334 (grub_strcasecmp): Use grub_size_t instead of int for length.
20335 Fix return value.
20336 * include/grub/misc.h: Update function prototypes.
20337
580b2a0f 203382009-01-26 Robert Millan <rmh@aybabtu.com>
20339
20340 * configure.ac: Fix cross-compilation check.
ef257b36 20341
d31c24f1 203422009-01-22 Christian Franke <franke@computer.org>
20343
20344 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
20345 (precision) digit string. Allow `.format2' without `format1' (width).
20346 Limit input chars for `%s' output to `format2' if specified. This is
20347 compatible with standard printf ().
20348
3138b44c 203492009-01-22 Christian Franke <franke@computer.org>
20350
20351 * disk/ata.c (grub_ata_wait_status): Replace by ...
20352 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
20353 other status bits may be invalid while BSY is asserted.
20354 (grub_ata_check_ready): New function.
20355 (grub_ata_cmd): Removed.
20356 (grub_ata_wait_drq): New function.
20357 (grub_ata_strncpy): Remove inline.
20358 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
20359 and error check now done by grub_ata_wait_drq ().
20360 (grub_ata_pio_write): Likewise.
20361 (grub_atapi_identify): Set DEV before check for !BSY. Use
20362 grub_ata_wait_drq () to wait for data.
20363 (grub_ata_device_initialize): Add status register check to
20364 detect missing SATA slave devices. Add debug messages.
20365 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
20366 (grub_atapi_packet): Set DEV before check for !BSY. Replace
20367 transfer loop by grub_ata_pio_write ().
20368 (grub_ata_identify): Set DEV before check for !BSY. Use
20369 grub_ata_wait_drq () to wait for data.
ef257b36 20370 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 20371 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
20372 read/write in one loop. Fix invalid command on write. Fix incomplete
20373 command on (size % batch) == 0. Add missing error check after write of
20374 last block. Add debug messages.
20375 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
20376
59a64ef6 203772009-01-19 Christian Franke <franke@computer.org>
20378
20379 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
20380 (GRUB_ATAPI_IREASON_*): Likewise.
20381 (grub_ata_pio_write): Fix timeout error return.
20382 (grub_atapi_identify): Add grub_ata_wait () after cmd.
20383 (grub_atapi_wait_drq): New function.
20384 (grub_atapi_packet): New parameter `size'.
20385 Use grub_atapi_wait_drq () and direct write instead of
20386 grub_ata_pio_write ().
20387 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
20388 reads the number of bytes requested by the device for each DRQ
20389 assertion.
20390 (grub_atapi_write): Remove old implementation, return not
20391 implemented instead.
20392
1cfe20b3 203932009-01-19 Christian Franke <franke@computer.org>
20394
20395 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
20396 of 512 to calculate data size.
20397 (grub_scsi_read12): Likewise.
20398 (grub_scsi_write10): Likewise.
20399 (grub_scsi_write12): Likewise.
20400 (grub_scsi_read): Adjust size according to blocksize.
20401 Add checks for invalid blocksize and unaligned transfer.
20402
bee5fe5d 204032009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
20404
20405 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
20406
ef257b36 20407 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 20408 width glyphs.
20409
3e643f8c 204102009-01-19 Robert Millan <rmh@aybabtu.com>
20411
20412 * config.guess: Update to latest version from config git.
20413 * config.sub: Likewise.
20414
4fa80998 204152009-01-17 Felix Zielcke <fzielcke@z-51.de>
20416
20417 * Makefile.in: Change font compilation to use new grub-mkfont instead
20418 of java version.
20419
20420 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
20421 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
20422 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
20423 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
20424 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
20425 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
20426 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
20427 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
20428 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
20429
7086085b 204302009-01-16 Christian Franke <franke@computer.org>
20431
20432 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
20433 (enum grub_ata_timeout_milliseconds): New enum.
20434 (grub_ata_wait_status): Add parameter milliseconds.
20435 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
20436 recovery from timed-out commands.
20437 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
20438 return grub_errno instead of REG_ERROR.
20439 (grub_ata_pio_write): Add parameter milliseconds.
20440 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
20441 Pass milliseconds to grub_ata_wait_status () and
20442 grub_ata_pio_read ().
20443 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
20444 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
20445 grub_ata_wait_status (). Fix IDENTIFY timeout check.
20446 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
20447 It is not suitable for device detection, because DEV bit is ignored,
20448 the command may run too long, and not all devices set the signature
20449 properly.
20450 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
20451 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
20452 Fix device selection, DEV bit must be set first to address the registers
20453 of the correct device.
20454 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
20455 grub_ata_pio_read/write ().
20456 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
20457 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
20458
4a412913 204592009-01-13 Carles Pina i Estany <carles@pina.cat>
20460
20461 * util/grub-editenv.c (main): Use fseeko(), not fseek().
20462
7795c55e 204632009-01-13 Bean <bean123ch@gmail.com>
d913988c 20464
20465 * util/grub-mkfont.c (write_font): forget to remove some debug code.
20466
7795c55e 204672009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 20468
20469 * Makefile.in: (enable_grub_mkfont): New variable.
20470 (freetype_cflags): Likewise.
20471 (freetype_libs): Likewise.
20472
20473 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
20474 (grub_mkfont_SOURCES): New variable.
20475 (grub_mkfont_CFLAGS): Likewise.
20476 (grub_mkfont_LDFLAGS): Likewise.
20477
20478 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
20479 library if `--enable-grub-mkfont' is requested.
20480 (enable_grub_mkfont): New variable.
20481 (freetype_cflags): Likewise.
20482 (freetype_libs): Likewise.
20483
20484 * util/grub-mkfont.c: New file.
20485
093af1fe 204862009-01-12 Christian Franke <franke@computer.org>
20487
20488 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
20489 mode check. Fix setting of compat_use[].
20490
f36cc108 204912009-01-10 Robert Millan <rmh@aybabtu.com>
20492
20493 Update a few copyright years which we forgot to do in 2008 (only for
20494 files whose changes made in 2008 were copyright-significant)
20495
20496 * Makefile.in: Add 2008 to Copyright line.
20497 * disk/ieee1275/ofdisk.c: Likewise.
20498 * disk/efi/efidisk.c: Likewise.
20499 * kern/dl.c: Likewise.
20500 * kern/sparc64/ieee1275/init.c: Likewise.
20501 * kern/mm.c: Likewise.
20502 * kern/efi/mm.c: Likewise.
20503 * boot/i386/pc/boot.S: Likewise.
20504 * genfslist.sh: Likewise.
20505 * fs/iso9660.c: Likewise.
20506 * fs/hfs.c: Likewise.
20507 * fs/jfs.c: Likewise.
20508 * fs/minix.c: Likewise.
20509 * fs/ufs.c: Likewise.
20510 * gensymlist.sh.in: Likewise.
20511 * genkernsyms.sh.in: Likewise.
20512 * include/grub/misc.h: Likewise.
20513 * include/grub/types.h: Likewise.
20514 * include/grub/symbol.h: Likewise.
20515 * include/grub/elf.h: Likewise.
20516 * include/grub/kernel.h: Likewise.
20517 * include/grub/disk.h: Likewise.
20518 * include/grub/dl.h: Likewise.
20519 * include/grub/i386/linux.h: Likewise.
20520 * include/grub/i386/pc/biosdisk.h: Likewise.
20521 * include/grub/efi/api.h: Likewise.
20522 * include/grub/efi/pe32.h: Likewise.
20523 * include/grub/util/misc.h: Likewise.
20524 * normal/execute.c: Likewise.
20525 * normal/arg.c: Likewise.
20526 * normal/completion.c: Likewise.
20527 * normal/lexer.c: Likewise.
20528 * normal/parser.y: Likewise.
20529 * normal/misc.c: Likewise.
20530 * commands/i386/pc/vbeinfo.c: Likewise.
20531 * commands/hexdump.c: Likewise.
20532 * commands/terminal.c: Likewise.
20533 * commands/ls.c: Likewise.
20534 * commands/help.c: Likewise.
20535 * partmap/pc.c: Likewise.
20536 * loader/efi/chainloader.c: Likewise.
20537 * loader/multiboot_loader.c: Likewise.
20538 * loader/i386/pc/multiboot2.c: Likewise.
20539 * term/efi/console.c: Likewise.
20540 * term/i386/pc/serial.c: Likewise.
20541 * util/lvm.c: Likewise.
20542 * util/console.c: Likewise.
20543 * util/i386/efi/grub-mkimage.c: Likewise.
20544 * util/raid.c: Likewise.
20545
7f02114b 205462009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
20547
20548 * commands/videotest.c: Removed include to grub/machine/memory.h.
20549
20550 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
20551 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
20552 (video_mod_SOURCES): Removed.
20553 (video_mod_CFLAGS): Likewise.
20554 (video_mod_LDFLAGS): Likewise.
20555 (gfxterm_mod_SOURCES): Likewise.
20556 (gfxterm_mod_CFLAGS): Likewise.
20557 (gfxterm_mod_LDFLAGS): Likewise.
20558 (videotest_mod_SOURCES): Likewise.
20559 (videotest_mod_CFLAGS): Likewise.
20560 (videotest_mod_LDFLAGS): Likewise.
20561 (bitmap_mod_SOURCES): Likewise.
20562 (bitmap_mod_CFLAGS): Likewise.
20563 (bitmap_mod_LDFLAGS): Likewise.
20564 (tga_mod_SOURCES): Likewise.
20565 (tga_mod_CFLAGS): Likewise.
20566 (tga_mod_LDFLAGS): Likewise.
20567 (jpeg_mod_SOURCES): Likewise.
20568 (jpeg_mod_CFLAGS): Likewise.
20569 (jpeg_mod_LDFLAGS): Likewise.
20570 (png_mod_SOURCES): Likewise.
20571 (png_mod_CFLAGS): Likewise.
20572 (png_mod_LDFLAGS): Likewise.
20573
20574 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
20575 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
20576 (video_mod_SOURCES): Added.
20577 (video_mod_CFLAGS): Likewise.
20578 (video_mod_LDFLAGS): Likewise.
20579 (videotest_mod_SOURCES): Likewise.
20580 (videotest_mod_CFLAGS): Likewise.
20581 (videotest_mod_LDFLAGS): Likewise.
20582 (bitmap_mod_SOURCES): Likewise.
20583 (bitmap_mod_CFLAGS): Likewise.
20584 (bitmap_mod_LDFLAGS): Likewise.
20585 (tga_mod_SOURCES): Likewise.
20586 (tga_mod_CFLAGS): Likewise.
20587 (tga_mod_LDFLAGS): Likewise.
20588 (jpeg_mod_SOURCES): Likewise.
20589 (jpeg_mod_CFLAGS): Likewise.
20590 (jpeg_mod_LDFLAGS): Likewise.
20591 (png_mod_SOURCES): Likewise.
20592 (png_mod_CFLAGS): Likewise.
20593 (png_mod_LDFLAGS): Likewise.
20594 (gfxterm_mod_SOURCES): Likewise.
20595 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 20596 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 20597
20598 * term/gfxterm.c: Removed include to grub/machine/memory.h,
20599 grub/machine/console.h.
20600
644fff97 206012009-01-04 Jerone Young <jerone@gmail.com>
20602
20603 Make on screen instructions clearer
20604
20605 Based on patch created by Jidanni <jidanni@jidanni.org>
20606
20607 * normal/menu.c: print clearer instructions on the screen
20608
1e901a75 206092009-01-02 Colin D Bennett <colin@gibibit.com>
20610
20611 New font engine.
34c44600 20612
1e901a75 20613 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
20614 build system and fixed gfxterm.c to work with different sized fonts.
20615
20616 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 20617
1e901a75 20618 * configure: Re-generated.
34c44600 20619
1e901a75 20620 * DISTLIST: Removed font/manager.c.
20621 Added font/font.c.
20622 Added font/font_cmd.c.
34c44600 20623
1e901a75 20624 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
20625 compilation.
34c44600 20626
1e901a75 20627 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 20628
20629 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 20630
20631 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 20632
1e901a75 20633 * normal/menu.c: Likewise.
34c44600 20634
1e901a75 20635 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
20636 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 20637
1e901a75 20638 * include/grub/font.h: Replaced with new file.
34c44600 20639
1e901a75 20640 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
20641 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
20642 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
20643 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
20644 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 20645 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 20646 fg_red, fg_green, fg_blue, fg_alpha.
20647 (grub_video_adapter): Removed blit_glyph.
34c44600 20648 (grub_video_blit_glyph): Removed.
20649
1e901a75 20650 * font/manager.c: Removed file.
34c44600 20651
20652 * font/font.c: New file.
20653
1e901a75 20654 * font/font_cmd.c: Likewise.
34c44600 20655
1e901a75 20656 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 20657
1e901a75 20658 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
20659 (grub_video_vbe_map_rgba): Likewise.
20660 (grub_video_vbe_unmap_color_int): Likewise.
20661 (grub_video_vbe_blit_glyph): Removed.
20662 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 20663
1e901a75 20664 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
20665 (get_pixel): Likewise.
34c44600 20666 (set_pixel): Likewise.
20667
1e901a75 20668 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 20669
1e901a75 20670 * term/gfxterm.c: Adapted to new font engine.
34c44600 20671
1e901a75 20672 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 20673
1e901a75 20674 * term/i386/pc/vga.c: Likewise.
34c44600 20675
1e901a75 20676 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 20677
1e901a75 20678 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 20679
1e901a75 20680 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 20681
1e901a75 20682 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 20683
1e901a75 20684 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 20685
1e901a75 20686 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 20687
1e901a75 20688 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 20689
1e901a75 20690 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 20691
1e901a75 20692 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
20693
20694 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 20695
1e901a75 20696 * util/grub-mkconfig_lib.in: Changed font extension.
20697
278922e8 206982008-12-28 Felix Zielcke <fzielcke@z-51.de>
20699
20700 * util/getroot.c (grub_util_get_grub_dev): Add support for
20701 /dev/md/dNNpNN style partitionable mdraid devices.
20702
3ced05cf 207032008-12-12 Alex Smith <alex@alex-smith.me.uk>
20704
20705 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
20706 at a time limit of the PXE TFTP API correctly.
20707 (grub_pxefs_close): Likewise.
20708
7fd0ee30 207092008-11-29 Robert Millan <rmh@aybabtu.com>
20710
34c44600 20711 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 20712 grub_ata_device_initialize() calls.
20713
34c44600 207142008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 20715
20716 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
20717 iteration failed.
20718 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
20719
89313780 207202008-11-28 Robert Millan <rmh@aybabtu.com>
20721
20722 Fix build on powerpc-ieee1275. Based on patch created by
20723 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
20724 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20725 `kern/ieee1275/mmap.c'.
20726 * include/grub/powerpc/ieee1275/memory.h: New file.
20727
15257703 20728 Provide grub-install on coreboot.
20729 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
20730 (grub_install_SOURCES): New variable.
20731 * util/i386/pc/grub-install.in: Add a few condition checks to make it
20732 usable on coreboot.
20733
9fc5388a 207342008-11-25 Felix Zielcke <fzielcke@z-51.de>
20735
20736 * util/grub-fstest.c (grub_term_get_current_input): Change return type
20737 to `grub_term_input_t'.
20738 (grub_term_get_current_output): Change return type to
20739 `grub_term_output_t'.
20740
bc3a2f31 207412008-11-22 Robert Millan <rmh@aybabtu.com>
20742
34c44600 20743 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 20744 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
20745 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
20746 grub_vga_text_cls().
20747
80fc88f2 20748 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 20749 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 20750
cbf36fd3 20751 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
20752 to 0x200000 (avoids trouble with some OFW implementations, and matches
20753 with the one in Yaboot).
20754 Reported by Manoel Abranches
20755
73e8e268 207562008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 20757
20758 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
20759 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
20760
73e8e268 20761 * util/grub-mkconfig_lib.in (grub_warn): New function.
20762 (convert_system_path_to_grub_path): Use grub_warn() when issuing
20763 warnings, to obtain consistent formatting.
20764 * util/grub.d/00_header.in: Likewise.
20765 * util/update-grub_lib.in: Likewise.
20766
e94045a1 20767 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 20768 Move comment text to `#error' stanza.
e94045a1 20769
79d29fd7 20770 Harmonize ieee1275's grub_available_iterate() with the generic
20771 grub_machine_mmap_iterate() interface (fixes a recently-introduced
20772 build problem on i386-ieee1275):
20773 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
20774 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
20775 parameter `type'. Update all users of this function.
20776 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
20777 `kern/ieee1275/mmap.c'.
20778 * kern/ieee1275/init.c
20779 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
20780 with ...
20781 (grub_machine_mmap_iterate): ... this.
20782 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
20783 return type to `grub_err_t'. Update all implementations of this
20784 function prototype.
20785 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
20786 Likewise.
20787
60d6b16e 20788 Add `lsmmap' command (lists firmware-provided memory map):
20789 * commands/lsmmap.c: New file.
20790 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
20791 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
20792 variables.
20793 * conf/powerpc-ieee1275.rmk: Likewise.
20794 * conf/i386-coreboot.rmk: Likewise.
20795 * conf/i386-ieee1275.rmk: Likewise.
20796
ebaaf49b 207972008-11-19 Robert Millan <rmh@aybabtu.com>
20798
20799 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 20800 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
20801 constraints to initrd allocation (based on code from
20802 loader/i386/pc/linux.c). Without them, initrd was allocated too high
20803 for Linux to find it.
ebaaf49b 20804
dfab719f 208052008-11-14 Robert Millan <rmh@aybabtu.com>
20806
20807 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
20808 order to cope with duplicate slashes.
20809
10fc3eb9 208102008-11-14 Robert Millan <rmh@aybabtu.com>
20811
20812 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
20813 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
20814 don't want to mess with lower memory, because it is used in the Linux
20815 loader.
20816
20817 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 20818 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 20819 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
20820 is in our heap (probably as a result of it being corrupted during
2f2a3442 20821 decompression). Add #error instance with comment to explain why this
20822 loader isn't currently usable on PC/BIOS.
10fc3eb9 20823
e2e07847 208242008-11-14 Robert Millan <rmh@aybabtu.com>
20825
20826 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 20827 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 20828
fe8e8d69 208292008-11-12 Robert Millan <rmh@aybabtu.com>
20830
20831 Make loader/i386/linux.c buildable on i386-pc (although disabled).
20832
20833 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
20834 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
20835 from here ...
20836 * include/grub/i386/pc/memory.h: ... to here.
20837
976b07d0 208382008-11-12 Robert Millan <rmh@aybabtu.com>
20839
20840 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
20841 split).
20842
20843 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
20844 (grub_console_cur_color, grub_console_real_putchar)
20845 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
20846 (grub_console_setcolorstate, grub_console_setcolor)
20847 (grub_console_getcolor): Move from here ...
20848 * include/grub/i386/vga_common.h: ... to here (new file).
20849
20850 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
20851 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
20852 `<grub/i386/io.h>'.
20853 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
20854 `<grub/i386/vga_common.h>'.
20855
76679cd3 208562008-11-12 Robert Millan <rmh@aybabtu.com>
20857
20858 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
20859 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
20860 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
20861 variables.
20862 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
20863 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
20864
20865 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
20866 grub_console_init() with call to grub_vga_text_init().
20867 (grub_machine_fini): Replace call to
20868 grub_console_fini() with call to grub_vga_text_fini() and
20869 grub_at_keyboard_fini().
20870
20871 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
20872 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
20873 (grub_console_setcolorstate, grub_console_setcolor)
20874 (grub_console_getcolor): New function prototypes.
20875
20876 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
20877 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
20878 (grub_vga_text_setcursor): Static-ize.
20879 (grub_vga_text_term): New structure.
20880 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
20881
20882 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
20883 (grub_console_cur_color, grub_console_standard_color)
20884 (grub_console_normal_color, grub_console_highlight_color)
20885 (map_char, grub_console_putchar, grub_console_getcharwidth)
20886 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
20887 (grub_console_getcolor): Move from here ...
20888 * term/i386/vga_common.c: ... to here (same function names).
20889
95b841d3 208902008-11-12 Robert Millan <rmh@aybabtu.com>
20891
20892 Use newly-added Multiboot support in coreboot.
20893
20894 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
20895 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
20896
20897 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
20898 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
20899 (codestart): Store the MBI in `startup_multiboot_info' when we're
20900 being loaded using Multiboot.
20901
20902 * kern/i386/coreboot/init.c (grub_machine_init): Move
20903 grub_at_keyboard_init() call to beginning of function (useful for
20904 debugging). Call grub_machine_mmap_init() before attempting to use
20905 grub_machine_mmap_iterate().
20906 (grub_lower_mem, grub_upper_mem): Move from here ...
20907 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
20908 here (new file).
20909
20910 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
20911 function prototype.
20912
761ca975 209132008-11-12 Robert Millan <rmh@aybabtu.com>
20914
20915 Fix a regression introduced by the at_keyboard.mod split. Because
20916 some terminals are default on some platforms and non-default on
20917 others, the first terminal being registered determines which is
20918 going to be default.
20919
20920 * kern/term.c (grub_term_register_input): If this is the first
20921 terminal being registered, set it as the current one.
20922 (grub_term_register_output): Likewise.
20923
20924 * term/efi/console.c (grub_console_init): Do not call
20925 grub_term_set_current_output() or grub_term_set_current_input().
20926 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
20927 * term/i386/pc/console.c (grub_console_init): Likewise.
20928 (grub_console_fini): Do not call grub_term_set_current_input()
20929 (but leave grub_term_set_current_output() to restore text mode).
20930
6c529df7 209312008-11-10 Robert Millan <rmh@aybabtu.com>
20932
20933 * util/grub.d/00_header.in: Add backward compatibility check for
20934 versions of terminal.mod that don't understand `terminal_input' or
20935 `terminal_output'.
20936
132e4113 209372008-11-09 Robert Millan <rmh@aybabtu.com>
20938
20939 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
20940 `terminal_input' / `terminal_output', not `terminal'.
20941
ac293d50 209422008-11-08 Robert Millan <rmh@aybabtu.com>
20943
20944 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 20945 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 20946
0025933a 209472008-11-08 Robert Millan <rmh@aybabtu.com>
20948
20949 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 20950 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 20951 members. Update all users.
20952 * util/console.c (grub_ncurses_term): Split in ...
20953 (grub_ncurses_term_input): ... this, and ...
20954 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 20955 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 20956
37c86336 209572008-11-08 Robert Millan <rmh@aybabtu.com>
20958
20959 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
20960 (PKGDATA): Add $(pkgdata_SRCDIR).
20961 (pkglib_BUILDDIR): New variable.
20962 (pkgdata_SRCDIR): New variable.
20963 (build_env.mk): New target.
20964 (include_DATA): New variable.
20965 (install-local): Install $(include_DATA) files in $(includedir).
20966
b6c15a2d 209672008-11-07 Pavel Roskin <proski@gnu.org>
20968
d99d46f1 20969 * gendistlist.sh: Use C locale for sorting to ensure consistent
20970 output on all systems.
20971
b6c15a2d 20972 * util/grub.d/00_header.in: Remove incorrect space before
20973 "serial".
20974
c32ee8c9 209752008-11-07 Robert Millan <rmh@aybabtu.com>
20976
20977 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
20978 per specification.
20979 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
20980 * loader/multiboot_loader.c (find_multi_boot2_header): New function
20981 (based on find_multi_boot1_header).
20982 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
20983 using find_multi_boot2_header(), and abort if neither Multiboot or
20984 Multiboot headers were found.
20985
651c29b7 209862008-11-07 Robert Millan <rmh@aybabtu.com>
20987
20988 Modularize at_keyboard.mod:
20989
20990 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
20991 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20992 (at_keyboard_mod_LDFLAGS): New variables.
20993
20994 Actual terminal split:
20995
20996 * include/grub/term.h (struct grub_term): Split in ...
20997 (struct grub_term_input): ... this, and ...
20998 (struct grub_term_output): ... this. Update all users.
20999 (grub_term_set_current): Split in ...
21000 (grub_term_set_current_input): ... this, and ...
21001 (grub_term_set_current_output): ... this.
21002 (grub_term_get_current): Split in ...
21003 (grub_term_get_current_input): ... this, and ...
21004 (grub_term_get_current_output): ... this.
21005 (grub_term_register): Split in ...
21006 (grub_term_register_input): ... this, and ...
21007 (grub_term_register_output): ... this.
21008 (grub_term_unregister): Split in ...
21009 (grub_term_unregister_input): ... this, and ...
21010 (grub_term_unregister_output): ... this.
21011 (grub_term_iterate): Split in ...
21012 (grub_term_iterate_input): ... this, and ...
21013 (grub_term_iterate_output): ... this.
21014
21015 * kern/term.c (grub_term_list): Split in ...
21016 (grub_term_list_input): ... this, and ...
21017 (grub_term_list_output): ... this. Update all users.
21018 (grub_cur_term): Split in ...
21019 (grub_cur_term_input): ... this, and ...
21020 (grub_cur_term_output): ... this. Update all users.
21021 (grub_term_set_current): Split in ...
21022 (grub_term_set_current_input): ... this, and ...
21023 (grub_term_set_current_output): ... this.
21024 (grub_term_get_current): Split in ...
21025 (grub_term_get_current_input): ... this, and ...
21026 (grub_term_get_current_output): ... this.
21027 (grub_term_register): Split in ...
21028 (grub_term_register_input): ... this, and ...
21029 (grub_term_register_output): ... this.
21030 (grub_term_unregister): Split in ...
21031 (grub_term_unregister_input): ... this, and ...
21032 (grub_term_unregister_output): ... this.
21033 (grub_term_iterate): Split in ...
21034 (grub_term_iterate_input): ... this, and ...
21035 (grub_term_iterate_output): ... this.
21036
21037 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
21038 a check for input and one for output (and only attempt to get keys
21039 from user when input works).
21040
21041 * util/grub-probe.c (grub_term_get_current): Split in ...
21042 (grub_term_get_current_input): ... this, and ...
21043 (grub_term_get_current_output): ... this.
21044 * util/grub-fstest.c: Likewise.
21045 * util/i386/pc/grub-setup.c: Likewise.
21046 * util/grub-editenv.c: Likewise.
21047
21048 Portability adjustments:
21049
21050 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
21051 `term/i386/pc/at_keyboard.c'.
21052 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
21053 grub_keyboard_controller_init() (now handled by terminal .init).
21054 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
21055 grub_at_keyboard_init().
21056 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
21057 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
21058 at_keyboard.mod via input terminal interface).
21059 * include/grub/i386/coreboot/console.h: Convert into a stub for
21060 `<grub/i386/pc/console.h>'.
21061
21062 Migrate full terminals to new API:
21063
21064 * term/efi/console.c (grub_console_term): Split into ...
21065 (grub_console_term_input): ... this, and ...
21066 (grub_console_term_output): ... this. Update all users.
21067 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
21068 (grub_ofconsole_init): Split into ...
21069 (grub_ofconsole_init_input): ... this, and ...
21070 (grub_ofconsole_init_output): ... this.
21071 (grub_ofconsole_term): Split into ...
21072 (grub_ofconsole_term_input): ... this, and ...
21073 (grub_ofconsole_term_output): ... this. Update all users.
21074 * term/i386/pc/serial.c (grub_serial_term): Split into ...
21075 (grub_serial_term_input): ... this, and ...
21076 (grub_serial_term_output): ... this. Update all users.
21077 * term/i386/pc/console.c (grub_console_term): Split into ...
21078 (grub_console_term_input): ... this, and ...
21079 (grub_console_term_output): ... this. Update all users.
21080 (grub_console_term_input): Only enable it on PC/BIOS platform.
21081 (grub_console_init): Remove grub_keyboard_controller_init() call.
21082
21083 Migrate input terminals to new API:
21084
21085 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
21086 `i386' and `i386/pc' to enable build on x86_64 (this driver is
21087 i386-specific anyway).
21088 (grub_console_checkkey): Rename to ...
21089 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
21090 users.
21091 (grub_keyboard_controller_orig): New variable.
21092 (grub_console_getkey): Rename to ...
21093 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
21094 users.
21095 (grub_keyboard_controller_init): Static-ize. Save original
21096 controller value so that it can be restored ...
21097 (grub_keyboard_controller_fini): ... here (new function).
21098 (grub_at_keyboard_term): New structure.
21099 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
21100 functions.
21101
21102 Migrate output terminals to new API:
21103
21104 * term/i386/pc/vga.c (grub_vga_term): Change type to
21105 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21106 members. Update all users.
21107 * term/gfxterm.c (grub_video_term): Change type to
21108 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21109 members. Update all users.
21110 * include/grub/i386/pc/console.h (grub_console_checkkey)
21111 (grub_console_getkey): Do not export (no longer needed by gfxterm,
21112 etc).
21113
21114 Migrate `terminal' command and userland tools to new API:
21115
21116 * commands/terminal.c (grub_cmd_terminal): Split into ...
21117 (grub_cmd_terminal_input): ... this, and ...
21118 (grub_cmd_terminal_output): ... this.
21119 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
21120 `terminal_input' and `terminal_output'.
21121 * util/grub.d/00_header.in: Adjust `terminal' calls to new
21122 `terminal_input' / `terminal_output' API.
21123 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
21124 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
21125 provided ${GRUB_TERMINAL}, convert it).
21126
96e5d876 211272008-11-04 Robert Millan <rmh@aybabtu.com>
21128
21129 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
21130 for FreeBSD.
21131 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
21132
556f3775 211332008-11-03 Bean <bean123ch@gmail.com>
21134
21135 * kern/elf.c (grub_elf32_load): Revert to previous code.
21136 (grub_elf64_load): Likewise.
21137
21138 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
21139
926b9823 211402008-11-01 Robert Millan <rmh@aybabtu.com>
21141
21142 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
21143 (TARGET_CPPFLAGS): Likewise.
21144 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
21145
1432e958 211462008-11-01 Carles Pina i Estany <carles@pina.cat>
21147
21148 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
21149
dba3f844 211502008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 21151
21152 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
21153 addition of objects until the code is not going to be able to fail.
21154
dba3f844 211552008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 21156
21157 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
21158 (add a missing NULL check, and correct them by moving the pointer
21159 operations after the actual check).
21160
7ab28c21 211612008-10-29 Robert Millan <rmh@aybabtu.com>
21162
21163 * util/i386/pc/grub-install.in: Handle empty string as output from
21164 make_system_path_relative_to_its_root().
21165
1b7748eb 211662008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
21167
21168 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
21169 circular metadata worst case scenario. If the metadata is circular
21170 then copy the wrap in place.
21171 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
21172 project lib/format_text/layout.h
21173 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
21174
c9618ab2 211752008-10-03 Felix Zielcke <fzielcke@z-51.de>
21176
7a36edca 21177 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 21178
bf981c62 211792008-10-03 Felix Zielcke <fzielcke@z-51.de>
21180
21181 * util/update-grub_lib.in: Mention filename in warning message.
21182
6d994591 211832008-09-29 Felix Zielcke <fzielcke@z-51.de>
21184
21185 * NEWS: Update for rename of update-grub to grub-mkconfig.
21186
18ade780 211872008-09-29 Felix Zielcke <fzielcke@z-51.de>
21188
21189 * util/update-grub_lib.in: Copy to ...
21190 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 21191 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 21192 * util/update-grub.in: Rename to ...
21193 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
21194 option. Add `--output' option to allow users to specify the generated
21195 configuration file. Default to stdout.
21196 (update_grub_dir): Rename to ...
21197 (grub_mkconfig_dir): ... this.
21198 (grub_cfg): Default to an empty string.
21199 * conf/common.rmk (update-grub): Rename to ...
21200 (grub-mkconfig): ... this.
21201 (update-grub_lib): Copy to ...
21202 (grub-mkconfig_lib): ... this.
21203 (update-grub_SCRIPTS): Copy to ...
21204 (grub-mkconfig_SCRIPTS): ... this. Update all users.
21205 (update-grub_DATA): Rename to ...
21206 (grub-mkconfig_DATA): ... this.
21207
556ce6ac 212082008-09-28 Robert Millan <rmh@aybabtu.com>
21209
21210 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
21211 to `modified'. Add the real `created' field.
21212 (grub_iso9660_uuid): Use `modified' rather than `created' for
21213 constructing the UUID.
21214
212152008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 21216
21217 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
21218 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
21219
92274e85 212202008-09-28 Bean <bean123ch@gmail.com>
21221
21222 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
21223 Thanks to Christian Franke for finding this bug.
21224
add6f17a 212252008-09-25 Robert Millan <rmh@aybabtu.com>
21226
21227 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
21228 instances of grub_util_get_disk_name() (see previous commit).
21229
d2a367b8 212302008-09-25 Robert Millan <rmh@aybabtu.com>
21231
21232 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
21233 `util/i386/get_disk_name.c'.
21234 * conf/i386-efi.rmk: Likewise.
21235 * conf/x86_64-efi.rmk: Likewise.
21236 * conf/i386-coreboot.rmk: Likewise.
21237 * conf/i386-ieee1275.rmk: Likewise.
21238 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
21239 `util/ieee1275/get_disk_name.c'.
21240 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
21241 * util/ieee1275/get_disk_name.c: Remove file.
21242 * util/i386/get_disk_name.c: Remove file.
21243 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
21244 "hd%d" for device.map entries, rather than using
21245 grub_util_get_disk_name().
21246
81a06771 212472008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 21248
21249 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
21250 warning.
21251 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
21252
5a004279 212532008-09-24 Carles Pina i Estany <carles@pina.cat>
21254
21255 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
21256 Changed to 0x5100.
21257 (GRUB_TERM_PPAGE): Changed to 0x4900.
21258
397093d3 212592008-09-24 Robert Millan <rmh@aybabtu.com>
21260
21261 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
21262 macros (they were i386-pc specific).
21263 * include/grub/sparc64/ieee1275/console.h: Likewise.
21264 * include/grub/efi/console.h: Likewise.
21265
a91b6c7c 212662008-09-22 Bean <bean123ch@gmail.com>
21267
21268 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
21269 resident and in attribute list.
21270
21271 * include/grub/ntfs.h (BMP_LEN): Removed.
21272
c40fd116 212732008-09-22 Bean <bean123ch@gmail.com>
21274
81a06771 21275 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 21276 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
21277
21278 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
21279 error occurs, as grub_disk_open will call grub_disk_close, which will
21280 call p->close (scsi).
21281
81a06771 212822008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 21283
21284 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
21285 (AC_PREREQ): Bumped to 2.59.
21286 (AC_TRY_COMPILE): Replace obsolete macro with ...
21287 (AC_COMPILE_IFELSE): ... this.
21288 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
21289 (AC_LINK_IFELSE): ... this.
21290
5dc43410 212912008-09-21 Felix Zielcke <fzielcke@z-51.de>
21292
21293 * autogen.sh: Add a call to `gendistlist.sh'.
21294
9035dce4 212952008-09-19 Christian Franke <franke@computer.org>
21296
21297 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
21298 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
21299 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
21300 Export __enable_execute_stack() to modules.
21301 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
21302 New function.
21303
7fd75377 213042008-09-09 Felix Zielcke <fzielcke@z-51.de>
21305
040030b3 21306 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
21307 Sort the list.
21308
213092008-09-09 Felix Zielcke <fzielcke@z-51.de>
21310
21311 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 21312 #include <grub/util/hostdisk.h>.
21313
89d5ffcf 213142008-09-08 Robert Millan <rmh@aybabtu.com>
21315
21316 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
21317 segments when their filesz is zero (grub_file_read() interprets
81a06771 21318 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 21319 Use `lowest_segment' rather than 0 for calculating the current
21320 segment load address.
21321
40da438f 213222008-09-08 Robert Millan <rmh@aybabtu.com>
21323
21324 * util/hostdisk.c (open_device): Replace a grub_util_info() call
21325 with grub_dprintf("hostdisk", ...), as it was so verbose that it
21326 clobbered useful information.
21327
ddbf5556 213282008-09-08 Robert Millan <rmh@aybabtu.com>
21329
21330 * include/grub/util/biosdisk.h: Move to ...
21331 * include/grub/util/hostdisk.h: ... here. Update all users.
21332 * util/biosdisk.c: Move to ...
21333 * util/hostdisk.c: ... here. Update all users.
21334
783d0f48 213352008-09-07 Robert Millan <rmh@aybabtu.com>
21336
21337 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
21338 variables.
21339 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
21340 and length can be stored directly in the `mbi->mmap_addr' and
21341 `mbi->mmap_length' struct fields.
21342
548e2ea5 213432008-09-07 Robert Millan <rmh@aybabtu.com>
21344
21345 * conf/i386.rmk: New file. Provides declaration for building
21346 `cpuid.mod'.
21347 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
21348 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
21349 variables.
21350 Include `conf/i386.mk'.
21351 * conf/i386-efi.rmk: Likewise.
21352 * conf/x86_64-efi.rmk: Likewise.
21353 * conf/i386-coreboot.rmk: Likewise.
21354 * conf/i386-ieee1275.rmk: Likewise.
21355
0ea85a37 213562008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
21357
21358 Based on patch created by Colin D Bennett <colin@gibibit.com>.
21359 Adds optimization support for BGR based modes.
21360
21361 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
21362 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
21363 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21364 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21365 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21366 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21367 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21368 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21369 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21370 (grub_video_i386_vbeblit_index_index): Likewise.
21371 (grub_video_i386_vbeblit_replace_directN): Added.
21372 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
21373 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
21374 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
21375 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
21376 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
21377 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 21378 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 21379 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
21380 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
21381 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
21382 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
21383 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
21384 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
21385
21386 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
21387 (grub_video_i386_vbefill_R8G8B8): Likewise.
21388 (grub_video_i386_vbefill_index): Likewise.
21389 (grub_video_i386_vbefill_direct32): Added.
21390 (grub_video_i386_vbefill_direct24): Likewise.
21391 (grub_video_i386_vbefill_direct16): Likewise.
21392 (grub_video_i386_vbefill_direct8): Likewise.
21393
81a06771 21394 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 21395 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
21396 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
21397 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
21398 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
21399 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 21400
0ea85a37 21401 * video/video.c (grub_video_get_blit_format): Updated to use new
21402 blit formats. Added handling for 16 bit color modes.
81a06771 21403
21404 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 21405 fillers.
21406 (common_blitter): Updated to use new blitters.
21407
21408 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
21409 Removed.
21410 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
21411 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21412 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21413 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21414 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21415 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21416 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21417 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21418 (grub_video_i386_vbeblit_index_index): Likewise.
21419 (grub_video_i386_vbeblit_replace_directN): Added.
21420 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
21421 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
21422 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
21423 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
21424 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
21425 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
21426 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
21427 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
21428 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
21429 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
21430 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
21431 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
21432 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 21433
0ea85a37 21434 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
21435 (grub_video_i386_vbefill_R8G8B8): Likewise.
21436 (grub_video_i386_vbefill_index): Likewise.
21437 (grub_video_i386_vbefill_direct32): Added.
21438 (grub_video_i386_vbefill_direct24): Likewise.
21439 (grub_video_i386_vbefill_direct16): Likewise.
21440 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 21441
0ea85a37 21442 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
21443 types.
81a06771 21444
0ea85a37 21445 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
21446 types.
81a06771 21447
0ea85a37 21448 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
21449 blitter types.
81a06771 21450
0ea85a37 21451 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
21452 types.
21453
e8a83df6 214542008-09-06 Felix Zielcke <fzielcke@z-51.de>
21455
21456 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
21457 RAID level 1.
21458
6bcd8ee5 214592008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 21460
6bcd8ee5 21461 * fs/iso9660.c (grub_iso9660_date): New structure.
21462 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
21463 (grub_iso9660_uuid): New function.
c375ae58 21464
59261157 214652008-09-05 Bean <bean123ch@gmail.com>
21466
21467 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
21468
21469 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
21470 insensitive bit for names in Win32 and Win32 & DOS namespace.
21471
21472 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
21473
21474 * include/grub/types.h (LONG_MAX): Likewise.
21475
58b6645a 214762008-09-04 Felix Zielcke <fzielcke@z-51.de>
21477
4ee55921 21478 * util/getroot.c: Include <config.h>.
21479 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
21480 add support for /dev/md/N devices and handle LVM double dash escaping.
21481
214822008-09-04 Felix Zielcke <fzielcke@z-51.de>
21483
21484 * config.guess: Update to latest version from config git.
21485 * config.sub: Likewise.
58b6645a 21486
9124f65d 214872008-09-03 Robert Millan <rmh@aybabtu.com>
21488
21489 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
21490 `disk->total_sectors'.
21491
81a06771 214922008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 21493
21494 * include/grub/normal.h: Fixed incorrect comment for
21495 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
21496
81a06771 214972008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 21498
21499 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
21500 values with defines.
21501
21502 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
21503 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
21504 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
21505 (GRUB_VBE_MODEATTR_COLOR): Likewise.
21506 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
21507 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
21508 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
21509 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
21510 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
21511 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
21512 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
21513 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
21514 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
21515 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
21516 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
21517 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
21518 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
21519 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
21520 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
21521
93d5cbf8 215222008-08-31 Robert Millan <rmh@aybabtu.com>
21523
21524 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
21525 declaration.
21526 (grub_multiboot): Fix a few warnings.
21527
21751d50 215282008-08-31 Robert Millan <rmh@aybabtu.com>
21529
21530 * loader/i386/pc/multiboot.c: Update comment not to say that
21531 boot_device support is unimplemented.
21532
e27a75c5 215332008-08-31 Robert Millan <rmh@aybabtu.com>
21534
21535 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
21536 or memory map support are unimplemented.
21537
81a06771 215382008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 21539
21540 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
21541
81a06771 215422008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 21543
21544 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
21545 total video memory in 'vbeinfo' output; show color format details for
21546 each video mode.
21547
7c5d8d95 215482008-08-30 Pavel Roskin <proski@gnu.org>
21549
21550 * util/genmoddep.c: Remove for real this time.
21551 * DISTLIST: Remove util/genmoddep.c.
21552
4cebd25a 215532008-08-30 Robert Millan <rmh@aybabtu.com>
21554
21555 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
21556 as required by Multiboot spec (it was already 4-byte aligned, but
21557 only by chance).
21558
b497a269 215592008-08-29 Pavel Roskin <proski@gnu.org>
21560
e3925185 21561 * kern/powerpc/ieee1275/crt0.S: Rename to ...
21562 * kern/powerpc/ieee1275/startup.S: ... this.
21563 * conf/powerpc-ieee1275.rmk: Adjust for the above.
21564 * DISTLIST: Likewise.
21565
b497a269 21566 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
21567 grub/cpu/kernel.h. Add start label for consistency with other
21568 platforms. Add grub_prefix immediately after start. Add jump
21569 to the code after grub_prefix.
21570 * include/grub/powerpc/kernel.h: Provide valid values for
21571 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
21572
6e5a42fe 215732008-08-29 Bean <bean123ch@gmail.com>
21574
21575 * configure.ac: Change host_os to cygwin for mingw.
21576 (asprintf): New check for function.
21577
21578 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
21579 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
21580
21581 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 21582 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 21583 sync, sleep and grub_util_get_disk_size for mingw.
21584
21585 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
21586 to get size in mingw.
21587 (open_device): Use flag O_BINARY if it's defined.
21588 (find_root_device): Add dummy code for mingw.
21589
21590 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
21591 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
21592 (get_scsi_disk_name): Return 0 for mingw.
21593
21594 * util/hostfs.c: #include <grub/util/misc.h>.
21595 (grub_hostfs_open): Use "rb" flag to open file, use
21596 grub_util_get_disk_size to get disk size for mingw.
21597
21598 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
21599 (asprintf): New function if HAVE_ASPRINTF is not set.
21600 (sync): New function for mingw.
21601 (sleep): Likewise.
21602 (grub_util_get_disk_size): Likewise.
21603
ab3f2673 216042008-08-28 Pavel Roskin <proski@gnu.org>
21605
21606 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21607 kern/time.c.
21608
1c282483 216092008-08-28 Robert Millan <rmh@aybabtu.com>
21610
21611 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
21612
678e849c 216132008-08-28 Robert Millan <rmh@aybabtu.com>
21614
21615 Change find_grub_drive() syntax so it doesn't prevent it from
21616 detecting NULL names as errors.
21617
21618 * util/biosdisk.c (find_grub_drive): Move free slot search code
21619 from here ...
21620 (find_free_slot): ... to here.
21621 (read_device_map): Use find_free_slot() to search for free slots.
21622
965c75ca 216232008-08-27 Marco Gerards <marco@gnu.org>
21624
21625 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
21626 (scsi_mod_SOURCES): New variable.
21627 (scsi_mod_CFLAGS): Likewise
21628 (scsi_mod_LDFLAGS): Likewise.
21629
21630 * disk/scsi.c: New file.
21631
21632 * include/grub/scsi.h: Likewise.
21633
21634 * include/grub/scsicmd.h: Likewise.
21635
21636 * disk/ata.c: Include <grub/scsi.h>.
21637 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
21638 instead.
21639 (grub_ata_iterate): Skip ATAPI devices.
21640 (grub_ata_open): Only handle ATAPI devices.
21641 (struct grub_atapi_read): Removed.
21642 (grub_atapi_readsector): Likewise.
21643 (grub_ata_read): No longer handle ATAPI devices.
21644 (grub_ata_write): Likewise.
21645 (grub_atapi_iterate): New function.
21646 (grub_atapi_read): Likewise.
21647 (grub_atapi_write): Likewise.
21648 (grub_atapi_open): Likewise.
21649 (grub_atapi_close): Likewise.
21650 (grub_atapi_dev): New variable.
21651 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
21652 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
21653
21654 * include/grub/disk.h (enum grub_disk_dev_id): Add
21655 `GRUB_DISK_DEVICE_SCSI_ID'.
21656
c07ae501 216572008-08-26 Robert Millan <rmh@aybabtu.com>
21658
21659 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
21660 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
21661 descriptive.
21662
5ed20adc 216632008-08-23 Bean <bean123ch@gmail.com>
21664
21665 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
21666 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
21667 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
21668 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
21669 dm_nv.mod.
21670 (raid5rec_mod_SOURCES): New macro.
21671 (raid5rec_mod_CFLAGS): Likewise.
21672 (raid5rec_mod_LDFLAGS): Likewise.
21673 (raid6rec_mod_SOURCES): Likewise.
21674 (raid6rec_mod_CFLAGS): Likewise.
21675 (raid6rec_mod_LDFLAGS): Likewise.
21676 (mdraid_mod_SOURCES): Likewise.
21677 (mdraid_mod_CFLAGS): Likewise.
21678 (mdraid_mod_LDFLAGS): Likewise.
21679 (dm_nv_mod_SOURCES): Likewise.
21680 (dm_nv_mod_CFLAGS): Likewise.
21681 (dm_nv_mod_LDFLAGS): Likewise.
21682
21683 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
21684 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
21685 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
21686
21687 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
21688 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
21689
21690 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21691
21692 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21693
21694 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21695
21696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21697
21698 * disk/raid5_recover.c: New file.
21699
21700 * disk/raid6_recover.c: Likewise.
21701
21702 * disk/mdraid_linux.c: Likewise.
21703
21704 * disk/dmraid_nvidia.c: Likewise.
21705
21706 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
21707 ULONG_MAX.
21708
21709 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
21710 calculate the size of raid device.
21711 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
21712 different layout of raid5.
21713 (grub_raid_scan_device): Remove code specific to mdraid.
21714 (grub_raid_list): New variable.
21715 (free_array): New function.
21716 (grub_raid_register): Likewise.
21717 (grub_raid_unregister): Likewise.
21718 (grub_raid_rescan): Likewise.
21719 (GRUB_MOD_INIT): Don't iterate device here.
21720 (GRUB_MOD_FINI): Use free_array to release resource.
21721
21722 * include/grub/raid.h: Remove macro and structure specific to mdraid.
21723 (grub_raid5_recover_func_t): New function variable type.
21724 (grub_raid6_recover_func_t): Likewise.
21725 (grub_raid5_recover_func): New variable.
21726 (grub_raid6_recover_func): Likewise.
21727 (grub_raid_register): New function.
21728 (grub_raid_unregister): Likewise.
21729 (grub_raid_rescan): Likewise.
21730 (grub_raid_block_xor): Likewise.
21731
21732 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
21733 (CMD_CRC): New macro.
21734 (part): Removed.
21735 (read_file): Handle device as well as file.
21736 (cmd_crc): New function.
21737 (fstest): Handle multiple disks.
21738 (options): Remove part, raw and long, add root and diskcount.
21739 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 21740 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 21741 add handling for the new options, support multiple disks.
21742
21743 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
21744
29c18915 217452008-08-23 Bean <bean123ch@gmail.com>
21746
21747 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
21748
21749 * genfslist.sh: Ignore kernel.mod.
21750
21751 * genpartmaplist.sh: Likewise.
21752
8415f261 217532008-08-23 Robert Millan <rmh@aybabtu.com>
21754
21755 * util/getroot.c (find_root_device): Skip anything that starts with
21756 a dot, not just directories. This avoids things like /dev/.tmp.md0.
21757
d5a7dc5b 217582008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 21759
d5a7dc5b 21760 * util/update-grub.in (GRUB_GFXMODE): Export variable.
21761 * util/grub.d/00_header.in: Allow the administrator to change default
21762 gfxmode via ${GRUB_GFXMODE}.
21763
380cfbb4 217642008-08-21 Felix Zielcke <fzielcke@z-51.de>
21765
21766 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
21767
c9baafe7 217682008-08-21 Robert Millan <rmh@aybabtu.com>
21769
21770 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
21771 loader.
21772 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
21773 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
21774
e290bef2 217752008-08-20 Carles Pina i Estany <carles@pina.cat>
21776
21777 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
21778 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
21779
f9dbfc96 217802008-08-19 Robert Millan <rmh@aybabtu.com>
21781
21782 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
21783 (struct grub_virtual_screen): Remove `cursor_color'.
21784 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
21785 initialization.
21786 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
21787
dd6bd6ab 217882008-08-18 Robert Millan <rmh@aybabtu.com>
21789
21790 Unify (identical) linux_normal.c files.
21791 * loader/i386/efi/linux_normal.c: Move from here ...
21792 * loader/linux_normal.c: ... to here. Update all users.
21793 * loader/i386/pc/linux_normal.c: Delete. Update all users.
21794 * loader/i386/ieee1275/linux_normal.c: Likewise.
21795
7f42f83e 217962008-08-18 Robert Millan <rmh@aybabtu.com>
21797
21798 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
21799 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
21800 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
21801 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
21802 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
21803 New macros.
21804 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
21805 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
21806 (GRUB_LINUX_CL_END_OFFSET): ... to here.
21807 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
21808 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
21809 (GRUB_EFI_CL_END_OFFSET): Rename to ...
21810 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
21811 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
21812 Initialize `params->video_cursor_x' and `params->video_cursor_y'
21813 portably using grub_getxy().
21814 Replace `-EFI' with `-bzImage' in boot message.
21815
38487ddb 218162008-08-17 Robert Millan <rmh@aybabtu.com>
21817
21818 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
21819
deceb3ec 218202008-08-17 Robert Millan <rmh@aybabtu.com>
21821
21822 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
21823
21824 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
21825 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
21826 (grub_machine_mmap_iterate): New function declaration.
21827 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
21828 structure.
21829 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
21830 macros.
21831
21832 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
21833 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
21834 Move e820 parsing from here ...
21835 * kern/i386/pc/mmap.c: New file.
21836 (grub_machine_mmap_iterate): ... to here.
21837
21838 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
21839 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
21840 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
21841 (grub_available_iterate): Redeclare to return `void', and redeclare
21842 its hook to use grub_uint64_t as addr and size parameters, and rename
21843 to ...
21844 (grub_machine_mmap_iterate): ... this. Update all users.
21845
21846 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
21847 to make it more readable. Rename to ...
21848 (grub_machine_mmap_iterate): ... this.
21849
21850 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
21851 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
21852 (grub_multiboot): Allocate an extra region after the payload, and fill
21853 it with a Multiboot memory map. Adjust a.out loader to calculate size
21854 with the extra space.
21855 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
21856 with the extra space.
21857
f8aa0f43 218582008-08-17 Carles Pina i Estany <carles@pina.cat>
21859
9807deb9 21860 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 21861
605f5bb6 218622008-08-17 Felix Zielcke <fzielcke@z-51.de>
21863
21864 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
21865 mdate-sh to the list `find' searches for.
21866 * DISTLIST: Regenerated.
21867
210db6c6 218682008-08-16 Felix Zielcke <fzielcke@z-51.de>
21869
21870 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
21871 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 21872 genmoddep.awk, gensymlist.sh.in.
21873 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 21874 * DISTLIST: Regenerated.
48cdbfd4 21875 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 21876
1082b929 218772008-08-16 Robert Millan <rmh@aybabtu.com>
21878
21879 * disk/raid.c (grub_raid_init): Handle/report errors set by
21880 grub_device_iterate().
21881 * disk/lvm.c (grub_lvm_init): Likewise.
21882
42ce5170 218832008-08-15 Bean <bean123ch@gmail.com>
21884
21885 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21886 and datehook.mod.
21887 (datetime_mod_SOURCES): New macro.
21888 (datetime_mod_CFLAGS): Likewise.
21889 (datetime_mod_LDFLAGS): Likewise.
21890 (date_mod_SOURCES): Likewise.
21891 (date_mod_CFLAGS): Likewise.
21892 (date_mod_LDFLAGS): Likewise.
21893 (datehook_mod_SOURCES): Likewise.
21894 (datehook_mod_CFLAGS): Likewise.
21895 (datehook_mod_LDFLAGS): Likewise.
21896
21897 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21898 and datehook.mod.
21899 (datetime_mod_SOURCES): New macro.
21900 (datetime_mod_CFLAGS): Likewise.
21901 (datetime_mod_LDFLAGS): Likewise.
21902 (date_mod_SOURCES): Likewise.
21903 (date_mod_CFLAGS): Likewise.
21904 (date_mod_LDFLAGS): Likewise.
21905 (datehook_mod_SOURCES): Likewise.
21906 (datehook_mod_CFLAGS): Likewise.
21907 (datehook_mod_LDFLAGS): Likewise.
21908
21909 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21910 and datehook.mod.
21911 (datetime_mod_SOURCES): New macro.
21912 (datetime_mod_CFLAGS): Likewise.
21913 (datetime_mod_LDFLAGS): Likewise.
21914 (date_mod_SOURCES): Likewise.
21915 (date_mod_CFLAGS): Likewise.
21916 (date_mod_LDFLAGS): Likewise.
21917 (datehook_mod_SOURCES): Likewise.
21918 (datehook_mod_CFLAGS): Likewise.
21919 (datehook_mod_LDFLAGS): Likewise.
21920
21921 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21922 and datehook.mod.
21923 (datetime_mod_SOURCES): New macro.
21924 (datetime_mod_CFLAGS): Likewise.
21925 (datetime_mod_LDFLAGS): Likewise.
21926 (date_mod_SOURCES): Likewise.
21927 (date_mod_CFLAGS): Likewise.
21928 (date_mod_LDFLAGS): Likewise.
21929 (datehook_mod_SOURCES): Likewise.
21930 (datehook_mod_CFLAGS): Likewise.
21931 (datehook_mod_LDFLAGS): Likewise.
21932
21933 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21934 and datehook.mod.
21935 (datetime_mod_SOURCES): New macro.
21936 (datetime_mod_CFLAGS): Likewise.
21937 (datetime_mod_LDFLAGS): Likewise.
21938 (date_mod_SOURCES): Likewise.
21939 (date_mod_CFLAGS): Likewise.
21940 (date_mod_LDFLAGS): Likewise.
21941 (datehook_mod_SOURCES): Likewise.
21942 (datehook_mod_CFLAGS): Likewise.
21943 (datehook_mod_LDFLAGS): Likewise.
21944
21945 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
21946
21947 * commands/date.c: New file.
21948
21949 * hook/datehook.c: Likewise.
21950
21951 * include/grub/lib/datetime.h: Likewise.
21952
21953 * include/grub/i386/cmos.h: Likewise.
21954
21955 * lib/datetime.c: Likewise.
21956
21957 * lib/i386/datetime.c: Likewise.
21958
21959 * lib/efi/datetime.c: Likewise.
21960
0e9242da 219612008-08-14 Robert Millan <rmh@aybabtu.com>
21962
21963 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
21964 (grub_mkelfimage_SOURCES): New variable.
21965 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
21966
21967 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
21968 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
21969 * conf/powerpc-ieee1275.rmk: Likewise.
21970 * conf/i386-ieee1275.rmk: Likewise.
21971
21972 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
21973 * kern/i386/coreboot/init.c: Likewise.
21974
21975 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
21976 with `<grub/cpu/kernel.h>'.
21977 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
21978 to ...
21979 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
21980 * kern/i386/coreboot/startup.S: Likewise.
21981
21982 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
21983 (GRUB_MOD_GAP): Remove.
21984 * include/grub/powerpc/kernel.h: New file.
21985 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
21986 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
21987 * include/grub/i386/kernel.h: New file.
21988 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
21989 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
21990 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
21991
21992 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
21993 `grub-mkelfimage'.
21994 Use --directory when invoking grub_mkimage.
21995
21996 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
21997 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
21998 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
21999 and GRUB_KERNEL_CPU_PREFIX.
22000
b86408f8 220012008-08-14 Felix Zielcke <fzielcke@z-51.de>
22002
d5e619ca 22003 * include/grub/err.h (grub_err_printf): New function prototype.
22004 * util/misc.c (grub_err_printf): New function.
22005 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
22006 grub_printf.
22007 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 22008
7161f0e0 220092008-08-13 Robert Millan <rmh@aybabtu.com>
22010
22011 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
22012
a1967522 220132008-08-13 Robert Millan <rmh@aybabtu.com>
22014
22015 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
22016 boot entry.
22017
371458b5 220182008-08-12 Robert Millan <rmh@aybabtu.com>
22019
22020 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
22021 of the relocation code from here ...
22022 (grub_multiboot): ... to here.
22023 (forward_relocator, backward_relocator): Move from here ...
22024 * kern/i386/loader.S (grub_multiboot_forward_relocator)
22025 (grub_multiboot_backward_relocator): ... to here.
22026 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
22027 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
22028 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
22029 (grub_multiboot_forward_relocator_end)
22030 (grub_multiboot_backward_relocator)
22031 (grub_multiboot_backward_relocator_end): New variables.
22032
05f9452b 220332008-08-12 Bean <bean123ch@gmail.com>
22034
22035 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
22036
20024ab0 220372008-08-11 Robert Millan <rmh@aybabtu.com>
22038
22039 * kern/i386/linuxbios/startup.S: Move from here ...
22040 * kern/i386/coreboot/startup.S: ... to here.
22041
22042 * kern/i386/linuxbios/init.c: Move from here ...
22043 * kern/i386/coreboot/init.c: ... to here.
22044
22045 * kern/i386/linuxbios/table.c: Move from here ...
22046 * kern/i386/coreboot/mmap.c: ... to here.
22047
22048 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
22049
e352e9cd 220502008-08-11 Robert Millan <rmh@aybabtu.com>
22051
22052 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
22053 errors. Leave it to the upper layer to handle them.
22054
2d05bc6a 220552008-08-09 Christian Franke <franke@computer.org>
22056
22057 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
22058 * conf/common.rmk: Install `grub-pe2elf' only if requested.
22059 Install `grub.d/10_windows' only on Cygwin.
22060 * configure.ac: Add subst of `target_os'.
22061 Check `target_os' also before setting TARGET_OBJ2ELF.
22062 Add `--enable-grub-pe2elf'.
22063
042bd419 220642008-08-08 Robert Millan <rmh@aybabtu.com>
22065
22066 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22067 (grub_last_time): Change type to grub_uint64_t.
22068 (grub_disk_open): Migrate code from to using grub_get_time_ms().
22069 (grub_disk_close): Likewise.
22070
22071 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22072 (run_menu): Migrate code from to using grub_get_time_ms().
22073
22074 * util/misc.c (grub_get_time_ms): New function.
22075
7f280db5 220762008-08-08 Marco Gerards <marco@gnu.org>
22077
22078 * disk/ata.c (grub_ata_regget): Change return type to
22079 `grub_uint8_t'.
22080 (grub_ata_regget2): Likewise.
22081 (grub_ata_wait_status): New function.
22082 (grub_ata_wait_busy): Removed function, updated all users to use
22083 `grub_ata_wait_status'.
22084 (grub_ata_wait_drq): Likewise.
22085 (grub_ata_cmd): New function.
22086 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
22087 error handling.
22088 (grub_ata_pio_write): Add error handling.
22089 (grub_atapi_identify): Likewise.
22090 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
22091 handling.
22092 (grub_ata_identify): Use `grub_ata_cmd' and improve error
22093 handling. Actually use the detected registers. Reorder the
22094 detection logic such that it is easier to read.
22095 (grub_ata_pciinit): Do not assign the same ID to each controller.
22096 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
22097 handling.
22098 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
22099
22100 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
22101
1fbc5e66 221022008-08-08 Marco Gerards <marco@gnu.org>
22103
22104 * NEWS: Update.
22105
819ce6c0 221062008-08-07 Bean <bean123ch@gmail.com>
22107
22108 * include/grub/x86_64/pci.h: New file.
22109
5c41d44d 221102008-08-07 Christian Franke <franke@computer.org>
22111
22112 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
22113 (TIMER2_GATE): Likewise.
22114 (grub_pit_wait): Add enable/disable of the timer2 gate
22115 bit of port 0x61. This fixes a possible infinite loop.
22116
5ebc275d 221172008-08-07 Bean <bean123ch@gmail.com>
22118
22119 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
22120 kern/i386/tsc.c and kern/i386/pit.c.
22121
22122 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
22123 x86_64 platform.
22124
22125 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
22126 <grub/i386/tsc.h>.
22127
22128 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
22129
e383b3d0 221302008-08-07 Bean <bean123ch@gmail.com>
22131
22132 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
22133
22134 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
22135
22136 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
22137 multiple inclusion. Add #include <grub/types.h>.
22138
1cbb58ac 221392008-08-06 Christian Franke <franke@computer.org>
22140
22141 * conf/common.rmk: Build and install `10_windows'.
22142 * util/grub.d/10_windows.in: New script.
22143
337f5a1e 221442008-08-06 Pavel Roskin <proski@gnu.org>
22145
22146 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
22147
057bc4ac 221482008-08-06 Robert Millan <rmh@aybabtu.com>
22149
22150 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
22151 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
22152
2b99f123 221532008-08-06 Bean <bean123ch@gmail.com>
22154
22155 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
22156 (grub_pxefs_fs_int): Remove dummy definition.
22157 (grub_pxefs_open): Use data->block_size to store the current block
22158 size setting.
22159 (grub_pxefs_read): Use block size stored in data->block_size. As the
22160 value of grub_pxe_blksize can be changed after the file is opened.
22161
9f0234cb 221622008-08-06 Bean <bean123ch@gmail.com>
22163
22164 * fs/i386/pc/pxe.c (curr_file): new variable.
22165 (grub_pxefs_open): Simply the handling of pxe file system. Don't
22166 require the dummy internal file system anymore.
22167 (grub_pxefs_read): Removed.
22168 (grub_pxefs_close): Likewise.
22169 (grub_pxefs_fs_int): Likewise.
22170 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
22171 connection when we switch file.
22172 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
22173
a55d42e0 221742008-08-06 Robert Millan <rmh@aybabtu.com>
22175
22176 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
22177 `halt.mod'.
22178 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
22179 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
22180
22181 * kern/i386/halt.c: New file.
22182 * kern/i386/reboot.c: Likewise.
22183 * include/grub/i386/reboot.h: Likewise.
22184 * include/grub/i386/halt.h: Likewise.
22185
22186 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
22187 Include `<grub/cpu/halt.h>'.
22188 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
22189 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
22190
22191 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
22192 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
22193 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
22194 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
22195 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
22196 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
22197 from here ...
22198 * include/grub/i386/at_keyboard.h: ... to here.
22199
24371d26 222002008-08-05 Robert Millan <rmh@aybabtu.com>
22201
22202 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
22203 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
22204 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
22205 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22206 `kern/generic/millisleep.c'.
22207
22208 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
22209 instead of grub_get_rtc().
22210 (grub_tsc_init): Initialize `tsc_boot_time'.
22211
22212 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
22213 (grub_machine_init): Use grub_tsc_init() rather than
22214 installing an RTC-based handler via grub_install_get_time_ms().
22215
22216 * kern/i386/pit.c: New file.
22217 * include/grub/i386/pit.h: Likewise.
22218
9e7007b3 222192008-08-05 Bean <bean123ch@gmail.com>
22220
22221 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
22222
22223 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
22224 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
22225 (pxe_mod_SOURCES): New macro.
22226 (pxe_mod_CFLAGS): Likewise.
22227 (pxe_mod_LDFLAGS): Likewise.
22228 (pxecmd_mod_SOURCES): Likewise.
22229 (pxecmd_mod_CFLAGS): Likewise.
22230 (pxecmd_mod_LDFLAGS): Likewise.
22231
22232 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
22233 (grub_pxe_call): Likewise.
22234
22235 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
22236
22237 * commands/i386/pc/pxecmd.c: New file.
22238
9f0234cb 22239 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 22240
22241 * include/grub/i386/pc/pxe.h: Likewise.
22242
6977d49f 222432008-08-05 Bean <bean123ch@gmail.com>
22244
22245 * util/console.c (grub_console_cur_color): New variable.
22246 (grub_console_standard_color): Likewise.
22247 (grub_console_normal_color): Likewise.
22248 (grub_console_highlight_color): Likewise.
22249 (color_map): Likewise.
22250 (use_color): Likewise.
22251 (NUM_COLORS): New macro.
22252 (grub_ncurses_setcolorstate): Handle color properly.
22253 (grub_ncurses_setcolor): Don't change color here, just remember the
22254 settings, color will be set in grub_ncurses_setcolorstate.
22255 (grub_ncurses_getcolor): New function.
22256 (grub_ncurses_init): Initialize color pairs.
22257 (grub_ncurses_term): New member grub_ncurses_getcolor.
22258
9c2ff3ee 222592008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 22260
9c2ff3ee 22261 High resolution timer support. Implemented for x86 CPUs using TSC.
22262 Extracted generic grub_millisleep() so it's linked in only as needed.
22263 This requires a Pentium compatible CPU; if the RDTSC instruction is
22264 not supported, then it falls back on the generic grub_get_time_ms()
22265 implementation that uses the machine's RTC.
22266
22267 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
22268 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22269 `kern/generic/millisleep.c'.
22270
22271 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
22272 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
22273
22274 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
22275 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
22276
22277 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22278
22279 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22280 `kern/generic/millisleep.c'.
22281
22282 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22283
22284 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
22285
22286 * kern/generic/rtc_get_time_ms.c: New file.
22287
22288 * kern/generic/millisleep.c: New file.
337f5a1e 22289
9c2ff3ee 22290 * kern/misc.c: Don't include
22291 <kern/time.h> anymore.
22292 (grub_millisleep_generic): Removed.
22293
22294 * commands/sleep.c (grub_interruptible_millisleep): Uses
22295 grub_get_time_ms() instead of grub_get_rtc().
22296
22297 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
22298 function.
22299 (grub_cpu_is_cpuid_supported): New inline function.
22300 (grub_cpu_is_tsc_supported): New inline function.
22301 (grub_tsc_init): New function prototype.
22302 (grub_tsc_get_time_ms): New function prototype.
22303
22304 * kern/i386/tsc.c (grub_get_time_ms): New file.
22305
22306 * include/grub/time.h: Include <grub/types.h.
22307 (grub_millisleep_generic): Removed.
22308 (grub_get_time_ms): New prototype.
22309 (grub_install_get_time_ms): New prototype.
22310 (grub_rtc_get_time_ms): New prototype.
22311
22312 * kern/time.c (grub_get_time_ms): New function.
22313 (grub_install_get_time_ms): New function.
22314
22315 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
22316 <grub/time.h> anymore.
22317 (grub_millisleep): Removed.
22318 (grub_machine_init): Call grub_tsc_init.
22319
22320 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
22321 get_time_ms() implementation.
22322
22323 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
22324 (ieee1275_get_time_ms): New function.
22325 (grub_machine_init): Install get_time_ms() implementation.
22326
22327 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
22328 (grub_machine_init): Call grub_tsc_init().
22329 (grub_millisleep): Removed.
bf06a93f 22330
9c2ff3ee 22331 * kern/ieee1275/init.c (grub_millisleep): Removed.
22332 (grub_machine_init): Install ieee1275_get_time_ms()
22333 implementation.
22334 (ieee1275_get_time_ms): New function.
22335 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
22336 real work.
22337
9ec92aaf 223382008-08-05 Marco Gerards <marco@gnu.org>
22339
22340 * disk/ata.c: Include <grub/pci.h>.
22341 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
22342 (grub_ata_initialize): Rewritten.
22343 (grub_ata_device_initialize): New function.
22344
8d23f507 223452008-08-04 Pavel Roskin <proski@gnu.org>
22346
22347 * kern/main.c: Include grub/mm.h.
22348
5e15ee3d 223492008-08-04 Robert Millan <rmh@aybabtu.com>
22350
22351 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
22352 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
22353 corruption problem).
22354
a9053f8f 223552008-08-04 Robert Millan <rmh@aybabtu.com>
22356
22357 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
22358 warnings introduced in my last commit.
22359
dd19c7d7 223602008-08-03 Robert Millan <rmh@aybabtu.com>
22361
22362 Make PCI available on all i386 architectures.
22363
22364 * include/grub/i386/pc/pci.h: Move from here ...
22365 * include/grub/i386/pci.h: ... to here.
22366
22367 * include/grub/i386/pc/pci.h: Remove.
22368 * include/grub/i386/efi/pci.h: Remove.
22369 * include/grub/x86_64/efi/pci.h: Remove.
22370
22371 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
22372 `<grub/cpu/pci.h>'.
22373
22374 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
22375 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
22376 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
22377
22378 * conf/i386-ieee1275.rmk: Likewise.
22379
e14a6184 223802008-08-03 Robert Millan <rmh@aybabtu.com>
22381
22382 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
22383 (grub_console_setcursor): Make it possible to set cursor off.
22384
52768e37 223852008-08-03 Robert Millan <rmh@aybabtu.com>
22386
22387 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
22388 of modules instead of assuming which platform provides what.
22389 * util/update-grub.in: Likewise.
22390
2d52f57f 223912008-08-03 Robert Millan <rmh@aybabtu.com>
22392
22393 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
22394 instead of `grub_install_dos_part' to determine whether a drive needs
22395 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 22396 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 22397
2a5cd121 223982008-08-02 Robert Millan <rmh@aybabtu.com>
22399
22400 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
22401
93808428 224022008-08-02 Robert Millan <rmh@aybabtu.com>
22403
22404 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
22405 of informational grub_dprintf() calls.
22406
3bd0a12a 224072008-08-02 Robert Millan <rmh@aybabtu.com>
22408
22409 * disk/memdisk.c (memdisk_size): Don't initialize.
22410 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
22411
22412 * include/grub/i386/pc/kernel.h
22413 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
22414 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
22415 (grub_memdisk_image_size, grub_arch_memdisk_addr)
22416 (grub_arch_memdisk_size): Remove.
22417
22418 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
22419 field (was only used to transfer a constant). Add `type' field to
22420 support multiple module types.
22421 (grub_module_iterate): New function.
22422
22423 * kern/device.c (grub_device_open): Do not hide error messages
22424 when grub_disk_open() fails. Use grub_print_error() instead.
22425
22426 * kern/i386/pc/init.c (grub_arch_modules_addr)
22427 (grub_arch_memdisk_size): Remove functions.
22428 (grub_arch_modules_addr): Return the module address in high memory
22429 (now that it isn't copied anymore).
22430
22431 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
22432 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
22433 decompression routine (grub_total_module_size already includes that
22434 now). Don't copy modules back to low memory.
22435
22436 * kern/main.c: Include `<grub/mm.h>'.
22437 (grub_load_modules): Split out (and use) ...
22438 (grub_module_iterate): ... this function, which iterates through
22439 module objects and runs a hook.
22440 Comment out grub_mm_init_region() call, as it would cause non-ELF
22441 modules to be overwritten.
22442
22443 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
22444 the memdisk image in its own region, make it part of the module list.
22445 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
22446 (main): Parse --memdisk|-m option, and pass user-provided path as
22447 parameter to generate_image().
22448 (add_segments): Pass `memdisk_path' down to load_modules().
22449 (load_modules): Embed memdisk image in module section when requested.
22450 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
22451 `header.type' instead of `header.offset'.
22452
22453 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
22454 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
22455 (memdisk_mod_LDFLAGS): New variables.
22456 * conf/i386-coreboot.rmk: Likewise.
22457 * conf/i386-ieee1275.rmk: Likewise.
22458
a927cc73 224592008-08-02 Robert Millan <rmh@aybabtu.com>
22460
22461 * loader/i386/pc/multiboot.c (playground, forward_relocator)
22462 (backward_relocator): New variables. Used to allocate and relocate
22463 the payload, respectively.
22464 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 22465 address, install the appropriate relocator code in each bound of
a927cc73 22466 the payload, and set the entry point such that
22467 grub_multiboot_real_boot() will jump to one of them.
22468
22469 * kern/i386/loader.S (grub_multiboot_payload_size)
22470 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
22471 (grub_multiboot_payload_entry_offset): New variables.
22472 (grub_multiboot_real_boot): Set cpu context to what the relocator
22473 expects, and jump to the relocator instead of the payload.
22474
22475 * include/grub/i386/loader.h (grub_multiboot_payload_size)
22476 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
22477 (grub_multiboot_payload_entry_offset): Export.
22478
b15d8a0c 224792008-08-01 Bean <bean123ch@gmail.com>
22480
22481 * normal/menu_entry.c (editor_getline): Don't return the original
22482 string as result, as it will be released by lexer once it has done
22483 using it.
22484
cdfb3d22 224852008-08-01 Robert Millan <rmh@aybabtu.com>
22486
22487 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
22488 within menuentries, not before them.
22489 util/grub.d/10_hurd.in: Likewise.
22490
9175e93d 224912008-08-01 Bean <bean123ch@gmail.com>
22492
22493 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
22494 (bufio_mod_SOURCES): New macro.
22495 (bufio_mod_CFLAGS): Likewise.
22496 (bufio_mod_LDFLAGS): Likewise.
22497
22498 * include/grub/bufio.h: New file.
22499
22500 * io/bufio.c: Likewise.
22501
22502 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
22503 (grub_video_reader_png): Use grub_buffile_open to open file.
22504
22505 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
22506 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
22507
22508 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
22509 (grub_video_reader_tga): Use grub_buffile_open to open file.
22510
22511 * font/manager.c: Include <grub/bufio.h>.
22512 (add_font): Use grub_buffile_open to open file.
22513
3d8383e7 225142008-07-31 Robert Millan <rmh@aybabtu.com>
22515
22516 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
22517 ELF segments, use a macro for arbitrarily accessing any of them instead
22518 of preparing a pointer that allows access to one at a time.
22519 (grub_multiboot_load_elf64): Likewise.
22520
16e641b6 225212008-07-31 Bean <bean123ch@gmail.com>
22522
22523 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
22524 GRUB_KERNEL_MACHINE_DATA_END.
22525
59198b72 225262008-07-30 Robert Millan <rmh@aybabtu.com>
22527
22528 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
22529 Increase from 0x50 to 0x60.
22530 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
22531 use UUIDs to identify the root drive for them. If that's not
22532 possible, abort.
22533 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
22534 check, for cross-disk installs.
22535
ae88bca3 225362008-07-30 Robert Millan <rmh@aybabtu.com>
22537
22538 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
22539 is non-empty, use it to set the `prefix' environment variable instead
22540 of the usual approach.
22541 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
22542 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
22543 environment variable instead of dummy make_install_device().
22544
22545 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
22546 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 22547 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 22548
22549 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
22550 New variable reference.
22551 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
22552 New macro. Defines offset of `grub_prefix' within startup.S (relative
22553 to `start').
22554 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
22555 section within startup.S (relative to `start').
22556 * include/grub/i386/coreboot/kernel.h: Likewise.
22557
22558 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
22559 Overwrite grub_prefix with its contents, at the beginning of the
22560 first segment.
22561 (main): Understand -p|--prefix.
22562
14f41dd1 225632008-07-30 Robert Millan <rmh@aybabtu.com>
22564
22565 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
22566
4ca049a3 225672008-07-30 Robert Millan <rmh@aybabtu.com>
22568
22569 * term/i386/pc/vga_text.c (grub_console_cls): Use
22570 grub_console_gotoxy() to go back to beginning of the screen.
22571 Found by Patrick Georgi <patrick.georgi@coresystems.de>
22572
2921d337 225732008-07-29 Christian Franke <franke@computer.org>
22574
22575 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22576 Add conversion of emulated mount points on Cygwin.
22577
b609876d 225782008-07-29 Christian Franke <franke@computer.org>
22579
22580 * util/update-grub.in: Add a check for admin
22581 group on Cygwin.
22582 Remove old `grub.cfg.new' before creation.
22583 Add `-f' to `mv' to handle the different filesystem
22584 semantics of Windows.
22585
e93e4679 225862008-07-29 Bean <bean123ch@gmail.com>
22587
22588 * normal/main.c (get_line): Fix buffer overflow bug.
22589
41694fd0 225902008-07-28 Robert Millan <rmh@aybabtu.com>
22591
22592 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
22593 (struct grub_apple_header): New struct. Describes the layout of
22594 the partmap header.
22595 (apple_partition_map_iterate): Check the header magic as well as the
22596 partition magic (which was already being checked).
22597
cfd0b4e6 225982008-07-28 Pavel Roskin <proski@gnu.org>
22599
22600 * genmk.rb: Add a warning to the beginning of the output that
22601 it's a generated file and should not be edited.
22602
93cce016 226032008-07-28 Robert Millan <rmh@aybabtu.com>
22604
22605 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22606 with the same number are found, just use issue a warning with
22607 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 22608
cd1df915 226092008-07-27 Robert Millan <rmh@aybabtu.com>
22610
22611 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
22612 information.
22613
b70a8427 226142008-07-27 Bean <bean123ch@gmail.com>
22615
22616 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
22617 (grub_fat_find_dir): Ignore case when comparing filename.
22618
8f5e379f 226192008-07-27 Bean <bean123ch@gmail.com>
22620
22621 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
22622 smallino, as it's more descriptive, and i8count can be confused with
22623 the other field count.
22624 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
22625 inode type.
22626
a85cd5a0 226272008-07-27 Bean <bean123ch@gmail.com>
22628
22629 * commands/crc.c: New file.
22630
22631 * lib/crc.c: Likewise.
22632
22633 * include/grub/lib/crc.h: Likewise.
22634
22635 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
22636
22637 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
22638 (hexdump): Move this function to ...
22639
22640 * lib/hexdump.c: ... here.
22641
22642 * include/grub/hexdump.h: Renamed to ...
22643
22644 * include/grub/lib/hexdump.h: ... this.
22645
22646 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
22647
22648 * util/grub-editenv.c: Likewise.
22649
22650 * include/envblk.h: Renamed to ...
22651
22652 * include/lib/envblk.h: ... this.
22653
22654 * util/envblk.c: Renamed to ...
22655
22656 * lib/envblk.c: ... this.
22657
22658 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
22659 lib/hexdump.c.
22660 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
22661 (pkglib_MODULES): Add crc.mod.
22662 (hexdump_mod_SOURCES): Add lib/hexdump.c.
22663 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
22664 (crc_mod_SOURCES): New macro.
22665 (crc_mod_CFLAGS): Likewise.
22666 (crc_mod_LDFLAGS): Likewise.
22667
22668 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
22669
22670 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22671
22672 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22673
22674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22675
22676 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22677
c298def0 226782008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 22679
22680 * commands/help.c: Include <grub/term.h>.
22681 (TERM_WIDTH): Removed. Updated all users.
22682
cc349fb3 226832008-07-27 Pavel Roskin <proski@gnu.org>
22684
22685 * util/getroot.c (find_root_device): Rephrase a comment to avoid
22686 spurious warnings about a comment within a comment.
22687
9051607e 226882008-07-25 Robert Millan <rmh@aybabtu.com>
22689
22690 * util/getroot.c (find_root_device): Skip devices that match
22691 /dev/dm-[0-9]. This lets the real device be found for any type of
22692 abstraction (LVM, EVMS, RAID..).
22693 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
22694 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
22695 device is found first, find_root_device() will now skip it.
22696
01453bfc 226972008-07-24 Pavel Roskin <proski@gnu.org>
22698
22699 * include/grub/types.h: Use __builtin_bswap32() and
22700 __builtin_bswap64() with gcc 4.3 and newer.
22701
6af9849f 227022008-07-24 Christian Franke <franke@computer.org>
22703
3a0fa256 22704 * util/i386/pc/grub-install.in: If `--debug' is specified,
22705 pass `--verbose' to grub-setup.
22706 Abort script if make_system_path_relative_to_its_root() fails.
22707
7810e747 227082008-07-24 Bean <bean123ch@gmail.com>
22709
22710 * configure.ac: Fixed a bug caused by the previous cygwin patch,
22711 variable `target_platform' should be `platform'.
22712
42290e17 227132008-07-24 Bean <bean123ch@gmail.com>
22714
51cc5193 22715 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 22716 (grub_png_init_fixed_block): New function.
22717 (grub_png_decode_image_data): Handle fixed huffman code compression.
22718
2a8a80e4 227192008-07-24 Bean <bean123ch@gmail.com>
22720
22721 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
22722 (grub_pe2elf_SOURCES): New macro.
22723 (CLEANFILES): Add grub-pe2elf.
22724
22725 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
22726 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
22727 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
22728 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
22729 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
22730 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
22731 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
22732 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
22733 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
22734 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
22735 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
22736 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
22737 (GRUB_PE32_DT_FUNCTION): Likewise.
22738 (GRUB_PE32_REL_I386_DIR32): Likewise.
22739 (GRUB_PE32_REL_I386_REL32): Likewise.
22740 (grub_pe32_symbol): New structure.
22741 (grub_pe32_reloc): Likewise.
22742
22743 * util/grub-pe2elf.c: New file.
22744
22745 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
22746 start symbol in non pc platform.
22747
22748 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
22749
22750 The following patches are from Christian Franke.
22751
22752 * include/grub/dl.h: Remove .previous, gas supports this only
22753 for ELF format.
22754
22755 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
22756 Remove .type, gas supports this only for ELF format.
22757
22758 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
22759 nullbytes in symbol table. This fixes an infinite loop if table is
22760 zero filled.
22761
22762 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
22763 TARGET_IMG_LDFLAGS and EXEEXT.
22764
22765 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
22766 TARGET_IMG_LDFLAGS_AC.
22767 (grub_CHECK_STACK_ARG_PROBE): New function.
22768
22769 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
22770
22771 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
22772
22773 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
22774 to set TARGET_IMG_LD* accordingly.
22775 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
22776 Add call to grub_CHECK_STACK_ARG_PROBE.
22777 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
22778
22779 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
22780
22781 * genmk.rb: Add EXEEXT to CLEANFILES.
22782
12ccdb75 227832008-07-23 Robert Millan <rmh@aybabtu.com>
22784
22785 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
22786 define the codes for arrows and lines used for the menu).
22787 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
22788 as well.
22789
22790 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
22791 fonts, because the latter are too slow.
22792
18eeaf04 227932008-07-21 Bean <bean123ch@gmail.com>
22794
22795 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
22796 a20. Run keyboard test last, as it will cause macbook to halt.
22797
b095e2ad 227982008-07-18 Pavel Roskin <proski@gnu.org>
22799
22800 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
22801 load foreign architecture modules correctly anyway. Keep
22802 support for loading host architecture modules, whether we
22803 compile them or not.
22804
737feb35 228052008-07-17 Pavel Roskin <proski@gnu.org>
22806
3f4ce737 22807 * configure.ac: Use -m32 or -m64 regardless of whether we had to
22808 change target_cpu. The compiler default can mismatch target_cpu
22809 in any case.
22810
4ad2d049 22811 * disk/efi/efidisk.c: Fix format warnings on x86_64.
22812 * kern/efi/efi.c: Likewise.
22813
f6130a12 22814 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
22815 target compiler is functional.
22816 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
22817 are set up.
22818
58393a2d 22819 * configure.ac: Default to efi platform for x86_64-apple. Allow
22820 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
22821 adjustments from the rest, only do them if target is not
22822 explicitly given. Merge other adjustments with the final sanity
22823 check. Remove an extraneous check for supported CPU. Be
22824 specific which CPU and which platform is not supported.
22825
737feb35 22826 * configure.ac: Default to pc platform for x86_64.
22827
546f966a 228282008-07-17 Robert Millan <rmh@aybabtu.com>
22829
22830 Partial LinuxBIOS -> Coreboot rename.
22831
22832 * conf/i386-linuxbios.rmk: Renamed to ...
22833 * conf/i386-coreboot.rmk: ... this.
22834 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
22835 * configure.ac: Accept "coreboot" as input platform (but maintain
22836 compatibility with "linuxbios").
22837 * include/grub/i386/linuxbios: Renamed to ...
22838 * include/grub/i386/coreboot: ... this.
22839
20011694 228402008-07-17 Bean <bean123ch@gmail.com>
22841
22842 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 22843 (appleldr_mod_SOURCE): New variable.
20011694 22844 (appleldr_mod_CFLAGS): Likewise.
22845 (appleldr_mod_LDFLAGS): Likewise.
22846 (pci_mod_SOURCES): Likewise.
22847 (pci_mod_CFLAGS): Likewise.
22848 (pci_mod_LDFLAGS): Likewise.
22849 (lspci_mod_SOURCES): Likewise.
22850 (lspci_mod_CFLAGS): Likewise.
22851 (lspci_mod_LDFLAGS): Likewise.
22852
22853 * conf/x86_64-efi.rmk: New file.
22854
22855 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
22856 macro.
22857 (grub_efidisk_write): Likewise.
22858
22859 * include/efi/api.h (efi_call_0): New macro.
22860 (efi_call_1): Likewise.
22861 (efi_call_2): Likewise.
22862 (efi_call_3): Likewise.
22863 (efi_call_4): Likewise.
22864 (efi_call_5): Likewise.
22865 (efi_call_6): Likewise.
22866
22867 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
22868 grub_rescue_cmd_chainloader.
22869
22870 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
22871 (grub_pe32_optional_header): Change some fields based on i386 or
22872 x86_64 platform.
22873 (GRUB_PE32_PE32_MAGIC): Likewise.
22874
22875 * include/grub/efi/uga_draw.h: New file.
22876
22877 * include/grub/elf.h (STN_ABS): New constant.
22878 (R_X86_64_NONE): Relocation constant for x86_64.
22879 (R_X86_64_64): Likewise.
22880 (R_X86_64_PC32): Likewise.
22881 (R_X86_64_GOT32): Likewise.
22882 (R_X86_64_PLT32): Likewise.
22883 (R_X86_64_COPY): Likewise.
22884 (R_X86_64_GLOB_DAT): Likewise.
22885 (R_X86_64_JUMP_SLOT): Likewise.
22886 (R_X86_64_RELATIVE): Likewise.
22887 (R_X86_64_GOTPCREL): Likewise.
22888 (R_X86_64_32): Likewise.
22889 (R_X86_64_32S): Likewise.
22890 (R_X86_64_16): Likewise.
22891 (R_X86_64_PC16): Likewise.
22892 (R_X86_64_8): Likewise.
22893 (R_X86_64_PC8): Likewise.
22894
22895 * include/grub/i386/efi/pci.h: New file.
22896
22897 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
22898 Change it value based on platform.
22899 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
22900 (GRUB_E820_RAM): Likewise.
22901 (GRUB_E820_RESERVED): Likewise.
22902 (GRUB_E820_ACPI): Likewise.
22903 (GRUB_E820_NVS): Likewise.
22904 (GRUB_E820_EXEC_CODE): Likewise.
22905 (GRUB_E820_MAX_ENTRY): Likewise.
22906 (grub_e820_mmap): New structure.
22907 (linux_kernel_header): Change the efi field according to different
22908 kernel version, also field from linux_kernel_header.
22909
22910 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
22911
22912 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
22913 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
22914 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
22915 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
22916 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
22917 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
22918 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
22919 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
22920 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
22921 (GRUB_PCI_ADDR_IO_MASK): Likewise.
22922
22923 * include/grub/x86_64/efi/kernel.h: New file.
22924
22925 * include/grub/x86_64/efi/loader.h: Likewise.
22926
22927 * include/grub/x86_64/efi/machine.h: Likewise.
22928
22929 * include/grub/x86_64/efi/pci.h: Likewise.
22930
22931 * include/grub/x86_64/efi/time.h: Likewise.
22932
22933 * include/grub/x86_64/linux.h: Likewise.
22934
22935 * include/grub/x86_64/setjmp.h: Likewise.
22936
22937 * include/grub/x86_64/time.h: Likewise.
22938
22939 * include/grub/x86_64/types.h: Likewise.
22940
22941 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
22942 GRUB_TARGET_SIZEOF_VOID_P.
22943
22944 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
22945 (grub_efi_locate_handle): Likewise.
22946 (grub_efi_open_protocol): Likewise.
22947 (grub_efi_set_text_mode): Likewise.
22948 (grub_efi_stall): Likewise.
22949 (grub_exit): Likewise.
22950 (grub_reboot): Likewise.
22951 (grub_halt): Likewise.
22952 (grub_efi_exit_boot_services): Likewise.
22953 (grub_get_rtc): Likewise.
22954
22955 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
22956 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
22957 (grub_efi_allocate_pages): Wrap efi calls.
22958 (grub_efi_free_pages): Wrap efi calls.
22959 (grub_efi_get_memory_map): Wrap efi calls.
22960
22961 * kern/x86_64/dl.c: New file.
22962
22963 * kern/x86_64/efi/callwrap.S: Likewise.
22964
22965 * kern/x86_64/efi/startup.S: Likewise.
22966
22967 * loader/efi/appleloader.c: Likewise.
22968
22969 * loader/efi/chainloader.c (cmdline): New variable.
22970 (grub_chainloader_unload): Wrap efi calls.
22971 (grub_chainloader_boot): Likewise.
22972 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
22973 command line.
22974
22975 * loader/efi/chainloader_normal.c (chainloader_command):
22976 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
22977 command line.
22978
22979 * loader/i386/efi/linux.c (allocate_pages): Change allocation
22980 method.
22981 (grub_e820_add_region): New function.
22982 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
22983 booting.
22984 (grub_find_video_card): New function.
22985 (grub_linux_setup_video): New function.
22986 (grub_rescue_cmd_linux): Probe for video information.
22987
22988 * normal/x86_64/setjmp.S: New file.
22989
22990 * term/efi/console.c (map_char): New function.
22991 (grub_console_putchar): Map unicode char.
22992 (grub_console_checkkey): Wrap efi calls.
22993 (grub_console_getkey): Likewise.
22994 (grub_console_getwh): Likewise.
22995 (grub_console_gotoxy): Likewise.
22996 (grub_console_cls): Likewise.
22997 (grub_console_setcolorstate): Likewise.
22998 (grub_console_setcursor): Likewise.
22999
23000 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
23001
59652a20 230022008-07-16 Pavel Roskin <proski@gnu.org>
23003
ef294055 23004 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
23005 format strings.
23006
59652a20 23007 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
23008 pointer, not an integer. This fixes a warning and prevents
23009 precision loss on 64-bit systems.
23010 (relocate_addresses): Remove unneeded cast.
23011
afc3b5d7 230122008-07-15 Pavel Roskin <proski@gnu.org>
23013
506b2b3e 23014 * kern/i386/ieee1275/init.c: Include grub/cache.h.
23015
62ead89c 23016 * term/ieee1275/ofconsole.c: Disable code unused on i386.
23017
c4cd51d7 23018 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
23019 Fix comparison between signed and unsigned.
23020
0d3d8f28 23021 * include/grub/i386/ieee1275/console.h: Declare
23022 grub_console_init() and grub_console_fini().
23023
8804b286 23024 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
23025 It's empty and unused.
23026
ee01cf35 23027 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
23028 beginning to avoid warnings with some compilers.
23029
afc3b5d7 23030 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
23031 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
23032
e4e8eaa5 230332008-07-14 Pavel Roskin <proski@gnu.org>
23034
407aceb4 23035 * kern/env.c (grub_register_variable_hook): Don't copy empty
23036 string, it leaks memory. Pass "" to grub_env_set(), it should
23037 handle constant strings.
23038
e4e8eaa5 23039 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
23040 * commands/cmp.c (grub_cmd_cmp): Likewise.
23041 * kern/dl.c (grub_dl_flush_cache): Likewise.
23042 (grub_dl_load_core): Likewise.
23043 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
23044 (grub_elf64_load_phdrs): Likewise.
23045
d4e2dad3 230462008-07-13 Pavel Roskin <proski@gnu.org>
23047
23048 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
23049 between signed and unsigned.
23050 (LzmaEnc_Finish): Fix warning about an unused parameter.
23051
aa24b516 230522008-07-13 Bean <bean123ch@gmail.com>
23053
23054 * Makefile.in (enable_lzo): New rule.
23055
23056 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
23057
23058 * configure.ac (ENABLE_LZO): New option --enable-lzo.
23059
23060 * boot/i386/pc/lnxboot.S: #include <config.h>.
23061
23062 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 23063 its value according to the compression algorithm used, lzo or lzma.
aa24b516 23064
23065 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
23066 compression algorithm according to configure macro.
23067
23068 * kern/i386/pc/startup.S (codestart): Likewise.
23069
23070 * kern/i386/pc/lzma_decode.S: New file.
23071
23072 * include/grub/lib/LzFind.h: Likewise.
23073
23074 * include/grub/lib/LzHash.h: Likewise.
23075
23076 * include/grub/lib/LzmaDec.h: Likewise.
23077
23078 * include/grub/lib/LzmaEnc.h: Likewise.
23079
23080 * include/grub/lib/LzmaTypes.h: Likewise.
23081
23082 * lib/LzFind.c: Likewise.
23083
23084 * lib/LzmaDec.c: Likewise.
23085
23086 * lib/LzmaEnc.c: Likewise.
23087
4ae821ac 230882008-07-13 Bean <bean123ch@gmail.com>
23089
23090 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
23091 (grub_ext4_extent_header): New structure.
23092 (grub_ext4_extent): Likewise.
23093 (grub_ext4_extent_idx): Likewise.
23094 (grub_ext4_find_leaf): New function.
23095 (grub_ext2_read_block): Handle extents.
23096
9a745147 230972008-07-12 Robert Millan <rmh@aybabtu.com>
23098
23099 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
23100
d49a4cf6 231012008-07-11 Robert Millan <rmh@aybabtu.com>
23102
23103 * util/grub.d/40_custom.in: New file. Example on how to add custom
23104 entries to /etc/grub.d.
23105 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
23106 40_custom (implicitly, by merging all the grub.d rules).
23107
947414b4 231082008-07-11 Pavel Roskin <proski@gnu.org>
23109
0059cf6f 23110 * commands/read.c (grub_getline): Fix invalid memory access.
23111 Don't add newline to the variable value.
23112
947414b4 23113 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
23114 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
23115 (serial_hw_get_port): Check validity of the port number.
23116 (grub_cmd_serial): Check return value of serial_hw_get_port().
23117
62a02d00 231182008-07-07 Pavel Roskin <proski@gnu.org>
23119
23120 * boot/i386/pc/diskboot.S (notification_string): Replace
23121 "Loading kernel" with just "loading". This is shorter, less
23122 confusing and saves a few bytes for possible future changes.
23123
3e5581b0 231242008-07-05 Pavel Roskin <proski@gnu.org>
23125
ea387a48 23126 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
23127 size for ATAPI devices, they are undefined. Output sector
23128 number in decimal form.
23129
3e5581b0 23130 * disk/ata.c: Use named constants for status bits.
23131
fdecb8fd 231322008-07-04 Pavel Roskin <proski@gnu.org>
23133
bcd35b90 23134 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
23135 grub_addr_t before casting it to the void pointer to fix a
23136 warning. Non-addressable regions are discarded earlier.
23137 (grub_arch_modules_addr): Cast _end to grub_addr_t.
23138 * kern/i386/linuxbios/table.c: Include grub/misc.h.
23139 (check_signature): Don't shadow table_header.
23140 (grub_linuxbios_table_iterate): Cast numeric constants to
23141 grub_linuxbios_table_header_t.
23142 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
23143 grub_stop().
23144
af58ab3d 23145 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
23146 prevent warnings.
23147
1759aa57 23148 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
23149 pointer, which can cause warnings. Support 64-bit addresses.
23150
fdecb8fd 23151 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
23152 of sizeof(long). This fixes PowerPC image generation on x86_64.
23153
8516d2a8 231542008-07-04 Robert Millan <rmh@aybabtu.com>
23155
23156 This fixes a performance issue when pc & gpt partmap iterators
23157 didn't abort iteration even after our hook found what it was
fe987087 23158 looking for (often causing expensive probes of non-existent drives).
8516d2a8 23159
23160 Some callers relied on previous buggy behaviour, since they would
34c44600 23161 raise an error when their own hooks caused early abortion of its
8516d2a8 23162 iteration.
23163
23164 * kern/device.c (grub_device_open): Improve error message.
23165 * disk/lvm.c (grub_lvm_open): Likewise.
23166 * disk/raid.c (grub_raid_open): Likewise.
23167
23168 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
23169 when hook requests it, independently of grub_errno.
23170 (pc_partition_map_probe): Do not fail when find_func() caused
23171 early abortion of pc_partition_map_iterate().
23172
23173 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
23174 when hook requests it, independently of grub_errno.
23175 (gpt_partition_map_probe): Do not fail when find_func() caused
23176 early abortion of gpt_partition_map_iterate().
23177
23178 * kern/partition.c (grub_partition_iterate): Abort parent iteration
23179 when hook requests it, independently of grub_errno. Do not fail when
23180 part_map_iterate_hook() caused early abortion of p->iterate().
23181
23182 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
23183 when grub_partition_iterate() returned with non-zero.
23184
277d0de9 231852008-07-03 Pavel Roskin <proski@gnu.org>
23186
23187 * disk/ata.c (grub_ata_pio_write): Check status before writing,
23188 like we do in grub_ata_pio_read().
23189 (grub_ata_readwrite): Always write individual sectors. Fix the
23190 sector count for the remainder.
23191 (grub_ata_write): Enable writing to ATA devices. Correctly
23192 report error for ATAPI devices.
23193
d4c9b428 231942008-07-02 Pavel Roskin <proski@gnu.org>
23195
e43fc690 23196 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
23197 warning.
23198
f707af42 23199 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
23200 for every read sector, we already increment it for the whole
23201 batch. This fixes reading more than 256 sectors at once.
23202
11e16b15 23203 * util/grub-editenv.c (cmd_info): Cast argument to long
23204 explicitly. ptrdiff_t reduces to int on i386.
23205
cbabfdd4 23206 * util/grub-editenv.c (main): Be specific which parameter is
23207 missing.
23208
b8fbce0a 23209 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
23210 (memdisk): Make memdisk_orig_addr a pointer.
23211
c9c8e606 23212 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
23213 for file offsets, use grub_off_t instead. Fix printf format
23214 warnings.
23215
ca62e598 23216 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
23217 there. Real unexpected warnings should not drown in the noise
23218 about known problems.
23219
ce8d1766 23220 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
23221 grub_disk_addr_t for memory addresses.
23222
00c7a56a 23223 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
23224 explicitly to fix a warning.
23225
08d3ef09 23226 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
23227
cb71ba20 23228 * Makefile.in (MODULE_LDFLAGS): New variable.
23229 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
23230 the linker accepts --build-id=none.
23231 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
23232 MODULE_LDFLAGS.
23233 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
23234
d4c9b428 23235 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
23236 those in Linux XFS code. Provide a way to access 64-bit parent
23237 inode.
23238 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
23239 the end of struct grub_xfs_dir_header.
23240
d4156eee 232412008-07-02 Bean <bean123ch@gmail.com>
23242
23243 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
23244 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23245 and GRUB_IEEE1275_FLAG_NO_ANSI.
23246
23247 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
23248 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23249 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
23250
23251 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
23252 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
23253
23254 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
23255 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
23256
23257 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
23258 esc sequence on non ANSI terminal.
23259 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
23260
23261 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
23262 beginning of file.
23263
2270f77b 232642008-07-02 Bean <bean123ch@gmail.com>
23265
23266 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
23267 (grub_editenv_SOURCES): New variable.
23268 (pkglib_MODULES): Add loadenv.mod.
23269 (loadenv_mod_SOURCES): New variable.
23270 (loadenv_mod_CFLAGS): Likewise.
23271 (loadenv_mod_LDFLAGS): Likewise.
23272
23273 * include/grub/envblk.h: New file.
23274
23275 * util/envblk.c: New file.
23276
23277 * util/grub-editenv.c: New file.
23278
23279 * commands/loadenv.c: New file.
23280
0e9e51ec 232812008-07-01 Pavel Roskin <proski@gnu.org>
23282
d89b7634 23283 * include/multiboot2.h (struct multiboot_tag_module): Use char,
23284 not unsigned char. This fixes warnings and is consistent with
23285 other tags.
23286
bf1835b1 23287 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
23288
8222a04b 23289 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
23290
6a42d99d 23291 * term/tparm.c (analyze): Always set *popcount.
23292
10b159d1 23293 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
23294 cast to fix a warning.
23295
b8789f6c 23296 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
23297 cast to suppress a warning.
23298
29d7e38a 23299 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
23300 grub_fshelp_read_file() expects.
23301
f341f669 23302 * fs/fat.c: Fix UUID calculation on big-endian systems. We
23303 write uuid as a 32-bit value in CPU byte order, so declare and
23304 use it as such.
23305
0e9e51ec 23306 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
23307 long if the format specifier expects it.
23308 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
23309 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23310 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
23311 long to fix a warning.
23312 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
23313 grub_dprintf() arguments to fix warnings.
23314
3aefa857 233152008-06-30 Pavel Roskin <proski@gnu.org>
23316
56c7668b 23317 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
23318 install_bsd_part immediately before core.img is embedded or
23319 modified on disk. This fixes core.img verification if core.img
23320 cannot be embedded.
23321
3aefa857 23322 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
23323 core_path to calculate the blocklist.
23324 Patch from Javier Martín <lordhabbit@gmail.com>
23325
5444088d 233262008-06-29 Robert Millan <rmh@aybabtu.com>
23327
23328 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
23329 block to disk block.
23330 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
23331 Patch from Niels Böhm <bitbucket@arcor.de>
23332
674835c8 233332008-06-29 Robert Millan <rmh@aybabtu.com>
23334
23335 * util/update-grub_lib.in (font_path): Search for fonts in
23336 /boot/grub first, which is more likely to be readable (we aren't
23337 deciding where fonts live, just looking for them).
23338
f527dbc8 233392008-06-26 Pavel Roskin <proski@gnu.org>
23340
6c2d8df6 23341 * util/biosdisk.c (read_device_map): Don't leave dead map
23342 entries for devices failing stat() check.
23343
f527dbc8 23344 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
23345 core_path_dev for the core.img path on the target device.
23346
aebe3d13 233472008-06-26 Robert Millan <rmh@aybabtu.com>
23348
23349 * disk/fs_uuid.c: New file.
23350 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
23351 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
23352 (fs_uuid_mod_LDFLAGS): New variables.
23353 * include/grub/disk.h (grub_disk_dev_id): Add
23354 `GRUB_DISK_DEVICE_UUID_ID'.
23355 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
23356 implement iterate().
23357
37aaf354 233582008-06-26 Robert Millan <rmh@aybabtu.com>
23359
23360 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
23361 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
23362 Linux image includes no initrd.
23363
25ff262a 233642008-06-21 Javier Martín <lordhabbit@gmail.com>
23365
23366 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
23367 call to resolve the core image location that effectively appended the
23368 name twice.
23369
76a2bd44 233702008-06-21 Robert Millan <rmh@aybabtu.com>
23371
23372 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
23373 call from here ...
23374
23375 * util/grub.d/10_hurd.in: ... to here ...
23376 * util/grub.d/10_linux.in: ... and here.
23377
650e1c79 233782008-06-19 Robert Millan <rmh@aybabtu.com>
23379
fe987087 23380 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 23381 after it has been set by grub_machine_set_prefix().
23382
6ce63911 233832008-06-19 Robert Millan <rmh@aybabtu.com>
23384
23385 * commands/search.c (search_label, search_fs_uuid, search_file): Print
23386 search result when not saving to variable, not the other way around.
23387 When saving to variable, abort iteration as soon as a match is found.
23388
73940cec 233892008-06-19 Robert Millan <rmh@aybabtu.com>
23390
23391 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
23392 check for partition that provides /boot/grub. Its logic is flawed,
23393 as it prevents prepare_grub_to_access_device() from being called
23394 multiple times.
23395
3c62a39d 233962008-06-19 Robert Millan <rmh@aybabtu.com>
23397
23398 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
23399 "insmod" command directly when abstraction modules are needed,
fe987087 23400 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 23401 since it had already been processed).
23402
47395a42 234032008-06-19 Pavel Roskin <proski@gnu.org>
23404
23405 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
23406 changed. This is needed in case GRUB_LIBDIR changes.
23407 * conf/i386-ieee1275.rmk: Likewise.
23408 * conf/i386-linuxbios.rmk: Likewise.
23409 * conf/i386-pc.rmk: Likewise.
23410 * conf/powerpc-ieee1275.rmk: Likewise.
23411
a145ac2d 234122008-06-18 Pavel Roskin <proski@gnu.org>
23413
23414 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
23415 kernel_elf_symlist.c to symlist.c for consistency with other
23416 architectures. Update all users.
23417 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23418
7847c51e 234192008-06-18 Robert Millan <rmh@aybabtu.com>
23420
23421 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
23422 it in prefix.
23423
23424 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
23425 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
23426 a RAID device, run setup() for all members independently on whether
23427 LVM abstraction is being used.
23428 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
23429 If grub-mkimage has set `*install_dos_part == -2', don't override this
23430 value.
23431 Perform *install_dos_part adjustments independently on whether
23432 we're embedding or not.
23433 Clarify error message when image is too big for embedding.
23434 Remove duplicate *install_dos_part stanza.
23435
b23e5644 234362008-06-17 Robert Millan <rmh@aybabtu.com>
23437
23438 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
23439 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
23440 variables.
23441 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
23442 values in grub_ofconsole_normal_color and
23443 grub_ofconsole_highlight_color (they're not directly related to
23444 background and foreground).
23445 (grub_ofconsole_setcolorstate): Extract background and foreground
23446 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
23447
0aac2f79 234482008-06-17 Robert Millan <rmh@aybabtu.com>
23449
23450 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
23451 /boot/grub for the check in last commit, not /boot (they could be
23452 different partitions).
23453
3cca7ef3 234542008-06-16 Robert Millan <rmh@aybabtu.com>
23455
23456 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
23457 asked to setup access for the same partition that provides /boot,
23458 don't bother using UUIDs since our root already has the value we
23459 want.
23460
347396d8 234612008-06-16 Robert Millan <rmh@aybabtu.com>
23462
23463 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
23464 I2O devices.
23465 Patch from Sven Mueller <sven@debian.org>.
23466
991477f8 234672008-06-16 Robert Millan <rmh@aybabtu.com>
23468
23469 * util/update-grub.in: Check for $EUID instead of $UID.
23470 Reported by Vincent Zweije.
23471
d31a32a1 234722008-06-16 Bean <bean123ch@gmail.com>
23473
fe987087 23474 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 23475 (grub_ext2_read_block): Likewise.
23476 (grub_ext2_read_inode): Likewise.
23477 (grub_ext2_mount): Likewise.
23478 (grub_ext2_close): Likewise.
23479 (grub_ext3_get_journal): Removed.
23480
fe987087 23481 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 23482 (grub_reiserfs_read_symlink): Likewise.
23483 (grub_reiserfs_mount): Likewise.
23484 (grub_reiserfs_open): Likewise.
23485 (grub_reiserfs_read): Likewise.
23486 (grub_reiserfs_close): Likewise.
23487 (grub_reiserfs_get_journal): Removed.
23488
23489 * fs/fshelp.c (grub_fshelp_read): Removed.
23490 (grub_fshelp_map_block): Likewise.
23491
23492 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
23493 (grub_fshelp_journal): Likewise.
23494 (grub_fshelp_read): Likewise.
23495 (grub_fshelp_map_block): Likewise.
23496
3540a760 234972008-06-16 Pavel Roskin <proski@gnu.org>
23498
23499 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
23500 floating point anymore.
23501 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
23502
95614c84 235032008-06-15 Pavel Roskin <proski@gnu.org>
23504
23505 * commands/ls.c (grub_ls_list_files): Use integer calculations
23506 for human readable format, avoid floating point use.
23507 * kern/misc.c (grub_ftoa): Remove.
23508 (grub_vsprintf): Remove floating point support.
23509
50465dd6 235102008-06-15 Robert Millan <rmh@aybabtu.com>
23511
fe6b695a 23512 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 23513 devices.
23514 Reported by Max Vozeler.
23515
a9207284 235162008-06-15 Robert Millan <rmh@aybabtu.com>
23517
23518 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
23519 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
23520 skipped later.
23521 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
23522 the beginning of the prefix.
23523
23524 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
23525 It is assumed that if we have a memdisk, grub-mkimage has set
23526 grub_prefix to include the "(memdisk)" drive in it.
23527
a7cbd45a 235282008-06-15 Robert Millan <rmh@aybabtu.com>
23529
23530 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
23531 Initialize keyboard controller after registering the terminal, so that
23532 grub_printf() can be called from grub_keyboard_controller_init().
23533
21cf716a 235342008-06-15 Robert Millan <rmh@aybabtu.com>
23535
23536 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
23537 extent-btree which is written as big endian on disk.
23538 Reported by Alain Greppin <al@chilibi.org>.
23539
23a64d8e 235402008-06-14 Robert Millan <rmh@aybabtu.com>
23541
23542 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
23543 * util/i386/pc/grub-install.in (modules): Likewise.
23544
d687651c 235452008-06-13 Pavel Roskin <proski@gnu.org>
23546
23547 * commands/ls.c (grub_ls_list_files): Fix format warnings.
23548
dfe9ddd4 235492008-06-13 Bean <bean123ch@gmail.com>
23550
23551 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
23552
23553 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
23554
23555 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
23556 to indicate sparse block.
23557
16ae7781 235582008-06-12 Pavel Roskin <proski@gnu.org>
23559
e6d1a308 23560 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
23561 number, grub_fshelp_read() does it for us.
23562
16ae7781 23563 * fs/fshelp.c (grub_fshelp_read): New function. Implement
23564 linear disk read with journal translation.
23565 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
23566 * include/grub/fshelp.h: Declare grub_fshelp_read().
23567
40fd3a2b 235682008-06-09 Pavel Roskin <proski@gnu.org>
23569
23570 * fs/minix.c (grub_minix_mount): Handle error reading
23571 superblock.
23572
f5679726 235732008-06-08 Robert Millan <rmh@aybabtu.com>
23574
23575 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
23576 don't append the RAID prefix afterwards.
23577 Reported by Clint Adams.
23578
ce525529 235792008-06-08 Robert Millan <rmh@aybabtu.com>
23580
23581 Based on description from Pavel:
23582 * kern/disk.c (grub_disk_check_range): Rename to ...
23583 (grub_disk_adjust_range): ... this. Add a comment explaining the
23584 tasks performed by this function.
23585
ad4936a0 235862008-06-08 Robert Millan <rmh@aybabtu.com>
23587
23588 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
23589 `num_serial' (for consistency with other variables).
23590 (struct grub_ntfs_data): Add `uuid' member.
23591 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
23592 (grub_ntfs_uuid): New function.
23593 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
23594
dc20b0f9 235952008-06-07 Pavel Roskin <proski@gnu.org>
23596
23597 * util/biosdisk.c (open_device): Revert last change to the
23598 function, it broke installation. The sector needs to be
23599 different dependent on which device is opened.
23600
c5e3cfba 236012008-06-06 Robert Millan <rmh@aybabtu.com>
23602
23603 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
23604 rest of GRUB, and breakage doesn't happen if its value were modified.
23605
23606 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23607 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
23608 a constant (same value).
23609 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
23610 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
23611
26a1f8c4 236122008-06-06 Robert Millan <rmh@aybabtu.com>
23613
23614 * util/biosdisk.c (open_device): Do not modify sector offset when
23615 accessing a partition. kern/disk.c already handles this for us.
23616
25d6b327 236172008-06-06 Robert Millan <rmh@aybabtu.com>
23618
23619 * util/grub-emu.c (grub_machine_init): Move code in this function from
23620 here ...
23621 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
23622 segfault in case grub_printf() is called).
23623
23624 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
23625 grub_probe. Update all users not to explicitly add it again.
23626 (grub_device): New variable; contains corresponding device for grubdir.
23627 (fs_module, partmap_module, devabstraction_module): Pass
23628 `--device ${grub_device}' to grub_probe to avoid traversing /dev
23629 every time.
23630
9ece62fb 236312008-06-05 Robert Millan <rmh@aybabtu.com>
23632
23633 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
23634 is found, print it (same layout as with labels).
23635
1ad36d37 236362008-06-04 Robert Millan <rmh@aybabtu.com>
23637
23638 * util/biosdisk.c (get_drive): Rename to ...
23639 (find_grub_drive): ... this. Update all users.
23640
23641 (get_os_disk): Rename to ...
23642 (convert_system_partition_to_system_disk): ... this. Update all users.
23643
23644 (find_drive): Rename to ...
23645 (find_system_device): ... this. Update all users.
23646
e6a30859 236472008-06-04 Robert Millan <rmh@aybabtu.com>
23648
23649 * util/biosdisk.c (get_os_disk): Handle IDA devices.
23650 * util/grub-mkdevicemap.c (get_mmc_disk_name)
23651 (make_device_map): Likewise.
23652
00c108a4 236532008-06-01 Robert Millan <rmh@aybabtu.com>
23654
23655 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
23656 before dereferencing it.
23657
23658 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
23659 union with fat12/fat16-specific ones. Add some new fields, including
23660 `num_serial' for both versions.
23661 (struct grub_fat_data): Add `uuid' member.
23662 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
23663 names. Initialize `data->uuid' using `num_serial'.
23664 (grub_fat_uuid): New function.
23665 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
23666
23667 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
23668 (grub_reiserfs_uuid): New function.
23669 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
23670 member.
23671
23672 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
23673 (grub_xfs_uuid): New function.
23674 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
23675
1385c5bb 236762008-06-01 Robert Millan <rmh@aybabtu.com>
23677
23678 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
23679 code that is backward compatible with pre-uuid search command.
23680
c682dfd7 236812008-05-31 Robert Millan <rmh@aybabtu.com>
23682
23683 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
23684 floppies after everything else, to ensure floppy drive isn't accessed
23685 unnecessarily (patch from Bean).
23686
b7db5d47 236872008-05-31 Robert Millan <rmh@aybabtu.com>
23688
23689 * commands/search.c (search_label, search_fs_uuid, search_file): Do
23690 not print device names when we were asked to set a variable.
23691
6e037aa9 236922008-05-31 Robert Millan <rmh@aybabtu.com>
23693
23694 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
23695 using "cursor-on" and "cursor-off" commands (understood at least by
23696 the Open Firmware flavour on OLPC).
23697
41305bc8 236982008-05-31 Michael Gorven <michael@gorven.za.net>
23699
23700 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
23701 on and off sequences.
23702
69ba137e 237032008-05-31 Robert Millan <rmh@aybabtu.com>
23704
23705 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
23706 * util/update-grub.in: Likewise.
23707
520ae21b 237082008-05-30 Pavel Roskin <proski@gnu.org>
23709
23710 * util/biosdisk.c (linux_find_partition): Simplify logic and
23711 make the code more universal. Keep special processing for
23712 devfs, but use a simple rule for all other devices. If the
23713 device ends with a number, append 'p' and the partition number.
23714 Otherwise, append only the partition number.
23715
5786569b 237162008-05-30 Robert Millan <rmh@aybabtu.com>
23717
23718 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
23719 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
23720 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
23721 the `root' parameter to Linux.
23722
51500452 237232008-05-30 Robert Millan <rmh@aybabtu.com>
23724
23725 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
23726 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
23727 --fs_uuid with --fs-uuid.
23728 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
23729 all filesystems support them).
23730
811d3878 237312008-05-30 Robert Millan <rmh@aybabtu.com>
23732
23733 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 23734 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 23735
cab63c95 237362008-05-30 Robert Millan <rmh@aybabtu.com>
23737
23738 * util/grub.d/00_header.in: Remove obsolete comment referencing
23739 convert_system_path_to_grub_path().
23740 * util/update-grub.in: Likewise.
23741 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
23742 (convert_system_path_to_grub_path): Add a warning message explaining
23743 that this function is deprecated. Rely on is_path_readable_by_grub()
23744 for the readability checks.
23745 (font_path): Use is_path_readable_by_grub() for the readability
23746 check rather than convert_system_path_to_grub_path().
23747
972e2f7a 237482008-05-30 Robert Millan <rmh@aybabtu.com>
23749
23750 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
23751 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
23752 converting it first.
23753 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
23754 grub.cfg for access to font file, and afterwards call it again to set
23755 the root device.
23756
62191274 237572008-05-30 Robert Millan <rmh@aybabtu.com>
23758
23759 * commands/search.c (options): Add --fs_uuid option.
23760 (search_fs_uuid): New function.
23761 (grub_cmd_search): Fix --set argument passing.
23762 Use search_fs_uuid() when requested via --fs_uuid.
23763 (grub_search_init): Update help message.
23764 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
23765 and redeclare it as an array of 16-bit words.
23766 (grub_ext2_uuid): New function.
23767 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
23768 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
23769 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
23770 (GRUB_DEVICE_BOOT_UUID): New variables.
23771 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
23772 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
23773 whenever possible.
23774 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
23775 just assume `root' variable has the right value.
23776 * util/grub.d/10_linux.in: Likewise.
23777 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
23778 via PRINT_FS_UUID.
23779 (main): Recognise `-t fs_uuid' argument.
23780
01b73ec8 237812008-05-30 Robert Millan <rmh@aybabtu.com>
23782
23783 * util/biosdisk.c (map): Redefine structure to hold information
23784 about GRUB drive name.
fe6b695a 23785 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 23786 drive names.
23787 (call_hook): Remove.
23788 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
23789 member. Assume drive has partitions.
23790 (grub_util_biosdisk_open): Access device names via `.device' struct
23791 member.
23792 (open_device): Likewise.
23793 (find_drive): Likewise.
23794 (read_device_map): Adjust map[] usage to match the new struct
23795 definition. Don't check for duplicates (still possible, but not cheap
23796 anymore).
23797 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
23798 (make_device_name): Remove assumption of BIOS-like drive names.
23799
22f16596 238002008-05-30 Pavel Roskin <proski@gnu.org>
23801
23802 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
23803 compiling execute.c doesn't need grub_script.tab.h anymore.
23804 (normal/command.c_DEPENDENCIES): Likewise.
23805 (normal/function.c_DEPENDENCIES): Likewise.
23806 * conf/i386-ieee1275.rmk: Likewise.
23807 * conf/i386-linuxbios.rmk: Likewise.
23808 * conf/i386-pc.rmk: Likewise.
23809 * conf/powerpc-ieee1275.rmk: Likewise.
23810 * conf/sparc64-ieee1275.rmk: Likewise.
23811
528ad8f2 238122008-05-29 Pavel Roskin <proski@gnu.org>
23813
d1dff95d 23814 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
23815 when scanning metadata for volume group name.
23816
528ad8f2 23817 * include/grub/script.h: Don't include grub_script.tab.h. It's
23818 a generated file, which may only be included from the files with
23819 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
23820 use union YYSTYPE, as the later allows forward declaration.
23821 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
23822
47248e08 238232008-05-29 Robert Millan <rmh@aybabtu.com>
23824
23825 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
23826 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
23827 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
23828 (grub_console_checkkey): Add grub_dprintf() call to report unknown
23829 scan codes.
23830
ee632529 238312008-05-29 Robert Millan <rmh@aybabtu.com>
23832
23833 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
23834 control key combinations.
23835
eee96e08 238362008-05-29 Robert Millan <rmh@aybabtu.com>
23837
23838 * util/powerpc/ieee1275/grub-install.in: Move from here ...
23839 * util/ieee1275/grub-install.in: ... to here.
23840 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
23841 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
23842 (grub_install_SOURCES): Likewise.
23843
da9a6a94 238442008-05-29 Robert Millan <rmh@aybabtu.com>
23845
23846 * fs/affs.c: Update copyright year.
23847 * fs/ext2.c: Likewise.
23848 * fs/fshelp.c: Likewise.
23849 * fs/hfsplus.c: Likewise.
23850 * fs/ntfs.c: Likewise.
23851 * fs/xfs.c: Likewise.
23852 * include/grub/fshelp.h: Likewise.
23853 * util/grub-mkdevicemap.c: Likewise.
23854
12e65f3a 238552008-05-28 Robert Millan <rmh@aybabtu.com>
23856
23857 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
23858 might need to be fatfs to support some firmware implementations
23859 (e.g. OFW or EFI).
23860
23023641 238612008-05-28 Robert Millan <rmh@aybabtu.com>
23862
23863 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
23864 devices.
23865 * util/grub-mkdevicemap.c (get_mmc_disk_name)
23866 (make_device_map): Likewise.
23867
887d2619 238682008-05-20 Bean <bean123ch@gmail.com>
23869
23870 * fs/fshelp.c (grub_fshelp_map_block): New function.
23871 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
23872 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
23873
23874 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
23875 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
23876 (grub_fshelp_journal): New structure.
23877 (grub_fshelp_map_block): New function prototype.
23878 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
23879 (grub_fshelp_map_block): Likewise.
23880
23881 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
23882 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
23883 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
23884 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
23885 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
23886 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
23887 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
23888 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
23889 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
23890 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
23891 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
23892 (grub_ext2_sblock): New members for journal support.
23893 (grub_ext3_journal_header): New structure.
23894 (grub_ext3_journal_revoke_header): Likewise.
23895 (grub_ext3_journal_block_tag): Likewise.
23896 (grub_ext3_journal_sblock): Likewise.
23897 (grub_fshelp_node): New members logfile and journal.
23898 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
23899 grub_fshelp_map_block to get real block number.
23900 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
23901 number.
23902 (grub_ext2_read_inode): Likewise.
23903 (grub_ext3_get_journal): New function.
23904 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
23905 (grub_ext2_close): Release memory used by journal.
23906
23907 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
23908 (REISERFS_MAGIC_DESC_BLOCK): New macro.
23909 (grub_reiserfs_transaction_header): Renamed to
23910 grub_reiserfs_description_block, replace field data with real_blocks.
23911 (grub_reiserfs_commit_block): New structure.
23912 (grub_reiserfs_data): New member journal.
23913 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
23914 number.
23915 (grub_reiserfs_read_symlink): Likewise.
23916 (grub_reiserfs_iterate_dir): Likewise.
23917 (grub_reiserfs_open): Likewise.
23918 (grub_reiserfs_read): Likewise.
23919 (grub_reiserfs_get_journal): New function.
23920 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
23921 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
23922 using grub_reiserfs_get_journal.
23923 (grub_reiserfs_close): Release memory used by journal.
23924
23925 * fs/affs.c (grub_affs_read_block): Change block type to
23926 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
23927
23928 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
23929
23930 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
23931
23932 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
23933
23934 * fs/udf.c (grub_udf_read_block): Change block type to
23935 grub_disk_addr_t. Use type cast to avoid warning.
23936
23937 * fs/xfs.c (grub_xfs_read_block): Likewise.
23938
b7c6bed5 239392008-05-16 Christian Franke <franke@computer.org>
23940
23941 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
23942 to ensure that break with ESC will always work.
23943 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
23944 Remove ESC from keyboard queue.
23945
eedf167f 239462008-05-16 Christian Franke <franke@computer.org>
23947
23948 * util/biosdisk.c: [__CYGWIN__] Add includes.
23949 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
23950 (get_os_disk): Move variable declarations to OS specific
23951 parts to avoid warning.
23952 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
23953 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
23954 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
23955 Cygwin.
23956 * util/getroot.c: [__CYGWIN__] Add includes.
23957 (strip_extra_slashes): Fix "/" case.
23958 [__CYGWIN__] (get_win32_path): New function.
23959 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
23960 [__CYGWIN__] (find_root_device): Disable.
23961 [__CYGWIN__] (get_bootsec_serial): New function.
23962 [__CYGWIN__] (find_cygwin_root_device): Likewise.
23963 [__linux__] (grub_guess_root_device): Add early returns to simplify
23964 structure.
23965 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
23966 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
23967 check for Linux only.
23968
a079699e 239692008-05-15 Bean <bean123ch@gmail.com>
23970
23971 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
23972 keyboard hang problem in apple's intel mac.
23973
1cf4059a 239742008-05-09 Robert Millan <rmh@aybabtu.com>
23975
23976 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
23977 devices.
23978 * util/grub-mkdevicemap.c (get_virtio_disk_name)
23979 (make_device_map): Likewise.
23980 Reported by Aurelien Jarno <aurel32@debian.org>
23981
ed759390 239822008-05-07 Ian Campbell <ijc@hellion.org.uk>
23983
23984 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
23985 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
23986 (make_device_map): Output entries for xvd type disks.
23987
b56c4eaa 239882008-05-07 Robert Millan <rmh@aybabtu.com>
23989
23990 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
23991 devices.
23992 * util/grub-mkdevicemap.c (get_cciss_disk_name)
23993 (make_device_map): Likewise.
23994 Reported by Roland Dreier <rdreier@cisco.com>
23995
7f8866ed 239962008-05-07 Robert Millan <rmh@aybabtu.com>
23997
23998 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
23999 grub_strstr() call. Correct a few mistakes in failure path handling.
24000
b0346e0f 240012008-05-06 Robert Millan <rmh@aybabtu.com>
24002
24003 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24004 Do not print a trailing slash (therefore, the root directory is an
24005 empty string).
24006 (convert_system_path_to_grub_path): Do not remove trailing slash
24007 from make_system_path_relative_to_its_root() output.
24008
24009 * util/i386/pc/grub-install.in: Add trailing slash to output from
24010 make_system_path_relative_to_its_root().
24011
6cf12cbd 240122008-05-06 Robert Millan <rmh@aybabtu.com>
24013
24014 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
24015 ensures that output lines aren't intermangled with those sent to
24016 stderr (via grub_util_info()).
24017 * util/grub-probe.c (grub_refresh): Likewise.
24018 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
24019
0fbb3117 240202008-05-05 Christian Franke <franke@computer.org>
24021
24022 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
24023 Add Cygwin device names.
24024 (get_ide_disk_name) [__CYGWIN__]: Likewise.
24025 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
24026 (check_device): Return error instead of success on empty name.
24027 (make_device_map): Move label inside linux specific code to
24028 prevent compiler warning.
24029
8124cdb7 240302008-04-30 Robert Millan <rmh@aybabtu.com>
24031
24032 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
24033 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
24034 first boot option.
24035 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
24036
094c01d0 240372008-04-29 Robert Millan <rmh@aybabtu.com>
24038
24039 * docs/grub.cfg: New file (example GRUB configuration).
24040
f4b1fc02 240412008-04-26 Robert Millan <rmh@aybabtu.com>
24042
329ce2a5 24043 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
24044 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
24045 and `disk/ieee1275/nand.c'.
f4b1fc02 24046
25f16ec1 240472008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 24048
25f16ec1 24049 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
24050 i386-linuxbios.
24051
24052 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
24053 change the buffer size to 4096 for cdrom device.
24054
24055 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
24056 and nand.mod.
24057 (_linux_mod_SOURCES): New variable.
24058 (_linux_mod_CFLAGS): Likewise.
24059 (_linux_mod_LDFLAGS): Likewise.
24060 (linux_mod_SOURCES): Likewise.
24061 (linux_mod_CFLAGS): Likewise.
24062 (linux_mod_LDFLAGS): Likewise.
24063 (nand_mod_SOURCES): Likewise.
24064 (nand_mod_CFLAGS): Likewise.
24065 (nand_mod_LDFLAGS): Likewise.
24066
24067 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
24068 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
24069 type property. (nand device in olpc don't have this property)
24070
24071 * include/grub/disk.h (grub_disk_dev_id): New macro
24072 GRUB_DISK_DEVICE_NAND_ID.
24073
24074 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
24075 function prototype.
24076 (grub_rescue_cmd_initrd): Likewise.
24077
24078 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
24079 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
24080 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 24081
25f16ec1 24082 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
24083 GRUB_MACHINE_IEEE1275 is defined.
24084
24085 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
24086 Use NESTED_FUNC_ATTR attribute on the hook parameter.
24087
24088 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
24089 on nested function heap_init.
24090 (grub_upper_mem): New variable for i386-ieee1275.
24091 (grub_get_extended_memory): New function for i386-ieee1275.
24092 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
24093
24094 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
24095 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
24096 property.
f19dbdb7 24097
25f16ec1 24098 * loader/i386/ieee1275/linux.c: New file.
24099
24100 * loader/i386/ieee1275/linux_normal.c: New file.
24101
24102 * disk/ieee1275/nand.c: New file.
24103
e89d61e9 241042008-04-18 Thomas Schwinge <tschwinge@gnu.org>
24105
24106 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
24107 value.
24108 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
24109
602566f6 241102008-04-18 Robert Millan <rmh@aybabtu.com>
24111
24112 Restructures early code path on ieee1275 to unify grub_main() as
24113 the first C function that is executed in every platform.
24114
24115 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
24116 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
24117 cmain().
24118 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
24119 * kern/ieee1275/cmain.c (cmain): Rename to ...
24120 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
24121 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
24122 at the beginning.
24123
57490c2b 241242008-04-18 Robert Millan <rmh@aybabtu.com>
24125
24126 * util/update-grub.in: Fix syntax error when setting
24127 `GRUB_PRELOAD_MODULES'.
24128 Reported by Stephane Chazelas <stephane@artesyncp.com>
24129
1977517d 241302008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
24131
24132 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
24133 section into account, newer toolchains generate unique build ids
24134 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 24135 we want build ids to be preserved
1977517d 24136 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
24137 far from other sections don't cause the raw binary images grow
24138 size
24139
bfb1f1a2 241402008-04-15 Robert Millan <rmh@aybabtu.com>
24141
24142 * disk/lvm.c: Update copyright year.
24143 * kern/misc.c: Likewise.
24144
01979850 241452008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24146
24147 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 24148 there is no memory left for physical volume name.
01979850 24149
0a1150e2 241502008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24151
24152 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
24153 volume name mapping to support bigger than 9 character names properly.
24154
82ead3fe 241552008-04-13 Robert Millan <rmh@aybabtu.com>
24156
24157 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
24158 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
24159
e54a72f5 241602008-04-13 Christian Franke <franke@computer.org>
24161
24162 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
24163 to create a floppy emulation boot CD when non emulation mode
24164 does not work.
24165 Enable Joliet CD filesystem extension.
24166
9fe86034 241672008-04-13 Robert Millan <rmh@aybabtu.com>
24168
24169 * kern/misc.c (grub_strncat): Fix off-by-one error.
24170 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
24171
24172 * kern/env.c (grub_env_context_close): Clear current context, not
24173 previous one.
24174 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
24175
24176 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
24177
7ceeee39 241782008-04-13 Robert Millan <rmh@aybabtu.com>
24179
24180 Improve robustness when handling LVM.
24181
24182 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 24183 (and leave `*p' unmodified).
7ceeee39 24184 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
24185 through it.
24186 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
24187 iterating through it.
24188 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
24189 through it.
fe6b695a 24190 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 24191 when due) on each grub_lvm_getvalue() or grub_strstr() call.
24192 Don't assume `vg->pvs != NULL' when iterating through it.
24193
58cd3d85 241942008-04-13 Robert Millan <rmh@aybabtu.com>
24195
24196 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
24197 * genmk.rb (partmap): New variable.
24198 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
24199 (#{partmap}): New target rule.
24200 * genpartmaplist.sh: New file.
24201 * Makefile.in (pkglib_DATA): Add partmap.lst.
24202 (partmap.lst): New target rule.
24203 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
24204 modules (including all partition maps), instead of preloading them.
24205
78b51059 242062007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
24207
24208 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
24209 `linux-boot-prober' (if installed) to detect other operating
24210 systems which are installed on the computer and add them to
24211 the boot menu.
24212 * conf/common.rmk: Build and install 30_os-prober.
24213
a91627b4 242142008-04-12 Robert Millan <rmh@aybabtu.com>
24215
24216 * kern/powerpc/ieee1275/init.c: Move from here ...
24217 * kern/ieee1275/init.c: ... to here. Update all users.
24218
24219 * kern/powerpc/ieee1275/cmain.c: Move from here ...
24220 * kern/ieee1275/cmain.c: ... to here. Update all users.
24221
24222 * kern/powerpc/ieee1275/openfw.c: Move from here ...
24223 * kern/ieee1275/openfw.c: ... to here. Update all users.
24224
24225 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
24226 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
24227
322562ea 242282008-04-10 Pavel Roskin <proski@gnu.org>
24229
24230 * configure.ac: Always use "_cv_" in cache variables for
24231 compatibility with Autoconf 2.62.
24232
a02a73c5 242332008-04-07 Robert Millan <rmh@aybabtu.com>
24234
24235 Revert grub/machine/init.h addition by Pavel (since it breaks on
24236 i386-ieee1275 and others):
24237 * util/i386/pc/misc.c: Remove grub/machine/init.h.
24238 * util/powerpc/ieee1275/misc.c: Likewise.
24239
25c024b1 242402008-04-07 Robert Millan <rmh@aybabtu.com>
24241
24242 * util/grub-probe.c (probe): Improve error message.
24243
3cbd2f98 242442008-04-07 Robert Millan <rmh@aybabtu.com>
24245
24246 * util/biosdisk.c (read_device_map): Skip devices that don't exist
24247 (this prevents the presence of a bogus entry from ruining the whole
24248 thing).
24249
87a297bf 242502008-04-06 Pavel Roskin <proski@gnu.org>
24251
36747a62 24252 * util/biosdisk.c: Include grub/util/biosdisk.h.
24253 * util/grub-fstest.c (execute_command): Make static.
24254 * util/grub-mkdevicemap.c (check_device): Likewise.
24255 * util/i386/pc/misc.c: Include grub/machine/init.h.
24256 * util/powerpc/ieee1275/misc.c: Likewise.
24257 * util/lvm.c: Include grub/util/lvm.h.
24258 * util/misc.c: Include grub/kernel.h, grub/misc.h and
24259 grub/cache.h.
24260 * util/raid.c: Include grub/util/raid.h.
24261 (grub_util_getdiskname): Make static.
24262
87a297bf 24263 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
24264 grub_hostfs_fini(), as they are called from grub_init_all() and
24265 grub_fini_all() respectively. This fixes an infinite loop in
24266 grub-fstest due to double registration of hostfs.
24267 Reported by Christian Franke <Christian.Franke@t-online.de>
24268
f6ce7629 242692008-04-05 Pavel Roskin <proski@gnu.org>
24270
24271 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
24272 all 8 functions. Otherwise, probe function 0 only.
24273
070e49e4 242742008-04-04 Pavel Roskin <proski@gnu.org>
24275
8b088a4c 24276 * commands/lspci.c (grub_lspci_iter): Print the bus number
24277 correctly.
24278
4f657021 24279 * commands/lspci.c (grub_pci_classes): Fix typos.
24280 (grub_lspci_iter): Don't print func twice. Print vendor ID
24281 before device ID, as it's normally done.
24282
070e49e4 24283 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
24284 Fix signedness warnings.
24285 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
24286 Likewise.
24287 * util/ieee1275/get_disk_name.c: Include config.h so that
24288 _GNU_SOURCE is defined and getline() is declared. Mark an
24289 unused argument as such. Fix a signedness warning.
24290
ba7328dc 242912008-04-02 Pavel Roskin <proski@gnu.org>
24292
26887f22 24293 * genkernsyms.sh.in: Use more robust assignments for CC and
24294 srcdir. Quote srcdir.
24295 * gensymlist.sh.in: Likewise. Assert at the compile time that
24296 the symbol table is not empty.
24297
ba7328dc 24298 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
24299 * fs/cpio.c (grub_cpio_read): Likewise.
24300
0f582c6b 243012008-04-01 Pavel Roskin <proski@gnu.org>
24302
4b6e1995 24303 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
24304 * disk/host.c (grub_host_open): Likewise.
24305 * disk/loopback.c (grub_loopback_open): Likewise.
24306 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
24307 disk->id as in disk/host.c, not a multi-character constant.
24308
828a2768 24309 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
24310 later is obsolete, potentially dangerous and sets a bad example.
24311 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
24312 * util/misc.c (grub_util_get_image_size): Likewise.
24313
2bb4fb47 24314 * disk/loopback.c (options): Improve help for "--partitions".
24315
0f582c6b 24316 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
24317 options to align them with the short options, e.g. "echo -e".
24318
a33224e0 243192008-03-31 Bean <bean123ch@gmail.com>
24320
24321 * video/reader/png.c (grub_png_data): New member is_16bit and
24322 image_data.
24323 (grub_png_decode_image_header): Detect 16 bit png image.
24324 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
24325 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
24326 (grub_video_reader_png): Release memory occupied by image_data.
24327
24328 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
24329 4096 bytes.
24330 (grub_nfs_mount): Skip the test for sector per cluster.
24331
24332 * include/grub/ntfs.h (MAX_SPC): Removed.
24333
86cb4f54 243342008-03-31 Bean <bean123ch@gmail.com>
24335
24336 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
24337 (grub_probe_SOURCES): Add fs/afs.c.
24338 (grub_fstest_SOURCES): Likewise.
24339 (afs_mod_SOURCES): New variable.
24340 (afs_mod_CFLAGS): Likewise.
24341 (afs_mod_LDFLAGS): Likewise.
24342
24343 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
24344 (grub_emu_SOURCES): Likewise.
24345
24346 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24347
24348 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24349
24350 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24351
24352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24353
24354 * fs/afs.c: New file.
24355
17c74c21 243562008-03-30 Pavel Roskin <proski@gnu.org>
24357
4cb68e89 24358 * disk/host.c: Include grub/misc.h to fix a warning.
24359 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
24360 warnings about implicit declarations.
24361
8790bb04 24362 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
24363 variable.
24364 * include/grub/i386/loader.h: Change declaration of
24365 grub_linux_boot() to match what grub_loader_set() expects.
24366 * util/getroot.c (grub_guess_root_device): Return const char* to
24367 fix a warning.
24368 * util/grub-probe.c (probe): Fix a warning about uninitialized
24369 abstraction_name variable.
24370 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
24371 second argument as unused to fix a warning.
24372
9a3f3296 24373 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
24374 missing grub_error() call.
24375
0ecef90d 24376 * util/update-grub_lib.in: Define datarootdir, since Autoconf
24377 2.60 and newer uses it to define datadir.
24378
0bf6d401 24379 * commands/sleep.c: Fix warning about implicit declaration.
24380 * disk/memdisk.c: Likewise.
24381 * loader/aout.c: Likewise.
24382 * loader/i386/bsd_normal.c: Likewise.
24383 * util/grub-probe.c: Likewise.
24384
7cdacf97 24385 * commands/i386/cpuid.c (has_longmode): Make static.
24386 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
24387 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
24388
17c74c21 24389 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
24390 GDT. This is more robust, as %ds can change.
24391 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
24392 calling real_to_prot().
24393 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
24394
80a3e68b 243952008-03-28 Pavel Roskin <proski@gnu.org>
24396
24397 * kern/i386/pc/startup.S: Assert that uncompressed functions
24398 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
24399 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
24400 code, as they push parts of the code (error handlers) beyond
24401 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
24402 code as correctness and size.
24403
77bcd272 244042008-03-28 Pavel Roskin <proski@gnu.org>
24405
24406 * kern/i386/pc/startup.S
24407 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
24408 data block address to the real mode, keep offset minimal. This
24409 works around a bug in AWARD BIOS on old Athlon systems, which
24410 makes CD detection hang.
24411
c5dfd43b 244122008-03-26 Pavel Roskin <proski@gnu.org>
24413
24414 * normal/color.c (grub_parse_color_name_pair): Make `name' a
24415 const.
24416 * include/grub/normal.h: Add grub_parse_color_name_pair()
24417 declaration.
24418
bf962df2 244192008-03-24 Bean <bean123ch@gmail.com>
24420
24421 * disk/i386/pc/biosdisk.c (cd_start): Removed.
24422 (cd_count): Removed.
24423 (cd_drive): New variable.
24424 (grub_biosdisk_get_drive): Don't check for (cdN) device.
24425 (grub_biosdisk_call_hook): Likewise.
24426 (grub_biosdisk_iterate): Change cdrom detection method.
24427 (grub_biosdisk_open): Replace cd_start with cd_drive.
24428 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
24429 detect cdrom device.
24430
24431 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
24432 Removed.
24433 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
24434 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
24435 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
24436 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
24437 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
24438 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
24439 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
24440 (grub_biosdisk_cdrp): New structure.
24441 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
24442
24443 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
24444
24445 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
24446 device.
24447
24448 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
24449 New function.
24450
68e7fc7a 244512008-03-20 Robert Millan <rmh@aybabtu.com>
24452
24453 Remove 2 TiB limit in ata.mod.
24454 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
24455 (grub_ata_dumpinfo): Print sector count with 0x%llx.
24456 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
24457 grub_uint64_t instead of grub_uint32_t.
24458
38ad2cf5 244592008-03-05 Bean <bean123ch@gmail.com>
24460
24461 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
24462 (grub_multiboot): Set boot device.
24463
24464 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
24465
2b89344e 244662008-03-02 Bean <bean123ch@gmail.com>
24467
24468 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
24469 symlink_buffer.
24470
87a95d1f 244712008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
24472
24473 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
24474 texinfo.tex.
24475
24476 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
24477 modified.
24478
24479 * docs/fdl.texi: New file.
f19dbdb7 24480
87a95d1f 24481 * docs/mdate-sh: New file. Copied from gnulib.
24482 * docs/texinfo.tex: Likewise.
24483
24484 * config.guess: Updated from gnulib.
24485 * install-sh: Likewise.
24486
7dc15d8e 244872008-02-28 Robert Millan <rmh@aybabtu.com>
24488
24489 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
24490 (aout_mod_SOURCES): New variable.
24491 (aout_mod_CFLAGS): Likewise.
24492 (aout_mod_LDFLAGS): Likewise.
24493
24494 * conf/i386-ieee1275.rmk: Likewise.
24495
b00ab696 244962008-02-28 Robert Millan <rmh@aybabtu.com>
24497
24498 * util/update-grub.in: Reorganise terminal validity check. Accept
24499 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
24500 Based on suggestion by Franklin PIAT.
24501
79ca2d78 245022008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
24503
24504 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
24505 function.
24506 * util/getroot.c (grub_util_check_block_device): New function that
24507 returns the given argument if it is a block device and returns NULL else.
24508 * util/grub-probe.c (argument_is_device): New variable.
24509 (probe): Promote device_name from a variable to an argument. Receive
24510 device_name from grub_util_check_block_device() if path is NULL and from
24511 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 24512 (options): Introduce new parameter '-d, --device'.
79ca2d78 24513 (main): Add description of the new parameter to the help screen.
24514 Rename path variable to argument. Set argument_is_device if the '-d'
24515 option is given. Pass argument to probe() depending on
24516 argument_is_device.
24517
0d16e571 245182008-02-24 Bean <bean123ch@gmail.com>
24519
24520 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
24521 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
24522 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
24523 (GRUB_ISO9660_VOLDESC_PART): Likewise.
24524 (GRUB_ISO9660_VOLDESC_END): Likewise.
24525 (grub_iso9660_primary_voldesc): New member escape.
24526 (grub_iso9660_data): New member joliet.
24527 (grub_iso9660_convert_string): New function.
24528 (grub_iso9660_mount): Detect joliet extension.
24529 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
24530 (grub_iso9660_iso9660_label): Likewise.
24531
24532 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
24533 (grub_setup_SOURCES): Add fs/udf.c.
24534 (grub_fstest_SOURCES): Likewise.
24535 (udf_mod_SOURCES): New variable.
24536 (udf_mod_CFLAGS): Likewise.
24537 (udf_mod_LDFLAGS): Likewise.
24538
24539 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
24540 (grub_emu_SOURCES): Likewise.
24541
24542 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24543
24544 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24545
24546 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24547
24548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24549
24550 * fs/udf.c: New file.
24551
8a594a17 245522008-02-24 Robert Millan <rmh@aybabtu.com>
24553
24554 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
24555 (normal/lexer.c_DEPENDENCIES): New variables.
24556 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24557 (normal/lexer.c_DEPENDENCIES): Likewise.
24558 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
24559 (normal/lexer.c_DEPENDENCIES): Likewise.
24560 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
24561 (normal/lexer.c_DEPENDENCIES): Likewise.
24562 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24563 (normal/lexer.c_DEPENDENCIES): Likewise.
24564 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24565 (normal/lexer.c_DEPENDENCIES): Likewise.
24566
2dc33c03 245672008-02-23 Robert Millan <rmh@aybabtu.com>
24568
24569 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
24570 since they were intended to be in hex. This didn't break previously
24571 because of a bug in gpt_partition_map_iterate() (see below).
24572
24573 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
24574 when checking the validity of GPT header.
24575 Remove `partno', since it always provides the same information as `i'.
24576
f6f4cfb0 245772008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
24578
24579 * include/grub/efi/time.h: Fix a wrong comment.
24580
79ff665f 245812008-02-19 Pavel Roskin <proski@gnu.org>
24582
24583 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
24584 message.
24585
d38e24c2 245862008-02-19 Bean <bean123ch@gmail.com>
24587
24588 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
24589 (aout_mod_SOURCES): New variable.
24590 (aout_mod_CFLAGS): Likewise.
24591 (aout_mod_LDFLAGS): Likewise.
24592 (_bsd_mod_SOURCES): New variable.
24593 (_bsd_mod_CFLAGS): Likewise.
24594 (_bsd_mod_LDFLAGS): Likewise.
24595 (bsd_mod_SOURCES): New variable.
24596 (bsd_mod_CFLAGS): Likewise.
24597 (bsd_mod_LDFLAGS): Likewise.
24598
24599 * include/grub/aout.h: New file.
24600
24601 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
24602
24603 * include/grub/i386/bsd.h: New file.
24604
24605 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
24606 to make it public.
24607
24608 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
24609 function is called, so that it's possible to change it inside the hook.
24610 (grub_elf64_load): Likewise.
24611 (grub_elf_file): Don't close the file if elf header is not found.
24612 (grub_elf_close): Close the file if grub_elf_file fails (The new
24613 grub_elf_file won't close it).
24614 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
24615 (grub_elf64_size): Likewise.
24616
24617 * kern/i386/loader.S (grub_unix_real_boot): New function.
24618
24619 * loader/aout.c: New file.
24620
24621 * loader/i386/bsd.c: New file.
24622
24623 * loader/i386/bsd_normal.c: New file.
24624
24625 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
24626
24627 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 24628 can test other formats.
d38e24c2 24629
b93bdb0f 246302008-02-19 Robert Millan <rmh@aybabtu.com>
24631
24632 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
24633 (grub_gpt_partition_type_empty): Redefine with macro from
24634 `<grub/gpt_partition.h>'.
24635 (gpt_partition_map_iterate): Adjust partition type comparison.
24636
24637 Export `entry' as partmap-specific `part.data' struct.
24638 (grub_gpt_header, grub_gpt_partentry): Move from here ...
24639
24640 * include/grub/gpt_partition.h (grub_gpt_header)
24641 (grub_gpt_partentry): ... to here (new file).
24642
24643 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
24644
24645 (grub_gpt_partition_type_bios_boot): New const variable, defined
24646 with macro from `<grub/gpt_partition.h>'.
24647
24648 (setup): Replace `first_start' with `embed_region', which keeps
24649 track of the embed region (and is partmap-agnostic).
24650
24651 Replace find_first_partition_start() with find_usable_region(),
24652 which finds a usable region for embedding using partmap-specific
24653 knowledge (supports PC/MSDOS and GPT).
24654
24655 Fix all assumptions that the embed region start at sector 1, using
24656 `embed_region.start' from now on. Similarly, use `embed_region.end'
24657 rather than `first_start' to calculate available size.
24658
24659 In grub_util_info() message, replace "into after the MBR" with an
24660 indication of the specific sector our embed region starts at.
24661
66cb40f6 246622008-02-19 Robert Millan <rmh@aybabtu.com>
24663
24664 * DISTLIST: Replace `commands/ieee1275/halt.c' and
24665 `commands/ieee1275/reboot.c' with `commands/halt.c' and
24666 `commands/reboot.c'.
24667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
24668 (halt_mod_SOURCES): Likewise.
24669 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
24670 (halt_mod_SOURCES): Likewise.
24671
b7202015 246722008-02-17 Christian Franke <franke@computer.org>
24673
24674 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
24675
32b0fc49 246762008-02-17 Robert Millan <rmh@aybabtu.com>
24677
24678 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
24679 set `first_start' to 0 for non-PC/MSDOS partition maps.
24680
aca63502 246812008-02-16 Robert Millan <rmh@aybabtu.com>
24682
24683 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
24684 do not assume partition map is PC/MSDOS before performing checks that
24685 are specific to that layout.
24686
0de8be86 246872008-02-13 Robert Millan <rmh@aybabtu.com>
24688
24689 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
24690 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
24691 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
24692
c3db8364 246932008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
24694
24695 * configure.ac: Only a cosmetic change on the handling of
24696 -fno-stack-protector.
24697
f714229e 246982008-02-12 Alexandre Boeglin <alex@boeglin.org>
24699
c3db8364 24700 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
24701 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
24702 reboot.c.
f714229e 24703 (grub_install_SOURCES): Add halt.mod and reboot.mod.
24704 (halt_mod_SOURCES): New variable.
24705 (halt_mod_CFLAGS): Likewise.
24706 (halt_mod_LDFLAGS): Likewise.
24707 (reboot_mod_SOURCES): Likewise.
24708 (reboot_mod_CFLAGS): Likewise.
24709 (reboot_mod_LDFLAGS): Likewise.
24710
c3db8364 24711 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
24712 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
24713 reboot.c.
f714229e 24714 (halt_mod_SOURCES): Likewise.
24715 (reboot_mod_SOURCES): Likewise.
24716
c3db8364 24717 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
24718 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 24719 (reboot_mod_SOURCES): Likewise.
24720
24721 * commands/i386/pc/reboot.c: merge this file ...
24722
24723 * commands/ieee1275/reboot.c: ... and this file ...
24724
24725 * commands/reboot.c: ... to this file.
c3db8364 24726 Add some precompiler directive to include the correct header for
24727 each machine.
f714229e 24728
24729 * commands/ieee1275/halt.c: move this file ...
24730
24731 * commands/halt.c: ... to here.
c3db8364 24732 Add some precompiler directive to include the correct header for
24733 each machine.
f714229e 24734
24735 * include/grub/efi/efi.h (grub_reboot): New function declaration.
24736 (grub_halt): Likewise.
24737
24738 * kern/efi/efi.c (grub_reboot): New function.
24739 (grub_halt): Likewise.
24740
c74493e0 247412008-02-12 Robert Millan <rmh@aybabtu.com>
24742
24743 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
24744 /dev (like it is done for /dev/mapper). This doesn't provide support
24745 for EVMS, but at least it is now easy to identify the problem when it
24746 arises.
24747
d0db4b04 247482008-02-11 Robert Millan <rmh@aybabtu.com>
24749
24750 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
24751 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
24752 comparing it with -1, not 0.
24753
bf748642 247542008-02-10 Robert Millan <rmh@aybabtu.com>
24755
24756 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
24757 `disk/lvm.c'.
24758 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24759 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24760
24761 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
24762 `disk/lvm.c' to the end of the list.
24763 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24764 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24765
b5db202a 247662008-02-10 Robert Millan <rmh@aybabtu.com>
24767
24768 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
24769 grub_print_error() instead. This will let user know why we're entering
24770 rescue mode.
24771 Based on suggestions from Sam Morris.
24772
83abee31 247732008-02-10 Alexandre Boeglin <alex@boeglin.org>
24774
24775 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
24776 on remaining N args, instead of "--" arg N times.
24777
78d5a08b 247782008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
24779
24780 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
24781 (fill_with_default_glyph): Changed to use unknown_glyph for fill
24782 pattern for unknown glyphs.
24783
68807e5f 247842008-02-09 Robert Millan <rmh@aybabtu.com>
24785
24786 * configure.ac: Probe for `help2man'.
24787 * Makefile.in (builddir): New variable.
24788 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
24789 or otherwise add a few flags/options to it.
24790 (install-local): For every executable utility or script that is
24791 installed, invoke $(HELP2MAN) to install a manpage based on --help
24792 output.
24793
24794 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
24795 that it doesn't prevent --help from working in build tree.
24796
24797 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
24798 with `bug-grub@gnu.org'.
24799 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
24800 * util/update-grub.in (usage): New function.
24801 Implement proper argument check, with support for --help and --version
24802 (as well as existing -y).
24803
248042008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 24805
24806 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
24807 avoid overwriting previous output.
24808 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
24809
c1962162 248102008-02-09 Robert Millan <rmh@aybabtu.com>
24811
24812 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
24813 drawing the menu.
24814
3dac2e3f 248152008-02-09 Robert Millan <rmh@aybabtu.com>
24816
24817 * commands/sleep.c: New file.
24818 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
24819 (sleep_mod_SOURCES): New variable.
24820 (sleep_mod_CFLAGS): Likewise.
24821 (sleep_mod_LDFLAGS): Likewise.
24822
7a634e08 248232008-02-09 Robert Millan <rmh@aybabtu.com>
24824
24825 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
24826 situations in which we can deduce the RAID size and the superblock
24827 doesn't match it.
24828
b92f0c18 248292008-02-09 Robert Millan <rmh@aybabtu.com>
24830
24831 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
24832 and return a grub_diskmemberlist_t composed of LVM physical volumes.
24833 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
24834
24835 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
24836 and return a grub_diskmemberlist_t composed of physical array members.
24837 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
24838
24839 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
24840 prototype.
24841 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
24842 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
24843 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
24844
24845 * util/grub-probe.c (probe): Move partmap probing code from here ...
24846 (probe_partmap): ... to here.
24847 (probe): Use probe_partmap() once for the disk we're probing, and
24848 additionally, when such disk contains a memberlist() struct member,
24849 once for each disk that is contained in the structure returned by
24850 memberlist().
24851
91a4bf68 248522008-02-09 Robert Millan <rmh@aybabtu.com>
24853
24854 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
24855 environment variable to 'all' in order to obtain debug output from
24856 non-util/ code.
24857 * util/i386/pc/grub-setup.c (main): Likewise.
24858
a96f9caa 248592008-02-08 Robert Millan <rmh@aybabtu.com>
24860
24861 * disk/raid.c (grub_raid_scan_device): Check for
24862 `array->device[sb.this_disk.number]' rather than for
24863 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 24864 guaranteed to be accessible.
a96f9caa 24865
b37a9222 248662008-02-08 Robert Millan <rmh@aybabtu.com>
24867
24868 * disk/raid.c: Update copyright.
24869 * fs/cpio.c: Likewise.
24870 * include/grub/raid.h: Likewise.
24871 * loader/i386/pc/multiboot.c: Likewise.
24872 * util/hostfs.c: Likewise.
24873
5626aee1 248742008-02-08 Robert Millan <rmh@aybabtu.com>
24875
24876 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
24877 to a grub_disk_t array.
24878 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
24879 `device[x]'.
24880 (grub_raid_scan_device): Replace `device[x].name' accesses with
24881 `device[x]->name'. Simplify initialization of `array->device[x]'.
24882
554f0187 248832008-02-08 Robert Millan <rmh@aybabtu.com>
24884
24885 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
24886 grub_dprintf() calls.
24887 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
24888 error message.
24889
1ec8425d 248902008-02-07 Christian Franke <franke@computer.org>
24891
24892 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
24893 instead of fseek and ftell to support large files.
24894 (grub_hostfs_read): Likewise.
24895
f2156fda 248962008-02-07 Robert Millan <rmh@aybabtu.com>
24897
24898 Patch from Jeroen Dekkers.
24899 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 24900 failure, since successfully reading all array members might not be
f2156fda 24901 required.
24902
9216e0e7 249032008-02-06 Robert Millan <rmh@aybabtu.com>
24904
24905 * util/grub-probe.c (probe): Simplify partmap probing (with the
24906 assumption that the first word up to the underscore equals to
24907 the module name).
24908
b0dfd29a 249092008-02-06 Christian Franke <franke@computer.org>
24910
24911 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
24912 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
24913 last block of a cpio or tar stream.
24914 Check for "TRAILER!!!" instead of any empty data
24915 block to detect last block of a cpio stream.
24916 (grub_cpio_dir): Fix constness of variable np.
24917 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
24918 cpio or tar trailer is detected. This fixes a crash
24919 on open of a non existing file.
24920
c32865bf 249212008-02-05 Bean <bean123ch@gmail.com>
24922
24923 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
24924 address of entry.
24925 (grub_multiboot_load_elf64): Likewise.
24926 (grub_multiboot): Initialize mbi structure.
24927
24928 * util/grub-fstest.c: Don't include unused header file script.h.
24929
fe6b695a 24930 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 24931 of file.
24932 (grub_fstest_SOURCES): Likewise.
24933
409480b7 249342008-02-05 Robert Millan <rmh@aybabtu.com>
24935
24936 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
24937 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
24938 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
24939 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
24940
24941 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
24942 (translation_table): Replace hardcoded values with macros
24943 provided by `<grub/term.h>'.
24944
24945 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
24946 (keyboard_map): Correct/add a few values, with macros provided
24947 by `<grub/term.h>'.
24948 (keyboard_map_shift): Zero values that don't differ from their
24949 `keyboard_map' equivalents.
24950 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
24951 Discard the second scan code that is always sent by Caps lock.
24952 Only use `keyboard_map_shift' when it provides a non-zero value,
24953 otherwise fallback to `keyboard_map'.
24954
99fadbaa 249552008-02-04 Bean <bean123ch@gmail.com>
24956
24957 * Makefile.in (enable_grub_fstest): New variable.
24958
24959 * conf/common.rmk (grub_fstest_init.lst): New rule.
24960 (grub_fstest_init.h): Likewise.
24961 (grub_fstest_init.c): Likewise.
24962 (util/grub-fstest.c_DEPENDENCIES): New variable.
24963 (grub_fstest_SOURCES): Likewise.
24964
24965 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
24966
24967 * util/grub-fstest.c: New file.
24968
bf567c50 249692008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24970
24971 Make grub-setup handle a separate root device.
f19dbdb7 24972
bf567c50 24973 * util/i386/pc/grub-setup.c (setup): Always open the root device,
24974 so that the root device can be compared with the destination
24975 device.
24976 When embedding the core image, if the root and destination devices
24977 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
24978 0xFF.
24979 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 24980
9be6b98b 249812008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24982
24983 Add support for having a grub directory in a different drive. This
24984 is still only the data handling part.
f19dbdb7 24985
9be6b98b 24986 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
24987 (codestart): Save %dh in GRUB_ROOT_DRIVE.
24988 (grub_root_drive): New variable.
24989
24990 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
24991 instead of GRUB_BOOT_DRIVE to construct a device name. Set
24992 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
24993 as it was.
24994
24995 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
24996
24997 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
24998 macro.
24999 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
25000
25001 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
25002 is bogus, because PXE booting does not specify any drive
25003 correctly.
25004
25005 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
25006 am not sure if this is really correct.
25007
25008 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
25009 is always identical to the boot drive when booting from a CD.
25010
25011 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
25012 longer.
25013 (root_drive): New variable.
25014 (real_start): Unconditionally set %dh to ROOT_DRIVE.
25015 (setup_sectors): Push %dx right after popping it, because %dh will
25016 be modified later.
25017 (copy_buffer): Restore %dx.
25018
e0ca0677 250192008-02-03 Robert Millan <rmh@aybabtu.com>
25020
25021 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
25022 use `cdboot.img' for cdrom images.
25023
3b3f6629 250242008-02-03 Robert Millan <rmh@aybabtu.com>
25025
25026 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
25027 only setup gfxterm when `font' command has succeeded.
25028
d42b3672 250292008-02-03 Robert Millan <rmh@aybabtu.com>
25030
25031 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
25032 (grub_rescue_cmd_multiboot_loader)
25033 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
25034
fa370ea6 250352008-02-03 Pavel Roskin <proski@gnu.org>
25036
e0c5dacb 25037 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 25038 %edx and %esi from stack only after grub_gate_a20() is called.
25039 grub_gate_a20() clobbers %edx.
25040
f2a76e1d 250412008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25042
25043 * configure.ac (AC_INIT): Bumped to 1.96.
25044
25045 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
25046 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
25047 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
25048 video/readers/png.c.
25049
90fd32d1 250502008-02-03 Bean <bean123ch@gmail.com>
9be665dd 25051
25052 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
25053 (cdboot_img_SOURCES): New variable.
25054 (cdboot_img_ASFLAGS): New variable.
25055 (cdboot_img_LDFLAGS): New variable.
25056
25057 * boot/i386/pc/cdboot.S: New file.
25058
25059 * disk/i386/pc/biosdisk.c (cd_start): New variable.
25060 (cd_count): Likewise.
25061 (grub_biosdisk_get_drive): Add support for cd device.
25062 (grub_biosdisk_call_hook): Likewise.
25063 (grub_biosdisk_iterate): Likewise.
25064 (grub_biosdisk_open): Likewise.
25065 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
25066 (grub_biosdisk_rw): Support reading from cd device.
25067 (GRUB_MOD_INIT): Iterate cd devices.
25068
25069 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
25070 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
25071 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
25072
25073 * kern/i386/pc/init.c (make_install_device): Check for cd device.
25074
4020aa53 250752008-02-02 Robert Millan <rmh@aybabtu.com>
25076
25077 * commands/read.c: New file.
25078 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
25079 (read_mod_SOURCES): New variable.
25080 (read_mod_CFLAGS): Likewise.
25081 (read_mod_LDFLAGS): Likewise.
25082
e03a1132 250832008-02-02 Robert Millan <rmh@aybabtu.com>
25084
25085 * normal/main.c (grub_normal_execute): Check for `menu->size' when
25086 determining whether menu has to be displayed.
25087
58c69220 250882008-02-02 Marco Gerards <marco@gnu.org>
25089
25090 * bus/pci.c: New file.
25091
25092 * include/grub/pci.h: Likewise.
25093
25094 * include/grub/i386/pc/pci.h: Likewise.
25095
25096 * commands/lspci.c: Likewise.
25097
25098 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
25099 `lspci.mod'.
25100 (pci_mod_SOURCES): New variable.
25101 (pci_mod_CFLAGS): Likewise.
25102 (pci_mod_LDFLAGS): Likewise.
25103 (lspci_mod_SOURCES): Likewise.
25104 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 25105 (lspci_mod_LDFLAGS): Likewise.
58c69220 25106
c004e1b4 251072008-02-02 Bean <bean123ch@gmail.com>
25108
25109 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
25110 (grub_ufs_get_file_block): Fix indirect block calculation problem.
25111
25112 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
25113 (grub_xfs_btree_node): New structure.
25114 (grub_xfs_btree_root): New structure.
25115 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
25116 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
25117 (GRUB_XFS_EXTENT_BLOCK): Likewise.
25118 (GRUB_XFS_EXTENT_SIZE): Likewise.
25119 (grub_xfs_read_block): Support btree format type.
25120 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
25121 Use directory block as basic unit.
25122
25123 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
25124
25125 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
25126 __attribute__ ((__regparm__ (1))).
25127
f95562bf 251282008-02-01 Robert Millan <rmh@aybabtu.com>
25129
25130 Correct a mistake in previous commit.
25131
25132 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
25133 top.
25134 (normal/command.c_DEPENDENCIES): New variable.
25135
7d31f41f 251362008-02-01 Robert Millan <rmh@aybabtu.com>
25137
25138 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
25139 top.
25140 (normal/command.c_DEPENDENCIES): New variable.
25141 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
25142 * conf/i386-ieee1275.rmk: Likewise.
25143 * conf/i386-linuxbios.rmk: Likewise.
25144 * conf/i386-pc.rmk: Likewise.
25145 * conf/sparc64-ieee1275.rmk: Likewise.
25146 * conf/powerpc-ieee1275.rmk: Likewise.
25147 (grub_emu_SOURCES): Add `fs/fshelp.c'.
25148
25149 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
25150
60b6be74 251512008-02-01 Robert Millan <rmh@aybabtu.com>
25152
25153 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
25154 call at beginning of function.
25155
078522ab 251562008-01-31 Pavel Roskin <proski@gnu.org>
25157
25158 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 25159 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
25160 (grub_mkrescue_SOURCES): Likewise.
078522ab 25161 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
25162
ccaa8a5f 251632008-01-30 Robert Millan <rmh@aybabtu.com>
25164
25165 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
25166 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
25167 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
25168 (grub_probe_SOURCES): ... to here.
25169
25170 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
25171 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
25172 * conf/i386-ieee1275.rmk: Likewise.
25173 * conf/i386-linuxbios.rmk: Likewise.
25174 * conf/powerpc-ieee1275.rmk: Likewise.
25175
ae5a9cd7 251762008-01-30 Tristan Gingold <gingold@free.fr>
25177
25178 * kern/rescue.c: Silently accept empty lines.
25179
70bc2ef2 251802008-01-29 Bean <bean123ch@gmail.com>
25181
25182 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
25183 (real_code_2): Code cleanup and change comment style.
25184 (move_memory): Avoid using 32-bit address mode.
25185
6a4d50ea 251862008-01-29 Bean <bean123ch@gmail.com>
25187
25188 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
25189 (png_mod_SOURCES): New variable.
25190 (png_mod_CFLAGS): Likewise.
25191 (png_mod_LDFLAGS): Likewise.
25192
25193 * video/readers/png.c: New file.
25194
11cc30ac 251952008-01-28 Robert Millan <rmh@aybabtu.com>
25196
25197 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
25198 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
25199 `ifndef GRUB_MOD_GAP' hack.
25200 * util/elf/grub-mkimage.c (add_segments): Likewise.
25201
3abc589f 252022008-01-27 Robert Millan <rmh@aybabtu.com>
25203
25204 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
25205 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 25206 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 25207
e1907778 252082008-01-27 Robert Millan <rmh@aybabtu.com>
25209
25210 Get grub-emu to build again (including parallel builds).
25211
25212 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
25213 Split into ...
25214 (util/grub-emu.c_DEPENDENCIES): ... this, ...
25215 (normal/execute.c_DEPENDENCIES): ... this, ...
25216 (grub-emu_DEPENDENCIES): ... and this.
25217
25218 * conf/i386-efi.rmk: Likewise.
25219 * conf/i386-linuxbios.rmk: Likewise.
25220 * conf/i386-ieee1275.rmk: Likewise.
25221 * conf/powerpc-ieee1275.rmk: Likewise.
25222 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
25223
2216b101 252242008-01-27 Robert Millan <rmh@aybabtu.com>
25225
25226 * NEWS: Add a few items.
25227
f75172d9 252282008-01-27 Robert Millan <rmh@aybabtu.com>
25229
25230 Fix parallel builds with grub-emu. Based on earlier commit for
25231 grub-probe and grub-setup.
25232
25233 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25234 (util/grub-emu.c_DEPENDENCIES): ... this.
25235 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25236 (util/grub-emu.c_DEPENDENCIES): ... this.
25237 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25238 (util/grub-emu.c_DEPENDENCIES): ... this.
25239 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25240 (util/grub-emu.c_DEPENDENCIES): ... this.
25241 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25242 (util/grub-emu.c_DEPENDENCIES): ... this.
25243
3f51de77 252442008-01-27 Pavel Roskin <proski@gnu.org>
25245
25246 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
25247 to create a gap between _end and the modules added to the image
25248 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
25249 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
25250 * util/elf/grub-mkimage.c (add_segments): Likewise.
25251
2033f53e 252522008-01-26 Pavel Roskin <proski@gnu.org>
25253
25254 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
25255 just return an error.
25256
22da1f6f 252572008-01-26 Bean <bean123ch@gmail.com>
25258
25259 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
25260 (grub_reiserfs_get_item): Save offset of the next item.
25261 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
25262
2a9525e6 252632008-01-25 Robert Millan <rmh@aybabtu.com>
25264
25265 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
25266 make all filesystem sources appear together (possibly fixing omissions
25267 while at it).
25268 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25269 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25270 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25271 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25272
25273 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
25274 add `kern/file.c'.
25275 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
25276 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25277 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
25278 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25279
25280 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
25281 (probe): Add a sanity check to make sure of our ability to read
25282 requested files when probing for filesystem type.
25283
25284 * genmk.rb: Update copyright year (2007).
25285
25286 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
25287 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
25288 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
25289 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
25290 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
25291 : Remove function prototypes.
25292
b95f71b5 252932008-01-25 Robert Millan <rmh@aybabtu.com>
25294
25295 Revert my previous commits (based on wrong assumption of how grub_errno
25296 works).
25297
fe6b695a 25298 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 25299 * kern/file.c (grub_file_open): Likewise.
25300
d08bbb49 253012008-01-24 Pavel Roskin <proski@gnu.org>
25302
25303 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
25304 that hang if GRUB tries to setup colors.
25305 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
25306 colors for firmwares that don't support it.
25307 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
25308 Recognize Open Hack'Ware, set flags to work around its
25309 limitations.
25310
605e36ed 253112008-01-24 Robert Millan <rmh@aybabtu.com>
25312
25313 * kern/file.c (grub_file_open): Do not account previous failures of
25314 unrelated functions when grub_errno is checked for.
25315 Reported by Oleg Strikov.
25316
bac332a1 253172008-01-24 Bean <bean123ch@gmail.com>
25318
25319 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
25320 (grub_ufs_sblock): New member volume name.
25321 (grub_ufs_find_file): Fix string copy bug.
25322 (grub_ufs_label): Implement this function properly.
25323
25324 * fs/hfs.c (grub_hfs_cnid_type): New enum.
25325 (grub_hfs_iterate_records): Use the correct file number for extents
25326 and catalog file. Fix problem in next index calculation.
25327 (grub_hfs_find_node): Replace recursive function call with loop.
25328 (grub_hfs_iterate_dir): Replace recursive function call with loop.
25329
15c80c09 253302008-01-23 Robert Millan <rmh@aybabtu.com>
25331
25332 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
25333 `<grub/symbol.h>' and `<grub/multiboot.h>'.
25334 (grub_multiboot2_real_boot): New function prototype.
25335
25336 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
25337 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
25338
25339 * kern/i386/ieee1275/init.c (grub_os_area_addr)
25340 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
25341
305338fd 253422008-01-23 Robert Millan <rmh@aybabtu.com>
25343
25344 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
25345 #ifdef'ed out grub_printf().
25346
3ea52685 253472008-01-23 Robert Millan <rmh@aybabtu.com>
25348
25349 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
25350 grub_dprintf calls, since they make "debug=all" mode unusable.
25351 (grub_console_checkkey): Likewise.
25352
5882ae4b 253532008-01-23 Robert Millan <rmh@aybabtu.com>
25354
25355 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25356 `term/i386/pc/at_keyboard.c'.
25357 (pkglib_MODULES): Add `serial.mod'.
25358 (serial_mod_SOURCES): New variable.
25359 (serial_mod_CFLAGS): Likewise.
25360 (serial_mod_LDFLAGS): Likewise.
25361
25362 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
25363 `<grub/powerpc/ieee1275/console.h>'.
25364 (grub_keyboard_controller_init): New function prototype.
25365 (grub_console_checkkey): Likewise.
25366 (grub_console_getkey): Likewise.
25367
25368 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
25369 keyboard on i386.
25370
25371 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
25372 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
25373
06ab5303 253742008-01-23 Robert Millan <rmh@aybabtu.com>
25375
25376 * kern/i386/pc/init.c (make_install_device): When memdisk image is
25377 present, "(memdisk)/boot/grub" becomes the default prefix.
25378
25379 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
25380 a memdisk tarball with all the modules. Add --overlay=DIR option that
25381 allows users to overlay additional files into the image.
25382
dbb475a4 253832008-01-23 Robert Millan <rmh@aybabtu.com>
25384
25385 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
25386 and `machine/memory.h'.
25387 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
25388 (_multiboot_mod_SOURCES): New variable.
25389 (_multiboot_mod_CFLAGS): Likewise.
25390 (_multiboot_mod_LDFLAGS): Likewise.
25391 (multiboot_mod_SOURCES): Likewise.
25392 (multiboot_mod_CFLAGS): Likewise.
25393 (multiboot_mod_LDFLAGS): Likewise.
25394
25395 * include/grub/i386/ieee1275/loader.h: New file.
25396
25397 * include/grub/i386/ieee1275/machine.h: Likewise.
25398
25399 * include/grub/i386/ieee1275/memory.h: Likewise.
25400
25401 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
25402 variable declaration.
25403 (grub_os_area_size): Likewise.
25404
25405 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
25406 (grub_lower_mem, grub_upper_mem): New variables.
25407 (grub_stop_floppy): New function (just to make
25408 grub_multiboot2_real_boot() happy).
25409
25410 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
25411 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
25412 (grub_stop): New function.
25413 Include `"../realmode.S"' and `"../loader.S"'.
25414
25415 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
25416 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
25417
25418 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
25419 rely on grub_multiboot2_real_boot() for final boot.
25420
25638629 254212008-01-22 Robert Millan <rmh@aybabtu.com>
25422
25423 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
25424 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
25425 device that doesn't look like an SD card.
25426 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25427 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
25428 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
25429 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
25430 found.
25431
9dad816d 254322008-01-22 Robert Millan <rmh@aybabtu.com>
25433
25434 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
25435 avoid claiming over our own code.
25436
34842f2d 254372008-01-22 Bean <bean123ch@gmail.com>
25438
25439 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
25440 (jpeg_mod_SOURCES): New variable.
25441 (jpeg_mod_CFLAGS): Likewise.
25442 (jpeg_mod_LDFLAGS): Likewise.
25443
25444 * video/readers/jpeg.c : New file.
25445
44023a28 254462008-01-22 Bean <bean123ch@gmail.com>
25447
25448 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
25449 there are no more items.
25450
bc2d8ac6 254512008-01-21 Robert Millan <rmh@aybabtu.com>
25452
25453 * kern/mm.c (grub_mm_init_region): Improve debug message.
25454
261bd4bc 254552008-01-21 Robert Millan <rmh@aybabtu.com>
25456
25457 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
25458 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
25459 address.
25460 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
25461 a C macro.
25462 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
25463 Indicates start of upper memory.
25464 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
25465 (generate_image): Abort when image size is big enough to corrupt
25466 upper memory.
25467
25468 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
25469 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
25470 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
25471 instead of hardcoding 0xA0000.
25472 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
25473 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
25474 instead of hardcoding 0xA0000.
25475
f970b55e 254762008-01-21 Robert Millan <rmh@aybabtu.com>
25477
25478 * disk/memdisk.c (memdisk_size): New variable.
25479 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
25480 `memdisk_size'.
25481 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
25482 image to dynamic memory.
25483 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
25484 `memdisk_size'. Free memdisk block.
25485
1a8b0526 254862008-01-21 Robert Millan <rmh@aybabtu.com>
25487
25488 Fix detection of very small filesystems (like tar).
25489
25490 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
25491 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
25492 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
25493 a problem with this disk).
25494
6e9b4aab 254952008-01-21 Robert Millan <rmh@aybabtu.com>
25496
25497 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
25498 on grub_biosdisk_rw_standard() error.
25499
0d8837b2 255002008-01-21 Robert Millan <rmh@aybabtu.com>
25501
25502 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
25503 recent changes.
25504 * kern/elf.c: Likewise.
25505 * kern/ieee1275/ieee1275.c: Likewise.
25506 * kern/powerpc/ieee1275/openfw.c: Likewise.
25507 * term/ieee1275/ofconsole.c: Likewise.
25508
ffd36e34 255092008-01-21 Robert Millan <rmh@aybabtu.com>
25510
25511 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
25512
3f0093d0 25513 * include/grub/kernel.h (grub_arch_memdisk_addr)
25514 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 25515
3f0093d0 25516 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
25517 (grub_arch_memdisk_size): ... to here.
ffd36e34 25518
6c391b21 255192008-01-21 Robert Millan <rmh@aybabtu.com>
25520
25521 Mostly based on bugfix from Bean.
25522
25523 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
25524 attribute with hook() parameter.
25525 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
25526 declaration.
25527 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
25528 attribute with hook() parameter.
25529 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
25530 declaration.
25531
55a581dc 255322008-01-21 Robert Millan <rmh@aybabtu.com>
25533
25534 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
25535 (pkglib_MODULES): Add `memdisk.mod'.
25536 (memdisk_mod_SOURCES): New variable.
25537 (memdisk_mod_CFLAGS): Likewise.
25538 (memdisk_mod_LDFLAGS): Likewise.
25539
25540 * disk/memdisk.c: New file.
25541
25542 * include/grub/disk.h (grub_disk_dev_id): Add
25543 `GRUB_DISK_DEVICE_MEMDISK_ID'.
25544
25545 * include/grub/i386/pc/kernel.h
25546 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
25547 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
25548 (grub_kernel_image_size): New variable declaration.
25549 (grub_total_module_size): Likewise.
25550 (grub_memdisk_image_size): Likewise.
25551
25552 * include/grub/i386/pc/memory.h
25553 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
25554
25555 * include/grub/kernel.h: Include `<grub/symbol.h>'.
25556 (grub_arch_memdisk_addr): New variable declaration.
25557 (grub_arch_memdisk_size): Likewise.
25558
25559 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
25560 (grub_arch_memdisk_size): Likewise.
25561
25562 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
25563 (codestart): Replace hardcoded `0x100000' with
25564 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
25565
25566 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
25567 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
25568 not NULL, append the contents of the file it refers to, at the end of
25569 the compressed kernel image. Initialize `grub_memdisk_image_size'
25570 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
25571 (options): Add "memdisk"|'m' option.
25572 (main): Parse --memdisk|-m option, and pass user-provided path as
25573 parameter to generate_image().
25574
3d7f54c9 255752008-01-20 Robert Millan <rmh@aybabtu.com>
25576
25577 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
25578 grub_dprintf() calls from here ...
25579 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
25580
0bf74728 255812008-01-20 Robert Millan <rmh@aybabtu.com>
25582
25583 Fix detection of "real mode" when /options/real-mode? doesn't exist.
25584
25585 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
25586 declaration.
25587 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
25588 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
25589 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 25590 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 25591 property).
25592 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
25593 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
25594
33bf70a7 255952008-01-19 Robert Millan <rmh@aybabtu.com>
25596
fe6b695a 25597 Get rid of confusing function (superseded by
33bf70a7 25598 `grub_ieee1275_get_integer_property')
25599 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
25600 prototype.
25601 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
25602 function.
25603 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
25604 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 25605 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 25606
e2da7d26 256072008-01-19 Robert Millan <rmh@aybabtu.com>
25608
25609 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
25610 command after "shut-down", since implementations differ on which
25611 the command for halt is.
25612
59f1fd8d 256132008-01-19 Robert Millan <rmh@aybabtu.com>
25614
25615 * include/grub/i386/linuxbios/console.h: Add header protection.
25616 (grub_keyboard_controller_init): New function prototype.
25617 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
25618 (KEYBOARD_COMMAND_READ): Likewise.
25619 (KEYBOARD_COMMAND_WRITE): Likewise.
25620 (KEYBOARD_SCANCODE_SET1): Likewise.
25621 (grub_keyboard_controller_write): New function.
25622 (grub_keyboard_controller_read): Likewise.
25623 (grub_keyboard_controller_init): Likewise.
25624
25625 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
25626 (grub_console_init): On coreboot/LinuxBIOS, call
25627 grub_keyboard_controller_init().
25628
5f5a7c15 256292008-01-19 Robert Millan <rmh@aybabtu.com>
25630
25631 PowerPC changes provided by Pavel Roskin.
25632
25633 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
25634 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
25635 don't rely on cmain() doing it.
25636 * kern/i386/ieee1275/startup.S (_start): Store %eax in
25637 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
25638
1210e168 256392008-01-16 Robert Millan <rmh@aybabtu.com>
25640
25641 * include/grub/i386/linuxbios/memory.h
25642 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
25643 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
25644 receive `table_header' as argument. Instead, probe for it in the
25645 known memory ranges where it can be present.
25646 (grub_available_iterate): Do not pass a fixed `table_header' address
25647 to grub_linuxbios_table_iterate().
25648
3d04eab8 256492008-01-15 Robert Millan <rmh@aybabtu.com>
25650
25651 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
25652 * conf/i386-ieee1275.rmk: New file.
25653 * include/grub/i386/ieee1275/console.h: Likewise.
25654 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
25655 * include/grub/i386/ieee1275/kernel.h: Likewise.
25656 * include/grub/i386/ieee1275/time.h: Likewise.
25657 * kern/i386/ieee1275/init.c: Likewise.
25658 * kern/i386/ieee1275/startup.S: Likewise.
25659
d1bc1b73 256602008-01-15 Robert Millan <rmh@aybabtu.com>
25661
25662 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
25663 when pointers are 32-bit (but still do set it to one when they are
25664 64-bit).
25665
66a65807 256662008-01-15 Robert Millan <rmh@aybabtu.com>
25667
25668 * include/grub/ieee1275/ieee1275.h
25669 (grub_ieee1275_get_integer_property): New function prototype.
25670
25671 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
25672 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 25673 grub_ieee1275_get_property() to handle endianness.
66a65807 25674
25675 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
25676 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 25677 where appropriate.
66a65807 25678 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
25679 (grub_map): Likewise.
25680 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
25681
a83ccafd 256822008-01-15 Bean <bean123ch@gmail.com>
25683
25684 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
25685 (grub_script_execute_cmdline): Reset grub_errno.
25686
25687 * normal/main.c (read_config_file): Reset grub_errno.
25688
25689 * normal/parse.y (script_init): New.
25690 (script): Move function and menuentry here.
25691 (delimiter): New.
25692 (command): Add delimiter at the end of command.
25693 (commands): Adjust to match the new command.
25694 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 25695 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 25696 (if): Use the new commands.
25697
25698 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
25699
df6ecfc6 257002008-01-15 Robert Millan <rmh@aybabtu.com>
25701
25702 * normal/menu.c (run_menu): Move timeout message from here ...
25703 (print_timeout): ... to here.
25704 (run_menu): Use print_timeout() once during initial draw to print
25705 the whole message, and again in every clock tick to update only
25706 the number of seconds.
25707
87ae25eb 257082008-01-15 Robert Millan <rmh@aybabtu.com>
25709
25710 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
25711 actual size of `available' from grub_ieee1275_get_property(), and
25712 restrict parsing to that bound.
25713
47bf09a4 257142008-01-15 Christian Franke <franke@computer.org>
25715
25716 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
25717 (argp_program_version): Remove variable.
25718 (argp_program_bug_address): Likewise.
25719 (options): Convert from struct argp_option to struct option.
25720 (struct arguments): Remove.
25721 (parse_opt): Remove.
25722 (usage): New function.
25723 (main): Replace struct args members by simple variables.
25724 Replace argp_parse() by getopt_long().
25725 Add switch to evaluate options.
25726 Add missing "(...)" around root_dev in prefix string.
25727
c86f1469 257282008-01-14 Robert Millan <rmh@aybabtu.com>
25729
25730 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
25731 for grub_ieee1275_exit(), in order to improve portability.
25732
e622c559 257332008-01-14 Robert Millan <rmh@aybabtu.com>
25734
25735 * util/grub.d/10_linux.in (prefix): Define.
25736 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
25737
44cb1ec8 257382008-01-13 Pavel Roskin <proski@gnu.org>
25739
25740 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
25741 grub_errno if no errors have been detected.
25742
1eb8c802 257432008-01-12 Robert Millan <rmh@aybabtu.com>
25744
25745 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
25746 (grub_util_get_dev_abstraction): New function prototype.
25747
25748 * util/getroot.c: Include `<grub/util/getroot.h>'
25749 (grub_util_get_grub_dev): Move detection of abstraction type to ...
25750 (grub_util_get_dev_abstraction): ... here (new function).
25751
25752 * util/grub-probe.c: Convert PRINT_* to an enum. Add
25753 `PRINT_ABSTRACTION'.
25754 (probe): Probe for abstraction type when requested.
25755 (main): Understand `--target=abstraction'.
25756
25757 * util/i386/efi/grub-install.in: Add abstraction module to core
25758 image when it is found to be necessary.
25759 * util/i386/pc/grub-install.in: Likewise.
25760 * util/powerpc/ieee1275/grub-install.in: Likewise.
25761
25762 * util/update-grub_lib.in (font_path): Return system path without
25763 converting to GRUB path.
25764 * util/update-grub.in: Convert system path returned by font_path()
25765 to a GRUB path. Use `grub-probe -t abstraction' to determine what
25766 abstraction module is needed for loading fonts (if any). Export
25767 that as `GRUB_PRELOAD_MODULES'.
25768 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
25769 insmod commands).
25770
52bd3de9 257712008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
25772
25773 Remove some unused code from reiserfs.
f19dbdb7 25774
52bd3de9 25775 * fs/reiserfs.c (struct grub_reiserfs_key)
25776 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
25777 (struct grub_reiserfs_node_body): Removed.
25778 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
25779 Likewise.
25780 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25781 Likewise.
25782 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25783 Likewise.
25784 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25785 Likewise.
25786 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
25787 Likewise.
25788 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
25789 Likewise.
25790 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25791 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25792 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25793
2f80039d 257942008-01-10 Robert Millan <rmh@aybabtu.com>
25795
25796 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
25797 Determines if a file is garbage left by packaging systems, etc.
25798 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
25799 for processing /etc/grub.d scripts.
25800 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
25801 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
25802 as a condition for processing Linux images.
25803
87888032 258042008-01-10 Pavel Roskin <proski@gnu.org>
25805
25806 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
25807 to compile reiserfs.c on PowerPC.
25808
7e54fced 258092008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 25810
25811 * kern/device.c (grub_device_iterate): Do not abort device iteration
25812 when one of the devices cannot be opened.
25813 * kern/disk.c (grub_disk_open): Do not account previous failures of
25814 unrelated functions when grub_errno is checked for.
25815
5aa541e6 258162008-01-08 Robert Millan <rmh@aybabtu.com>
25817
25818 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
25819 `! grub_linux_is_bzimage', change order of address comparison to make
25820 it more intuitive, and improve "too big zImage" error message.
25821
7076340d 258222008-01-08 Robert Millan <rmh@aybabtu.com>
25823
25824 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
25825 `$(update-grub_DATA)'.
25826 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
25827 targets.
25828
9ca70333 258292008-01-07 Robert Millan <rmh@aybabtu.com>
25830
25831 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
25832 which instruction is modified by grub-setup during installation
25833 (since it wasn't obvious by only looking at this file).
25834
38ccf575 258352008-01-07 Robert Millan <rmh@aybabtu.com>
25836
25837 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
25838 listing actual TODO items.
25839
f5db4291 258402008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25841
868967cf 25842 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
25843 correctly.
25844 (grub_reiserfs_get_key_offset): Likewise.
25845 (grub_reiserfs_set_key_offset): Likewise.
25846 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 25847 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 25848
25849 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
25850 better to remove the bitfield version completely.
f19dbdb7 25851
868967cf 258522008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25853
f5db4291 25854 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
25855 allocated from the heap, due to the fshelp implementation.
25856 (grub_reiserfs_dir): Free NODE, due to the same reason.
25857
492e6d9d 258582008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25859
25860 Mostly from Vincent Pelletier:
f19dbdb7 25861
492e6d9d 25862 * fs/reiserfs.c: New file.
f19dbdb7 25863
492e6d9d 25864 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
25865 (reiserfs_mod_SOURCES): New variable.
25866 (reiserfs_mod_CFLAGS): Likewise.
25867 (reiserfs_mod_LDFLAGS): Likewise.
25868
25869 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
25870 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
25871 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
25872 normal/color.c.
25873
9ce3e7c1 258742008-01-06 Robert Millan <rmh@aybabtu.com>
25875
25876 * normal/color.c: Remove `<grub/env.h>'.
25877
f3b58148 258782008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
25879
25880 * include/grub/normal.h: Include <grub/env.h>.
25881
7ac3bcfa 258822008-01-05 Robert Millan <rmh@aybabtu.com>
25883
25884 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
25885 usage example with `(hd0,1)'.
fb358190 25886 Reported by Samuel Thibault.
7ac3bcfa 25887
c8ee99d7 258882008-01-05 Robert Millan <rmh@aybabtu.com>
25889
25890 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
25891 (grub_linux_boot_zimage): Rename to ...
25892 (grub_linux_boot): ... this.
25893 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
25894 (grub_linux_boot_zimage): Conditionalize zImage copy.
25895
25896 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
25897 (grub_linux_boot_bzimage): Remove prototype.
25898 (grub_linux_boot_zimage): Rename to ...
25899 (grub_linux_boot): ... this.
25900
25901 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
25902 (grub_linux_boot): Remove function.
25903
0ece25b1 259042008-01-05 Robert Millan <rmh@aybabtu.com>
25905
25906 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
25907 (grub_env_write_color_highlight): Likewise.
25908 (grub_wait_after_message): Likewise.
25909
25910 * normal/color.c: New file.
25911
25912 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25913 (normal_mod_DEPENDENCIES): Likewise.
25914
25915 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25916 (normal_mod_DEPENDENCIES): Likewise.
25917
25918 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25919 (normal_mod_DEPENDENCIES): Likewise.
25920
25921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25922 (normal_mod_DEPENDENCIES): Likewise.
25923
25924 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
25925 for waiting after a message is printed.
25926 * normal/main.c (read_config_file): Likewise.
25927 (grub_normal_init): Register grub_env_write_color_normal() and
25928 grub_env_write_color_highlight() hooks. Mark `color_normal' and
25929 `color_highlight' variables as global.
25930
25931 * normal/menu.c (grub_wait_after_message): New function.
25932 (grub_color_menu_normal): New variable. Replaces ...
25933 (GRUB_COLOR_MENU_NORMAL): ... this macro.
25934 (grub_color_menu_highlight): New variable. Replaces ...
25935 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
25936 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
25937 `GRUB_TERM_COLOR_STANDARD'.
25938 (print_message): Use `grub_setcolorstate' to reload colors. Rename
25939 `normal_code' and `highlight_code' to `old_color_normal' and
25940 `old_color_highlight', respectively.
25941 (grub_menu_init_page): Update colors when drawing the menu, based on
25942 `menu_color_normal' and `menu_color_highlight' variables.
25943 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
25944 a message is printed.
25945
182dd4e5 259462008-01-05 Robert Millan <rmh@aybabtu.com>
25947
25948 * kern/env.c (grub_env_context_open): Propagate hooks for global
25949 variables to new context.
25950
25951 * kern/main.c (grub_set_root_dev): Export `root' variable.
25952
ddf8f6ad 259532008-01-05 Robert Millan <rmh@aybabtu.com>
25954
25955 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 25956 discs unconditionally, since udev and others have options to provide
ddf8f6ad 25957 them.
25958
d8b43d9b 259592008-01-05 Robert Millan <rmh@aybabtu.com>
25960
25961 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
25962
2bff2de3 259632008-01-04 Christian Franke <franke@computer.org>
25964
25965 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
25966 of eisa_mmap.
25967
97eab917 259682008-01-03 Pavel Roskin <proski@gnu.org>
25969
25970 * kern/i386/linuxbios/init.c: Put "void" to all function
25971 declarations with no arguments.
25972 * kern/powerpc/ieee1275/init.c: Likewise.
25973 * term/i386/pc/at_keyboard.c: Likewise.
25974 * term/i386/pc/vga_text.c: Likewise.
25975 * util/grub-mkdevicemap.c: Likewise.
25976
b9416d00 259772008-01-02 Robert Millan <rmh@aybabtu.com>
25978
25979 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
25980 message when loaded image is out of bounds.
25981 (grub_multiboot_load_elf64): Likewise.
25982
92695df9 259832008-01-02 Pavel Roskin <proski@gnu.org>
25984
25985 * util/grub.d/10_linux.in: Try version without ".old" when
25986 looking for initrd. It's better to use initrd from the newer
25987 kernel of the same version than no initrd at all.
25988
d98d9cad 259892008-01-01 Robert Millan <rmh@aybabtu.com>
25990
25991 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
25992
dbfdce36 259932008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
25994
f19dbdb7 25995 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 25996 grub_video_get_active_render_target.
25997 (grub_video_adapter): Added unmap_color and get_active_render_target.
25998
f19dbdb7 25999 * video/video.c: Added grub_video_unmap_color and
dbfdce36 26000 grub_video_get_active_render_target.
26001 (grub_video_get_info): Changed method to accept NULL pointer as an
26002 argument to allow detection of active video adapter.
26003
26004 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
26005 grub_video_vbe_unmap_color_int.
26006 Added grub_video_vbe_unmap_color and
26007 grub_video_vbe_get_active_render_target.
26008 (grub_video_vbe_adapter): Added unmap_color and
26009 get_active_render_target.
26010
f19dbdb7 26011 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 26012 with grub_video_vbe_unmap_color_int.
26013
26014 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
26015 (DEFAULT_NORMAL_COLOR): Likewise.
26016 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
26017 (DEFAULT_FG_COLOR): Removed.
26018 (DEFAULT_BG_COLOR): Likewise.
26019 (DEFAULT_CURSOR_COLOR): Changed value.
26020 (grub_virtual_screen): Added standard_color_setting,
26021 normal_color_setting, highlight_color_setting and term_color.
26022 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
26023 (bitmap_width): Added.
26024 (bitmap_height): Likewise.
26025 (bitmap): Likewise.
26026 (set_term_color): Likewise.
26027 (grub_virtual_screen_setup): Changed to use new terminal coloring
26028 settings.
26029 (grub_gfxterm_init): Added init for bitmap.
26030 (grub_gfxterm_fini): Added destroy for bitmap.
26031 (redraw_screen_rect): Updated to use background bitmap and new
26032 terminal coloring.
26033 (scroll_up): Added optimization for case when there is no bitmap.
26034 (grub_gfxterm_cls): Fixed to use correct background color.
26035 (grub_virtual_screen_setcolorstate): Changed to use new terminal
26036 coloring.
26037 (grub_virtual_screen_setcolor): Likewise.
26038 (grub_virtual_screen_getcolor): Added.
26039 (grub_gfxterm_background_image_cmd): Likewise.
26040 (grub_video_term): Added setcolor and getcolor.
26041 (MOD_INIT): Added registration of background_image command.
26042 (MOD_TERM): Added unregistration for background_image command.
26043
c3c20931 260442007-12-30 Pavel Roskin <proski@gnu.org>
26045
26046 * loader/multiboot_loader.c: Fix multiboot command
26047 unregistration. Fix all typos in the word "multiboot".
26048
df266716 260492007-12-29 Pavel Roskin <proski@gnu.org>
94239199 26050
26051 * util/grub.d/10_linux.in: Refactor search for initrd. Add
26052 support for initrd names used in Fedora.
26053
fc6e896c 260542007-12-26 Bean <bean123ch@gmail.com>
26055
26056 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
26057 (cpio_mod_SOURCES): New variable.
26058 (cpio_mod_CFLAGS): Likewise.
26059 (cpio_mod_LDFLAGS): Likewise.
26060
26061 * fs/cpio.c: New file.
26062
26063 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
26064
26065 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26066
26067 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26068
26069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26070
533110ad 260712007-12-25 Robert Millan <rmh@aybabtu.com>
26072
26073 * include/grub/term.h (struct grub_term): Add `getcolor' function.
26074 (grub_getcolor): New function.
26075
26076 * kern/term.c (grub_getcolor): New function.
26077 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
26078 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
26079 (print_entry): Set normal and highlight colors to
26080 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
26081 respectively, before printing and restore them to old
26082 values afterwards.
26083 (grub_menu_init_page): Likewise. Fill an additional colored space
26084 that would otherwise be left blank.
26085
26086 * term/efi/console.c (grub_console_getcolor): New function.
26087 (struct grub_console_term.getcolor): New variable.
26088 * term/i386/pc/console.c (grub_console_getcolor): New function.
26089 (struct grub_console_term.getcolor): New variable.
26090 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
26091 (struct grub_console_term.getcolor): New variable.
26092
26093 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
26094 (struct grub_console_term.setcolor): Remove variable.
26095 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
26096 (struct grub_console_term.setcolor): Remove variable.
26097 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
26098 (struct grub_console_term.setcolor): Remove variable.
26099 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
26100 (struct grub_console_term.setcolor): Remove variable.
26101
4931827f 261022007-12-25 Robert Millan <rmh@aybabtu.com>
26103
26104 * configure.ac: Search for possible unifont.hex locations, and
26105 define UNIFONT_HEX if found.
26106
26107 * Makefile.in (UNIFONT_HEX): Define variable.
26108 (DATA): Rename to ...
26109 (PKGLIB): ... this. Update all users.
26110 (PKGDATA): New variable.
26111 (pkgdata_IMAGES): Rename to ...
26112 (pkglib_IMAGES): ... this. Update all users.
26113 (pkgdata_MODULES): Rename to ...
26114 (pkglib_MODULES): ... this. Update all users.
26115 (pkgdata_PROGRAMS): Rename to ...
26116 (pkglib_PROGRAMS): ... this. Update all users.
26117 (pkgdata_DATA): Rename to ...
26118 (pkglib_DATA): ... this. Update all users.
26119 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
26120 (unicode.pff, ascii.pff): New rules.
26121 (all-local): Add `$(PKGDATA)' dependency.
26122 (install-local): Process `$(PKGDATA)'.
26123
26124 * util/update-grub_lib.in (font_path): Search for *.pff files in
26125 a few more locations, including `${pkgdata}'.
26126
57e57e31 261272007-12-23 Robert Millan <rmh@aybabtu.com>
26128
26129 Patch from Bean <bean123ch@gmail.com>:
26130 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
26131 `size'.
26132
4bc72aa9 261332007-12-21 Bean <bean123ch@gmail.com>
26134
26135 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
26136 (ntfscomp_mod_SOURCES): New variable.
26137 (ntfscomp_mod_CFLAGS): Likewise.
26138 (ntfscomp_mod_LDFLAGS): Likewise.
26139
26140 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
26141 (grub_probe_SOURCES): Likewise.
26142 (grub_emu_SOURCES): Likewise.
26143
26144 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26145 (grub_emu_SOURCES): Likewise.
26146
26147 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26148 (grub_emu_SOURCES): Likewise.
26149
26150 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26151 (grub_emu_SOURCES): Likewise.
26152
26153 * fs/ntfs.c (grub_ntfscomp_func): New variable.
26154 (read_run_list): Renamed to grub_ntfs_read_run_list.
26155 (decomp_nextvcn): Moved to ntfscomp.c.
26156 (decomp_getch): Likewise.
26157 (decomp_get16): Likewise.
26158 (decomp_block): Likewise.
26159 (read_block): Likewise.
26160 (read_data): Partially moved to ntfscomp.c.
26161 (fixup): Change unsigned to grub_uint16_t.
26162 (read_mft): Change unsigned long to grub_uint32_t.
26163 (read_attr): Likewise.
26164 (read_data): Likewise.
26165 (read_run_data): Likewise.
26166 (read_run_list): Likewise.
26167 (read_mft): Likewise.
26168
26169 * fs/ntfscomp.c: New file.
26170
26171 * include/grub/ntfs.h: New file.
26172
af680a87 261732007-12-16 Robert Millan <rmh@aybabtu.com>
26174
26175 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
26176 IDE disk check, since Linux is known to support 20 IDE disks.
26177 Reported by Colin Watson.
26178
84be7599 261792007-12-15 Bean <bean123ch@gmail.com>
26180
26181 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
26182 (lnxboot_img_SOURCES): New variable.
26183 (lnxboot_img_ASFLAGS): Likewise.
26184 (lnxboot_img_LDFLAGS): Likewise.
26185
26186 * boot/i386/pc/lnxboot.S: New file.
26187
6af9db01 261882007-11-24 Pavel Roskin <proski@gnu.org>
26189
26190 * configure.ac: Test if '--build-id=none' is supported by the
26191 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
26192 objcopy to generate incorrect binary files (binutils
26193 2.17.50.0.18-1 as shipped by Fedora 8).
26194 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
26195 linking, so that build ID doesn't break the test.
26196
7361cfe6 261972007-11-24 Pavel Roskin <proski@gnu.org>
26198
26199 * include/grub/i386/time.h: use "void" in the argument list
26200 of grub_cpu_idle().
26201 * include/grub/powerpc/time.h: Likewise.
26202 * include/grub/sparc64/time.h: Likewise.
26203
1593e10c 262042007-11-18 Christian Franke <franke@computer.org>
26205
26206 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
26207 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
26208 This fixes the problem that function keys did not work in grub-emu.
26209
3b8db1a8 262102007-11-18 Christian Franke <franke@computer.org>
26211
26212 * disk/host.c (grub_host_open): Remove attribute unused from
26213 name parameter. Add check for "host". This fixes the problem
26214 that grub-emu does not find partitions.
26215
2e29408d 262162007-11-18 Christian Franke <franke@computer.org>
26217
26218 * util/hostfs.c (is_dir): New function.
26219 (grub_hostfs_dir): Handle missing dirent.d_type case.
26220 (grub_hostfs_read): Add missing fseek().
26221 (grub_hostfs_label): Clear label pointer. This fixes a crash
26222 of grub-emu on "ls (host)".
26223
398cd047 262242007-11-18 Christian Franke <franke@computer.org>
26225
26226 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
26227 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
26228 to 64 bit boundary by default.
26229
c405c391 262302007-11-18 Bean <bean123ch@gmail.com>
26231
26232 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
26233 (hexdump_mod_SOURCES): New variable.
26234 (hexdump_mod_CFLAGS): Likewise.
26235 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 26236
c405c391 26237 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26238
26239 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26240
26241 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26242
26243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26244
26245 * include/grub/hexdump.h: New file.
26246
26247 * commands/hexdump.c: New file.
26248
5cced7fd 262492007-11-10 Robert Millan <rmh@aybabtu.com>
26250
26251 * commands/i386/pc/play.c (beep_off): Switch order of arguments
26252 in grub_outb() calls.
26253 (beep_on): Likewise.
26254
8b714eb0 262552007-11-10 Christian Franke <franke@computer.org>
26256
26257 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
26258 (grub_menu_run): Likewise.
26259
ce0f1839 262602007-11-10 Robert Millan <rmh@aybabtu.com>
26261
26262 * include/grub/i386/efi/machine.h: New file.
26263 * include/grub/i386/linuxbios/machine.h: Likewise.
26264 * include/grub/i386/pc/machine.h: Likewise.
26265 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26266 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26267
26268 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
26269 (serial_hw_io_addr): New variable.
26270 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
26271 instead of `(unsigned short *) 0x400'.
26272
270c237d 262732007-11-10 Bean <bean123ch@gmail.com>
26274
26275 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
26276
a87783bf 262772007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26278
26279 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
26280 (vga_mod_SOURCES): Added.
26281 (vga_mod_CFLAGS): Likewise.
26282 (vga_mod_LDFLAGS): Likewise.
26283
26284 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
26285 grub_outb() calls.
26286 (set_map_mask): Likewise.
26287 (set_read_map): Likewise.
26288 (set_read_address): Likewise.
26289 (vga_font): Removed variable.
26290 (get_vga_glyph): Removed function.
26291 (invalidate_char): Likewise.
26292 (write_char): Changed to use grub_font_get_glyph() for font
26293 information.
26294 (grub_vga_putchar): Likewise.
26295 (grub_vga_getcharwidth): Likewise.
26296
6433b448 262972007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26298
26299 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
26300 flags.
26301 (pxeboot_img_LDFLAGS): Likewise.
26302 (diskboot_img_LDFLAGS): Likewise.
26303 (kernel_img_LDFLAGS): Likewise.
26304
49178511 263052007-11-06 Robert Millan <rmh@aybabtu.com>
26306
26307 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
26308 in grub_outb() calls.
26309 (serial_hw_init): Likewise.
26310
53b052de 263112007-11-05 Robert Millan <rmh@aybabtu.com>
26312
26313 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
26314 spaces. Skip non-regular files.
26315
5ab33bba 263162007-11-05 Robert Millan <rmh@aybabtu.com>
26317
26318 * kern/disk.c (grub_disk_firmware_fini)
26319 (grub_disk_firmware_is_tainted): New variables.
26320
26321 * include/grub/disk.h (grub_disk_firmware_fini)
26322 (grub_disk_firmware_is_tainted): Likewise.
26323
26324 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
26325 (grub_disk_biosdisk_fini): ... to here.
26326 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
26327 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
26328 is set. Register grub_disk_biosdisk_fini() in
26329 `grub_disk_firmware_fini'.
26330
26331 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
26332 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
26333 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
26334 to finish existing firmware disk interface.
26335
26336 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
26337 (ata_mod_SOURCES): New variable.
26338 (ata_mod_CFLAGS): Likewise.
26339 (ata_mod_LDFLAGS): Likewise.
26340
0149ab7c 263412007-11-05 Robert Millan <rmh@aybabtu.com>
26342
26343 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
26344 (grub_ata_wait): Reimplement using grub_millisleep().
26345
26346 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
26347 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
26348
be7ac41e 263492007-11-03 Marco Gerards <marco@gnu.org>
26350
26351 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
26352 (CRTC_ADDR_PORT): New macro.
26353 (CRTC_DATA_PORT): Likewise.
26354 (CRTC_CURSOR): Likewise.
26355 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26356 (CRTC_CURSOR_ADDR_LOW): Likewise.
26357 (update_cursor): New function.
26358 (grub_console_real_putchar): Call `update_cursor'.
26359 (grub_console_gotoxy): Likewise.
26360 (grub_console_cls): Set the default color when clearing the
26361 screen.
26362 (grub_console_setcursor): Implemented.
26363
bb06ab2e 263642007-11-03 Marco Gerards <marco@gnu.org>
26365
26366 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
26367 become activate.
26368 (grub_ata_pio_write): Likewise.
26369
26370 (grub_atapi_identify): Wait after issuing an ATA command.
26371 (grub_atapi_packet): Likewise.
26372 (grub_ata_identify): Likewise.
26373 (grub_ata_readwrite): Likewise.
26374
cf8f780b 263752007-11-03 Marco Gerards <marco@gnu.org>
26376
26377 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
26378 (grub_ata_pio_write): Likewise.
26379 (grub_ata_readwrite): Use `grub_error', instead of
26380 returning `grub_errno'.
26381
ed649e54 263822007-11-03 Marco Gerards <marco@gnu.org>
26383
26384 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
26385 grub_ata_pio_write once for every single sector, instead of for
26386 multiple sectors.
26387
ca25d8f0 263882007-10-31 Robert Millan <rmh@aybabtu.com>
26389
26390 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
26391
26392 * conf/i386-linuxbios.rmk: New file.
26393
26394 * kern/i386/pc/hardware.c: Likewise.
26395 * term/i386/pc/at_keyboard.c: Likewise.
26396 * term/i386/pc/vga_text.c: Likewise.
26397
26398 * include/grub/i386/linuxbios/boot.h: Likewise.
26399 * include/grub/i386/linuxbios/console.h: Likewise.
26400 * include/grub/i386/linuxbios/init.h: Likewise.
26401 * include/grub/i386/linuxbios/kernel.h: Likewise.
26402 * include/grub/i386/linuxbios/loader.h: Likewise.
26403 * include/grub/i386/linuxbios/memory.h: Likewise.
26404 * include/grub/i386/linuxbios/serial.h: Likewise.
26405 * include/grub/i386/linuxbios/time.h: Likewise.
26406
26407 * kern/i386/linuxbios/init.c: Likewise.
26408 * kern/i386/linuxbios/startup.S: Likewise.
26409 * kern/i386/linuxbios/table.c: Likewise.
26410
e911ecc1 264112007-10-31 Marco Gerards <marco@gnu.org>
26412
26413 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
26414 (ata_mod_SOURCES): New variable.
26415 (ata_mod_CFLAGS): Likewise.
26416 (ata_mod_LDFLAGS): Likewise.
26417
26418 * disk/ata.c: New file.
26419
26420 * include/grub/disk.h (grub_disk_dev_id): Add
26421 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 26422
7f66d0e0 264232007-10-31 Robert Millan <rmh@aybabtu.com>
26424
26425 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
26426 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
26427
26428 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
26429 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
26430
26431 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
26432 `<grub/types.h>'.
26433
26434 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
26435
5cd7dd46 264362007-10-27 Robert Millan <rmh@aybabtu.com>
26437
3236ca65 26438 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 26439
2ebfc90f 264402007-10-22 Robert Millan <rmh@aybabtu.com>
26441
26442 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
26443 `"../realmode.S"'.
26444 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
26445
73fcb0f3 264462007-10-22 Robert Millan <rmh@aybabtu.com>
26447
26448 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
26449 (pkgdata_MODULES): Add `biosdisk.mod'.
26450 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
26451 variables.
26452
26453 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
26454 (grub_biosdisk_init): Replace with ...
26455 (GRUB_MOD_INIT(biosdisk)): ... this.
26456 (grub_biosdisk_fini): Replace with ...
26457 (GRUB_MOD_FINI(biosdisk)): ... this.
26458
26459 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
26460 (grub_machine_init): Remove call to grub_biosdisk_init().
26461 (grub_machine_fini): Remove call to grub_machine_fini().
26462
26463 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
26464
3381d274 264652007-10-22 Robert Millan <rmh@aybabtu.com>
26466
26467 * include/grub/time.h: New file.
26468 * include/grub/i386/time.h: Likewise.
26469 * include/grub/powerpc/time.h: Likewise.
26470 * include/grub/sparc64/time.h: Likewise.
26471
26472 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
26473 instances to ...
26474 (KERNEL_MACHINE_TIME_HEADER): ... this.
26475 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
26476 instances to ...
26477 (KERNEL_MACHINE_TIME_HEADER): ... this.
26478 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
26479 instances to ...
26480 (KERNEL_MACHINE_TIME_HEADER): ... this.
26481
26482 * kern/i386/efi/init.c: Include `<grub/time.h>'.
26483 (grub_millisleep): New function.
26484 * kern/i386/pc/init.c: Include `<grub/time.h>'.
26485 (grub_millisleep): New function.
26486 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
26487 Remove `grub/machine/time.h' include.
26488 (grub_millisleep): New function.
26489 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
26490 Remove `grub/machine/time.h' include.
26491 (grub_millisleep): New function.
26492
26493 * include/grub/misc.h (grub_div_roundup): New function.
26494
26495 * kern/misc.c: Include `<grub/time.h>'.
26496 (grub_millisleep_generic): New function.
26497
26498 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
26499 Add `time.h'.
26500 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
26501 Add `time.h'.
26502 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
26503 `machine/time.h'. Add `time.h'.
26504 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26505
a39a0312 265062007-10-21 Robert Millan <rmh@aybabtu.com>
26507
26508 * include/grub/misc.h (grub_max): New function.
26509
2aad70e2 265102007-10-21 Robert Millan <rmh@aybabtu.com>
26511
26512 * util/misc.c (grub_util_info): Call fflush() before returning.
26513
54b71c4b 265142007-10-20 Robert Millan <rmh@aybabtu.com>
26515
26516 * genmk.rb (Image): Copy `extra_flags' from here ...
26517 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
26518
26519 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
26520 to `argc' and `args' arguments.
26521
a979f513 265222007-10-17 Robert Millan <rmh@aybabtu.com>
26523
26524 * kern/i386/loader.S: New file.
26525
26526 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
26527 * kern/i386/loader.S (grub_linux_prot_size)... to here.
26528 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
26529 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
26530 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
26531 * kern/i386/loader.S (grub_linux_real_addr)... to here.
26532 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
26533 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
26534 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
26535 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
26536 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
26537 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
26538 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
26539 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
26540
26541 * kern/i386/realmode.S: New file.
26542
26543 * kern/i386/pc/startup.S (protstack): Moved from here ...
26544 * kern/i386/realmode.S (protstack)... to here.
26545 * kern/i386/pc/startup.S (gdt): Moved from here ...
26546 * kern/i386/realmode.S (gdt)... to here.
26547 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
26548 * kern/i386/realmode.S (prot_to_real)... to here.
26549
26550 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
26551 `kern/i386/realmode.S'.
26552
825fc8fd 265532007-10-17 Robert Millan <rmh@aybabtu.com>
26554
26555 * include/grub/i386/loader.h: New file.
26556
26557 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
26558 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
26559 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
26560 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
26561 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
26562 * include/grub/i386/loader.h (grub_linux_prot_size)
26563 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
26564 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
26565 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
26566 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
26567
26568 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
26569
e179b2f4 265702007-10-15 Robert Millan <rmh@aybabtu.com>
26571
26572 * normal/misc.c (grub_normal_print_device_info): Do not probe for
26573 filesystem when dev->disk is unset.
26574 Do probe for filesystem even when dev->disk->has_partitions is set.
26575 In case a filesystem is found, always report it.
26576 In case it isn't, if dev->disk->has_partitions is set, report that
26577 a partition table was found instead of reporting that no filesystem
26578 could be identified.
26579
5db82af6 265802007-10-12 Robert Millan <rmh@aybabtu.com>
26581
26582 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
26583 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
26584
68f6ac74 26585 * include/grub/types.h (grub_host_to_target16): New macro.
26586 (grub_host_to_target32): Likewise.
26587 (grub_host_to_target64): Likewise.
26588 (grub_target_to_host16): Likewise.
26589 (grub_target_to_host32): Likewise.
26590 (grub_target_to_host64): Likewise.
5db82af6 26591
26592 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26593 Renamed from to ...
26594 (GRUB_MOD_ALIGN): ...this. Update all users.
26595
68f6ac74 26596 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
26597 grub_host_to_target32.
26598 Replace grub_be_to_cpu32 with grub_target_to_host32.
26599 (load_modules): Likewise.
26600 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
26601 Replace grub_be_to_cpu32 with grub_target_to_host32.
26602 Replace grub_cpu_to_be16 with grub_host_to_target16.
26603 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 26604
3cf497cc 266052007-10-12 Robert Millan <rmh@aybabtu.com>
26606
26607 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
26608 * util/elf/grub-mkimage.c: ... here.
26609
26610 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
26611 `util/powerpc/ieee1275/grub-mkimage.c'.
26612
c8cc3692 266132007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 26614
c8cc3692 26615 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
26616 and make it easier to figure out.
26617 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
26618 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
26619 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
26620 leave us with less than HEAP_MIN_SIZE total heap.
26621 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 26622
5c58b791 266232007-10-03 Robert Millan <rmh@aybabtu.com>
26624
26625 * include/grub/i386/io.h: New file.
26626 * commands/i386/pc/play.c (inb): Removed.
26627 (outb): Removed.
26628 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26629 with grub_outb().
afcd2ef8 26630 * term/i386/pc/serial.c (inb): Removed.
26631 (outb): Removed.
26632 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26633 with grub_outb().
26634 * term/i386/pc/vga.c (inb): Removed.
26635 (outb): Removed.
26636 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26637 with grub_outb().
5c58b791 26638
1a477ed6 266392007-10-02 Robert Millan <rmh@aybabtu.com>
26640
26641 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
26642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26643 Reported by Marcin Kurek.
26644
6b5d80fa 266452007-09-07 Robert Millan <rmh@aybabtu.com>
26646
26647 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
26648 SmartFirmware version updates (as released by Sven Luther), and avoid
26649 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
26650 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
26651 known broken.
26652
5618afbf 266532007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26654
26655 From Hitoshi Ozeki:
26656 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
26657 when merging two regions.
26658
6139dcd9 266592007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26660
508e39ee 26661 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
26662 * normal/completion.c (grub_normal_do_completion): Likewise.
26663 Reported by Hitoshi Ozeki.
26664
266652007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 26666
6139dcd9 26667 Do not use devices at boot in chainloading.
f19dbdb7 26668
6139dcd9 26669 * loader/i386/pc/chainloader.c (boot_drive): New variable.
26670 (boot_part_addr): Likewise.
26671 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
26672 with BOOT_DRIVE and BOOT_PART_ADDR.
26673 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
26674 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
26675
38da6516 266762007-08-29 Robert Millan <rmh@aybabtu.com>
26677
26678 Patch from Simon Peter <dn.tlp@gmx.net>:
26679 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
26680 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
26681 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
26682 util/i386/pc/grub-setup.c_DEPENDENCIES.
26683 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
26684 util/grub-probe.c_DEPENDENCIES.
26685 * conf/powerpc-ieee1275.rmk: Likewise.
26686
29d0928c 266872007-08-28 Robert Millan <rmh@aybabtu.com>
26688
26689 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
26690 to tell grub-mkdevicemap how to name devices.
26691 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
26692 feature).
26693
26694 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
26695 util/i386/get_disk_name.c.
26696 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
26697 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
26698 util/ieee1275/get_disk_name.c.
26699
26700 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
26701
26702 * DISTLIST: Add util/i386/get_disk_name.c and
26703 util/ieee1275/get_disk_name.c.
26704
26705 * util/grub-mkdevicemap.c: Replace device naming logic with
26706 grub_util_get_disk_name() calls.
26707
5a0d3cca 267082007-08-20 Robert Millan <rmh@aybabtu.com>
26709
26710 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
26711 (so that it works for both plural and singular quantities).
26712
8b72db2f 267132007-08-05 Robert Millan <rmh@aybabtu.com>
26714
26715 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
26716 so that [xz] isn't taken into account when determining order.
26717
352466bf 267182007-08-02 Marco Gerards <marco@gnu.org>
26719
26720 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
26721 `include/multiboot2.h', `include/grub/elfload.h',
26722 `include/multiboot.h', `include/grub/multiboot.h',
26723 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
26724 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
26725 `kern/elf.c', `loader/multiboot_loader.c',
26726 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
26727 `loader/i386/pc/multiboot2.c',
26728 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
26729 `util/i386/pc/grub-mkrescue.in'. Remove
26730 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
26731 `include/grub/i386/pc/util/biosdisk.h' and
26732 `include/grub/powerpc/ieee1275/multiboot.h'.
26733
8f096014 267342007-08-02 Bean <bean123ch@gmail.com>
26735
26736 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
26737 (ntfs_mod_SOURCES): New variable.
26738 (ntfs_mod_CFLAGS): Likewise.
26739 (ntfs_mod_LDFLAGS): Likewise.
26740
26741 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
26742 (grub_probe_SOURCES): Likewise.
26743 (grub_emu_SOURCES): Likewise.
26744
26745 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
26746 (grub_emu_SOURCES): Likewise.
26747
26748 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
26749 (grub_emu_SOURCES): Likewise.
f19dbdb7 26750
8f096014 26751 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
26752
26753 * fs/ntfs.c: New file.
26754
9959f7db 267552007-08-02 Bean <bean123ch@gmail.com>
26756
26757 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
26758
26759 * file.h (grub_file): Likewise.
26760
26761 * fshelp.h (grub_fshelp_read_file): Likewise.
26762
26763 * util/i386/pc/grub-setup.c (setup): Likewise.
26764 (save_first_sector): Likewise.
26765 (save_blocklists): Likewise.
f19dbdb7 26766
9959f7db 26767 * fs/affs.c (grub_affs_read_file): Likewise.
26768
26769 * fs/ext2.c (grub_ext2_read_file): Likewise.
26770
26771 * fs/fat.c (grub_fat_read_data): Likewise.
26772
26773 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
26774
26775 * fs/hfs.c (grub_hfs_read_file): Likewise.
26776
26777 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
26778
26779 * fs/jfs.c (grub_jfs_read_file): Likewise.
26780
26781 * fs/minix.c (grub_minix_read_file): Likewise.
26782
26783 * fs/sfs.c (grub_sfs_read_file): Likewise.
26784
26785 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 26786
9959f7db 26787 * fs/xfs.c (grub_xfs_read_file): Likewise.
26788
26789 * command/blocklist.c (read_blocklist): Likewise.
26790 (print_blocklist): Likewise.
26791
0a203f83 267922007-08-02 Marco Gerards <marco@gnu.org>
26793
26794 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
26795 `util/hostfs.c'.
26796
26797 * disk/host.c: New file.
26798
26799 * util/hostfs.c: Likewise.
26800
26801 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
26802 return `GRUB_ERR_BAD_FS'.
26803 * fs/sfs.c (grub_sfs_mount): Likewise.
26804 * fs/xfs.c (grub_xfs_mount): Likewise.
26805
26806 * include/grub/disk.h (enum grub_disk_dev_id): Add
26807 `GRUB_DISK_DEVICE_HOST_ID'.
26808
26809 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
26810
e5dfe777 268112007-07-24 Jerone Young <jerone@gmail.com>
26812
f19dbdb7 26813 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 26814 modules for compilation.
26815 * conf/powerpc-ieee1275.rmk: Likewise.
26816
26817 * include/multiboot.h: Move multiboot definitions to one file. Rename
26818 many definitions to not get grub specific.
26819 * include/multiboot2.h: Create header with multiboot 2 definitions.
26820 * include/grub/multiboot.h: Header for grub specific function
26821 prototypes and definitions.
26822 * include/grub/multiboot2.h: Likewise.
26823 * include/grub/multiboot_loader.h: Likewise.
26824 * include/grub/i386/pc/multiboot.h: Removed.
26825 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
26826
26827 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
26828 and 2 to allow for one multiboot and module commands.
26829 * loader/multiboot2.c: Add multiboot2 functionality.
26830 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
26831 and definition names.
26832 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
26833 2 functions.
26834 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
26835 ieee1275 specific multiboot2 code.
26836
26837 * kern/i386/pc/startup.S: Change headers and definition names for
26838 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
26839
daf0f0ba 268402007-07-22 Robert Millan <rmh@aybabtu.com>
26841
26842 * geninitheader.sh: Process file specified in first parameter rather
26843 than hardcoding grub_modules_init.lst.
fe6b695a 26844 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 26845 than hardcoding grub_modules_init.h.
26846
26847 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
26848 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
26849 grub_probe_init.[ch] and grub_setup_init.[ch].
26850
26851 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
26852 grub_modules_init.h with grub_emu_init.h.
26853 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
26854 grub_probe_init.[ch] files.
26855 * conf/i386-efi.rmk: Likewise.
26856 * conf/i386-pc.rmk: Likewise.
26857 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
26858 grub_setup_init.[ch] files.
26859
26860 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
26861 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
26862 to initialize modules rather than a list of hardcoded functions.
26863 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
26864 grub_init_all() to initialize modules rather than a list of hardcoded
26865 functions.
26866
54cdc1cc 268672007-07-22 Robert Millan <rmh@aybabtu.com>
26868
26869 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26870 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
26871
ad0686cc 268722007-07-22 Robert Millan <rmh@aybabtu.com>
26873
26874 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26875 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
26876 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
26877 flag when running on SmartFirmware.
26878 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
26879 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
26880 was set.
26881
26882 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
26883 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
26884 rather than decreasing it.
26885
26886 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
26887 there's not enough space to do it, fail in the same way as when it
26888 can't be done because there are no partitions.
26889
26890 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
26891 when nvsetenv failed.
26892
969c02ec 268932007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
26894
26895 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
26896 because this rule is automatically generated.
26897 (grub-mkrescue): Removed for the same reason as above.
26898
5a79f472 268992007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
26900
26901 Migrate to GNU General Public License Version 3.
f19dbdb7 26902
5a79f472 26903 * COPYING: Replaced with the plain text version of GPLv3.
26904
26905 * config.guess: Updated from gnulib.
26906 * config.sub: Likewise.
26907
26908 * geninit.sh: Output a GPLv3 copyright notice.
26909 * geninitheader.sh: Likewise.
26910 * genmodsrc.sh: Likewise.
26911 * gensymlist.sh.in: Likewise.
26912
26913 * boot/i386/pc/boot.S: Upgraded to GPLv3.
26914 * boot/i386/pc/diskboot.S: Likewise.
26915 * boot/i386/pc/pxeboot.S: Likewise.
26916 * commands/blocklist.c: Likewise.
26917 * commands/boot.c: Likewise.
26918 * commands/cat.c: Likewise.
26919 * commands/cmp.c: Likewise.
26920 * commands/configfile.c: Likewise.
26921 * commands/echo.c: Likewise.
26922 * commands/help.c: Likewise.
26923 * commands/ls.c: Likewise.
26924 * commands/search.c: Likewise.
26925 * commands/terminal.c: Likewise.
26926 * commands/test.c: Likewise.
26927 * commands/videotest.c: Likewise.
26928 * commands/i386/cpuid.c: Likewise.
26929 * commands/i386/pc/halt.c: Likewise.
26930 * commands/i386/pc/play.c: Likewise.
26931 * commands/i386/pc/reboot.c: Likewise.
26932 * commands/i386/pc/vbeinfo.c: Likewise.
26933 * commands/i386/pc/vbetest.c: Likewise.
26934 * commands/ieee1275/halt.c: Likewise.
26935 * commands/ieee1275/reboot.c: Likewise.
26936 * commands/ieee1275/suspend.c: Likewise.
26937 * disk/loopback.c: Likewise.
26938 * disk/lvm.c: Likewise.
26939 * disk/raid.c: Likewise.
26940 * disk/efi/efidisk.c: Likewise.
26941 * disk/i386/pc/biosdisk.c: Likewise.
26942 * disk/ieee1275/ofdisk.c: Likewise.
26943 * font/manager.c: Likewise.
26944 * fs/affs.c: Likewise.
26945 * fs/ext2.c: Likewise.
26946 * fs/fat.c: Likewise.
26947 * fs/fshelp.c: Likewise.
26948 * fs/hfs.c: Likewise.
26949 * fs/hfsplus.c: Likewise.
26950 * fs/iso9660.c: Likewise.
26951 * fs/jfs.c: Likewise.
26952 * fs/minix.c: Likewise.
26953 * fs/sfs.c: Likewise.
26954 * fs/ufs.c: Likewise.
26955 * fs/xfs.c: Likewise.
26956 * hello/hello.c: Likewise.
26957 * include/grub/acorn_filecore.h: Likewise.
26958 * include/grub/arg.h: Likewise.
26959 * include/grub/bitmap.h: Likewise.
26960 * include/grub/boot.h: Likewise.
26961 * include/grub/cache.h: Likewise.
26962 * include/grub/device.h: Likewise.
26963 * include/grub/disk.h: Likewise.
26964 * include/grub/dl.h: Likewise.
26965 * include/grub/elfload.h: Likewise.
26966 * include/grub/env.h: Likewise.
26967 * include/grub/err.h: Likewise.
26968 * include/grub/file.h: Likewise.
26969 * include/grub/font.h: Likewise.
26970 * include/grub/fs.h: Likewise.
26971 * include/grub/fshelp.h: Likewise.
26972 * include/grub/gzio.h: Likewise.
26973 * include/grub/hfs.h: Likewise.
26974 * include/grub/kernel.h: Likewise.
26975 * include/grub/loader.h: Likewise.
26976 * include/grub/lvm.h: Likewise.
26977 * include/grub/misc.h: Likewise.
26978 * include/grub/mm.h: Likewise.
26979 * include/grub/net.h: Likewise.
26980 * include/grub/normal.h: Likewise.
26981 * include/grub/parser.h: Likewise.
26982 * include/grub/partition.h: Likewise.
26983 * include/grub/pc_partition.h: Likewise.
26984 * include/grub/raid.h: Likewise.
26985 * include/grub/rescue.h: Likewise.
26986 * include/grub/script.h: Likewise.
26987 * include/grub/setjmp.h: Likewise.
26988 * include/grub/symbol.h: Likewise.
26989 * include/grub/term.h: Likewise.
26990 * include/grub/terminfo.h: Likewise.
26991 * include/grub/tparm.h: Likewise.
26992 * include/grub/types.h: Likewise.
26993 * include/grub/video.h: Likewise.
26994 * include/grub/efi/api.h: Likewise.
26995 * include/grub/efi/chainloader.h: Likewise.
26996 * include/grub/efi/console.h: Likewise.
26997 * include/grub/efi/console_control.h: Likewise.
26998 * include/grub/efi/disk.h: Likewise.
26999 * include/grub/efi/efi.h: Likewise.
27000 * include/grub/efi/pe32.h: Likewise.
27001 * include/grub/efi/time.h: Likewise.
27002 * include/grub/i386/linux.h: Likewise.
27003 * include/grub/i386/setjmp.h: Likewise.
27004 * include/grub/i386/types.h: Likewise.
27005 * include/grub/i386/efi/kernel.h: Likewise.
27006 * include/grub/i386/efi/loader.h: Likewise.
27007 * include/grub/i386/efi/time.h: Likewise.
27008 * include/grub/i386/pc/biosdisk.h: Likewise.
27009 * include/grub/i386/pc/boot.h: Likewise.
27010 * include/grub/i386/pc/chainloader.h: Likewise.
27011 * include/grub/i386/pc/console.h: Likewise.
27012 * include/grub/i386/pc/init.h: Likewise.
27013 * include/grub/i386/pc/kernel.h: Likewise.
27014 * include/grub/i386/pc/loader.h: Likewise.
27015 * include/grub/i386/pc/memory.h: Likewise.
27016 * include/grub/i386/pc/multiboot.h: Likewise.
27017 * include/grub/i386/pc/serial.h: Likewise.
27018 * include/grub/i386/pc/time.h: Likewise.
27019 * include/grub/i386/pc/vbe.h: Likewise.
27020 * include/grub/i386/pc/vbeblit.h: Likewise.
27021 * include/grub/i386/pc/vbefill.h: Likewise.
27022 * include/grub/i386/pc/vbeutil.h: Likewise.
27023 * include/grub/i386/pc/vga.h: Likewise.
27024 * include/grub/ieee1275/ieee1275.h: Likewise.
27025 * include/grub/ieee1275/ofdisk.h: Likewise.
27026 * include/grub/powerpc/libgcc.h: Likewise.
27027 * include/grub/powerpc/setjmp.h: Likewise.
27028 * include/grub/powerpc/types.h: Likewise.
27029 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
27030 * include/grub/powerpc/ieee1275/console.h: Likewise.
27031 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
27032 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27033 * include/grub/powerpc/ieee1275/loader.h: Likewise.
27034 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
27035 * include/grub/powerpc/ieee1275/time.h: Likewise.
27036 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
27037 * include/grub/sparc64/libgcc.h: Likewise.
27038 * include/grub/sparc64/setjmp.h: Likewise.
27039 * include/grub/sparc64/types.h: Likewise.
27040 * include/grub/sparc64/ieee1275/console.h: Likewise.
27041 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27042 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27043 * include/grub/sparc64/ieee1275/time.h: Likewise.
27044 * include/grub/util/biosdisk.h: Likewise.
27045 * include/grub/util/getroot.h: Likewise.
27046 * include/grub/util/lvm.h: Likewise.
27047 * include/grub/util/misc.h: Likewise.
27048 * include/grub/util/raid.h: Likewise.
27049 * include/grub/util/resolve.h: Likewise.
27050 * io/gzio.c: Likewise.
27051 * kern/device.c: Likewise.
27052 * kern/disk.c: Likewise.
27053 * kern/dl.c: Likewise.
27054 * kern/elf.c: Likewise.
27055 * kern/env.c: Likewise.
27056 * kern/err.c: Likewise.
27057 * kern/file.c: Likewise.
27058 * kern/fs.c: Likewise.
27059 * kern/loader.c: Likewise.
27060 * kern/main.c: Likewise.
27061 * kern/misc.c: Likewise.
27062 * kern/mm.c: Likewise.
27063 * kern/parser.c: Likewise.
27064 * kern/partition.c: Likewise.
27065 * kern/rescue.c: Likewise.
27066 * kern/term.c: Likewise.
27067 * kern/efi/efi.c: Likewise.
27068 * kern/efi/init.c: Likewise.
27069 * kern/efi/mm.c: Likewise.
27070 * kern/i386/dl.c: Likewise.
27071 * kern/i386/efi/init.c: Likewise.
27072 * kern/i386/efi/startup.S: Likewise.
27073 * kern/i386/pc/init.c: Likewise.
27074 * kern/i386/pc/lzo1x.S: Likewise.
27075 * kern/i386/pc/startup.S: Likewise.
27076 * kern/ieee1275/ieee1275.c: Likewise.
27077 * kern/powerpc/cache.S: Likewise.
27078 * kern/powerpc/dl.c: Likewise.
27079 * kern/powerpc/ieee1275/cmain.c: Likewise.
27080 * kern/powerpc/ieee1275/crt0.S: Likewise.
27081 * kern/powerpc/ieee1275/init.c: Likewise.
27082 * kern/powerpc/ieee1275/openfw.c: Likewise.
27083 * kern/sparc64/cache.S: Likewise.
27084 * kern/sparc64/dl.c: Likewise.
27085 * kern/sparc64/ieee1275/init.c: Likewise.
27086 * kern/sparc64/ieee1275/openfw.c: Likewise.
27087 * loader/efi/chainloader.c: Likewise.
27088 * loader/efi/chainloader_normal.c: Likewise.
27089 * loader/i386/efi/linux.c: Likewise.
27090 * loader/i386/efi/linux_normal.c: Likewise.
27091 * loader/i386/pc/chainloader.c: Likewise.
27092 * loader/i386/pc/chainloader_normal.c: Likewise.
27093 * loader/i386/pc/linux.c: Likewise.
27094 * loader/i386/pc/linux_normal.c: Likewise.
27095 * loader/i386/pc/multiboot.c: Likewise.
27096 * loader/i386/pc/multiboot_normal.c: Likewise.
27097 * loader/powerpc/ieee1275/linux.c: Likewise.
27098 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27099 * normal/arg.c: Likewise.
27100 * normal/cmdline.c: Likewise.
27101 * normal/command.c: Likewise.
27102 * normal/completion.c: Likewise.
27103 * normal/execute.c: Likewise.
27104 * normal/function.c: Likewise.
27105 * normal/lexer.c: Likewise.
27106 * normal/main.c: Likewise.
27107 * normal/menu.c: Likewise.
27108 * normal/menu_entry.c: Likewise.
27109 * normal/misc.c: Likewise.
27110 * normal/parser.y: Likewise.
27111 * normal/script.c: Likewise.
27112 * normal/i386/setjmp.S: Likewise.
27113 * normal/powerpc/setjmp.S: Likewise.
27114 * normal/sparc64/setjmp.S: Likewise.
27115 * partmap/acorn.c: Likewise.
27116 * partmap/amiga.c: Likewise.
27117 * partmap/apple.c: Likewise.
27118 * partmap/gpt.c: Likewise.
27119 * partmap/pc.c: Likewise.
27120 * partmap/sun.c: Likewise.
27121 * term/gfxterm.c: Likewise.
27122 * term/terminfo.c: Likewise.
27123 * term/efi/console.c: Likewise.
27124 * term/i386/pc/console.c: Likewise.
27125 * term/i386/pc/serial.c: Likewise.
27126 * term/i386/pc/vesafb.c: Likewise.
27127 * term/i386/pc/vga.c: Likewise.
27128 * term/ieee1275/ofconsole.c: Likewise.
27129 * util/biosdisk.c: Likewise.
27130 * util/console.c: Likewise.
27131 * util/genmoddep.c: Likewise.
27132 * util/getroot.c: Likewise.
27133 * util/grub-emu.c: Likewise.
27134 * util/grub-mkdevicemap.c: Likewise.
27135 * util/grub-probe.c: Likewise.
27136 * util/lvm.c: Likewise.
27137 * util/misc.c: Likewise.
27138 * util/raid.c: Likewise.
27139 * util/resolve.c: Likewise.
27140 * util/update-grub.in: Likewise.
27141 * util/update-grub_lib.in: Likewise.
27142 * util/grub.d/00_header.in: Likewise.
27143 * util/grub.d/10_hurd.in: Likewise.
27144 * util/grub.d/10_linux.in: Likewise.
27145 * util/i386/efi/grub-install.in: Likewise.
27146 * util/i386/efi/grub-mkimage.c: Likewise.
27147 * util/i386/pc/grub-install.in: Likewise.
27148 * util/i386/pc/grub-mkimage.c: Likewise.
27149 * util/i386/pc/grub-mkrescue.in: Likewise.
27150 * util/i386/pc/grub-setup.c: Likewise.
27151 * util/i386/pc/misc.c: Likewise.
27152 * util/powerpc/ieee1275/grub-install.in: Likewise.
27153 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
27154 * util/powerpc/ieee1275/misc.c: Likewise.
27155 * video/bitmap.c: Likewise.
27156 * video/video.c: Likewise.
27157 * video/i386/pc/vbe.c: Likewise.
27158 * video/i386/pc/vbeblit.c: Likewise.
27159 * video/i386/pc/vbefill.c: Likewise.
27160 * video/i386/pc/vbeutil.c: Likewise.
27161 * video/readers/tga.c: Likewise.
27162
3572d015 271632007-07-02 Robert Millan <rmh@aybabtu.com>
27164
27165 * conf/i386-efi.rmk: Replace obsolete reference to
27166 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
27167 with util/getroot.c.
27168 * conf/powerpc-ieee1275.rmk: Likewise.
27169 * conf/sparc64-ieee1275.rmk: Likewise.
27170
27171 * util/grub-emu.c (main): Fix unchecked pointer handling.
27172
2c2a681b 271732007-07-02 Robert Millan <rmh@aybabtu.com>
27174
27175 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
27176 invocation to fail, in order to support partition-less media.
27177
27178 * util/i386/pc/grub-install.in: Likewise.
27179
27180 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
27181 which fs or partmap modules are needed (akin to its sister scripts).
27182
27183 Also use grub-probe to get rid of unportable /proc/mounts check.
27184
27185 Print the same informational message that the other scripts do, before
fe6b695a 27186 exiting.
2c2a681b 27187
6193defe 271882007-06-23 Robert Millan <rmh@aybabtu.com>
27189
fe6b695a 27190 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 27191 a font file can be found and, if so, echo the GRUB path to it.
27192
27193 * util/update-grub.in: Handle multiple terminals depending on user
27194 input, platform availability and font file presence. Propagate
27195 variables of our findings to /etc/grub.d/ children.
27196
27197 * util/grub.d/00_header.in: Handle multiple terminals, based on
27198 environment setup by update-grub.
27199
eface1dc 272002007-06-23 Robert Millan <rmh@aybabtu.com>
27201
ba50d28f 27202 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 27203
bf697e28 272042007-06-21 Robert Millan <rmh@aybabtu.com>
27205
27206 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
27207 indicate end of data section in kernel image.
27208 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
27209 GRUB_KERNEL_MACHINE_DATA_END.
27210
27211 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
27212 space for it.
27213 * kern/i386/efi/startup.S: Likewise.
27214
27215 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
27216 during image generation. Implement --prefix option to override this
27217 patch.
27218 * util/i386/efi/grub-mkimage.c: Likewise.
27219
27220 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
27221 code to make path relative to its root into a separate function.
27222
27223 * util/i386/pc/grub-install.in: Use newly provided
27224 make_system_path_relative_to_its_root() to convert ${grubdir}, then
27225 pass the result to grub-install --prefix.
27226
baa574b4 272272007-06-13 Robert Millan <rmh@aybabtu.com>
27228
27229 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
27230 DEFAULT_DEVICE_MAP.
27231 * util/grub-emu.c: Use above definitions from misc.h instead of
27232 defining them.
27233 * util/grub-mkdevicemap.c: Likewise.
27234 * util/i386/pc/grub-setup.c: Likewise.
27235 * util/grub-probe.c: Likewise.
27236 (probe): Abort with grub_util_error() when either
27237 grub_guess_root_device or grub_util_get_grub_dev fails.
27238
0215dcbf 272392007-06-12 Robert Millan <rmh@aybabtu.com>
27240
27241 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
27242 "pager" assignment.
27243 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
27244 "pcdata".
27245 * util/grub-probe.c (probe): Likewise for "drive_name".
27246
8af2ab7b 272472007-06-11 Robert Millan <rmh@aybabtu.com>
27248
27249 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
27250 not just the cdrom one.
27251
59d31694 272522007-06-11 Robert Millan <rmh@aybabtu.com>
27253
27254 * util/i386/pc/grub-mkrescue.in: Add "set -e".
27255 Add --pkglibdir=DIR option to override pkglibdir.
27256 Mention --image-type=TYPE in help output.
27257 Fix --grub-mkimage (it was a no-op).
fe6b695a 27258 Abort gracefully when no parameter is given.
59d31694 27259
7ee367e4 272602007-06-11 Robert Millan <rmh@aybabtu.com>
27261
27262 * util/i386/pc/grub-mkrescue.in: New file.
27263 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
27264 * Makefile.in: Handle bin_SCRIPTS.
27265
29b0ed46 272662007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
27267
27268 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
27269 list of video modes.
27270
c0f90770 272712007-06-06 Robert Millan <rmh@aybabtu.com>
27272
27273 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
27274 file doesn't exist, or if it is in a filesystem grub can't read.
27275
27276 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
27277 not abort if GRUB_DRIVE could not be defined. Rearrange generated
27278 header comment to fit in 80 columns when the variables are resolved.
27279
27280 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
27281 could be identified by update-grub. Remove redundant check for
fe6b695a 27282 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 27283 handles that).
27284
fb36dc26 272852007-06-04 Robert Millan <rmh@aybabtu.com>
27286
27287 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
27288
27289 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
27290
27291 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
27292
0c68c93e 272932007-06-04 Robert Millan <rmh@aybabtu.com>
27294
27295 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
27296
27297 * include/grub/partition.h: Declare grub_apple_partition_map_init and
27298 grub_apple_partition_map_fini.
27299
27300 * util/biosdisk.c
27301 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
27302 to access >2 TiB disks).
27303
27304 Print disk->total_sectors with %llu instead of %lu, since this
27305 variable is always 64-bit (prevents wrong disk size from being displayed
27306 on either >2 TiB disk or big-endian CPU).
27307
27308 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
27309 into a generic case that supports all (sane) partition maps.
27310
27311 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
27312 breaks big-endian.
27313
27314 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
27315 and grub_apple_partition_map_fini() after that.
27316
0f23eb74 273172007-06-01 Robert Millan <rmh@aybabtu.com>
27318
27319 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
27320
27321 * util/grub.d/00_header.in: Only enable gfxterm when
27322 convert_system_path_to_grub_path() succeeds.
27323
42c71976 273242007-05-20 Robert Millan <rmh@aybabtu.com>
27325
27326 * util/update-grub_lib.in: New file.
27327 * DISTLIST: Add update-grub_lib.in.
27328 * conf/common.rmk: Generate update-grub_lib and install it in
27329 $(lib_DATA).
27330 * Makefile.in: Add install routine for $(lib_DATA).
27331
27332 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
27333 function provided by update-grub_lib to support arbitrary paths of
27334 unifont.pff.
27335 * util/update-grub.in: Use convert_system_path_to_grub_path() to
27336 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
27337
5beb2291 273382007-05-19 Robert Millan <rmh@aybabtu.com>
27339
27340 * commands/i386/cpuid.c: New module.
27341 * DISTLIST: Add it.
27342 * conf/i386-efi.rmk: Enable cpuid.mod.
27343 * conf/i386-pc.rmk: Likewise.
27344
7262eca1 273452007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
27346
27347 * kern/disk.c (grub_disk_read): Check return value of
27348 grub_realloc().
27349
260ba823 273502007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
27351
27352 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
27353 arrays.
27354 * disk/raid.c (grub_raid_open): Likewise.
27355
1ecb6cf2 273562007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
27357
27358 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
27359 stack instead of on the heap.
27360
27361 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
27362 before doing a read on it.
27363
27364 * configure.ac: Only use -fno-stack-protector for the target
27365 environment.
f19dbdb7 27366
21c8cbb1 273672007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
27368
27369 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
27370 __attribute_ ((unused)) to mode_type argument.
27371
27372 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 27373
21c8cbb1 27374 * kern/misc.c (memcmp): Fix prototype.
27375
27376 * include/grub/partition.h [GRUB_UTIL]
27377 (grub_gpt_partition_map_init): Add prototype.
27378 (grub_gpt_partition_map_fini): Likewise.
27379
27380 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
27381 at the right place.
27382
27383 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
27384 (grub_fat_read_data): Likewise.
27385 (grub_fat_find_dir): Likewise.
27386
27387 * font/manager.c (find_glyph): Make table a const.
27388 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 27389
849d55d3 273902007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
27391
27392 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
27393 code, first search for device in /dev/mapper, then in /dev.
27394 (grub_util_get_grub_dev): New function.
27395 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
27396 prototype.
27397 * util/grub-probe.c (probe): Remove check for RAID, call
27398 grub_util_get_grub_dev() instead of
27399 grub_util_biosdisk_get_grub_dev().
27400 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
27401 grub_util_biosdisk_get_grub_dev().
27402 * util/i386/pc/grub-setup.c (main): Likewise.
27403
8fff7c2f 274042007-05-16 Robert Millan <rmh@aybabtu.com>
27405
27406 * DISTLIST: Update for the latest changes.
27407 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
27408 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
27409 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
27410 grub/util/biosdisk.h.
27411 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
27412 grub/util/biosdisk.h.
27413
48e12b52 274142007-05-16 Robert Millan <rmh@aybabtu.com>
27415
27416 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
27417
46b9d128 274182007-05-16 Robert Millan <rmh@aybabtu.com>
27419
27420 * util/i386/efi/grub-install.in: New.
27421 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
27422 newly added grub-install.
27423 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
27424 include.
27425 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
27426 grub/util/biosdisk.h.
27427 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
27428 grub/util/biosdisk.h.
27429
2d1a40a9 274302007-05-16 Robert Millan <rmh@aybabtu.com>
27431
27432 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
27433 * include/grub/util/biosdisk.h: ... here.
27434 * util/i386/pc/biosdisk.c: Moved to ...
27435 * util/biosdisk.c: ... here.
27436 * util/i386/pc/getroot.c: Moved to ...
27437 * util/getroot.c: ... here.
27438 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
27439 * util/grub-mkdevicemap.c: ... here.
27440 * util/i386/pc/grub-probe.c: Moved to ...
27441 * util/grub-probe.c: ... here.
27442
9e26e3bc 274432007-05-15 Robert Millan <rmh@aybabtu.com>
27444
27445 * util/update-grub.in: Remove duplicated line in grub.cfg header
27446 message.
27447
57f96397 274482007-05-13 Robert Millan <rmh@aybabtu.com>
27449
27450 * util/update-grub.in: Fix a few assumptions about the devices holding
27451 /, /boot and /boot/grub being the same.
27452 * util/grub.d/00_header.in: Likewise.
27453 * util/grub.d/10_hurd.in: Likewise.
27454 * util/grub.d/10_linux.in: Likewise.
27455
27456 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
27457 patterns. Use that to define the `.old' suffix as older than `'.
27458
27459 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
27460
27461 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
27462 the grub.cfg header message.
27463
2e610d62 274642007-05-11 Robert Millan <rmh@aybabtu.com>
27465
27466 * util/update-grub.in: Create device.map if it doesn't already exist,
27467 before attempting to run grub-probe.
27468 Check for grub-probe and grub-mkdevicemap with the same code
27469 grub-install is using.
27470 Remove test mode.
27471
3f6a10ef 274722007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
27473
27474 * Makefile.in: Add the datarootdir autoconf variable.
27475
02e7b75e 274762007-05-09 Robert Millan <rmh@aybabtu.com>
27477
27478 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 27479 fail gracefully if dev->disk->partition == NULL.
02e7b75e 27480
75f396cc 274812007-05-07 Robert Millan <rmh@aybabtu.com>
27482
27483 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
27484 determine partition map module.
27485 * util/i386/pc/grub-install.in: Use this feature to decide which
27486 partition module to load, instead of hardcoding pc and gpt.
27487
da65cb36 274882007-05-07 Robert Millan <rmh@aybabtu.com>
27489
27490 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
27491 source directory differs from build directory.
27492
b57d6a91 274932007-05-05 Robert Millan <rmh@aybabtu.com>
27494
27495 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
27496 initialisation.
27497
509d00f1 274982007-05-05 Robert Millan <rmh@aybabtu.com>
27499
27500 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
27501
c48f23ef 275022007-05-05 Robert Millan <rmh@aybabtu.com>
27503
27504 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
27505 command-line arguments via ${GRUB_CMDLINE_LINUX}.
27506
20b97658 275072007-05-05 Robert Millan <rmh@aybabtu.com>
27508
27509 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
27510 (grub_probe_SOURCES): Likewise.
27511 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
27512 GPT and initialize dos_part and bsd_part accordingly.
27513 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
27514 install_bsd_part.
27515 (main): Activate gpt module for use during partition identification,
27516 and deactivate it afterwards.
27517 * util/i386/pc/grub-install.in: Add gpt module to core.img.
27518 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
27519 partition identification, and deactivate it afterwards.
27520
99123174 275212007-05-05 Robert Millan <rmh@aybabtu.com>
27522
27523 * term/i386/pc/console.c (grub_console_fini): Call
27524 grub_term_set_current() before grub_term_unregister().
27525
ebd97f6e 275262007-05-04 Robert Millan <rmh@aybabtu.com>
27527
27528 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
27529 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
27530 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
27531 and update-grub_DATA.
27532 * conf/common.rmk: Build and install update-grub components.
27533 * conf/common.mk: Regenerate.
27534 * util/update-grub.in: New. Core of update-grub.
27535 * util/grub.d/00_header.in: New. Generates grub.cfg header.
27536 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
27537 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
27538 * util/grub.d/README: New. Document grub.d directory layout.
27539
b06a264d 275402007-05-01 Robert Millan <rmh@aybabtu.com>
27541
27542 * util/grub-emu.c: Move initialization functions
27543 grub_util_biosdisk_init() and grub_init_all() before
27544 grub_util_biosdisk_get_grub_dev(), which relies on them.
27545
41f0050e 275462007-04-19 Robert Millan <rmh@aybabtu.com>
27547
27548 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
27549 it is used later.
27550
04582bb3 275512007-04-18 Jerone Young <jerone@gmail.com>
27552
f19dbdb7 27553 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 27554 stanza.
27555
08db4632 275562007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 27557
08db4632 27558 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
27559 continue on and look for device node with real device name.
27560
801b76be 275612007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 27562
fe6b695a 27563 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 27564 ability.
27565 * Makefile.in: Add autoconf package transformation code.
27566 * util/i386/pc/grub-install.in: Likewise.
27567 * util/powerpc/ieee1275/grub-install.in: Likewise.
27568
6795c4e1 275692007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
27570
27571 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
27572 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
27573 (EXT2_REVISION): Likewise.
27574 (EXT2_INODE_SIZE): Likewise.
27575 (struct grub_ext2_block_group): Added a missing member
27576 "used_dirs".
27577 (grub_ext2_read_inode): Divide by the inode size in a superblock
27578 instead of 128 to obtain INODES_PER_BLOCK.
27579 Use the macro EXT2_INODE_SIZE instead of directly using
27580 SBLOCK->INODE_SIZE.
27581
d70af616 275822007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
27583
27584 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
27585 superblock instead of the structure size to compute an
27586 offset. This fixes the problem that GRUB could not read a
27587 filesystem when inode size is different from 128-byte.
27588
3b801603 275892007-03-05 Marco Gerards <marco@gnu.org>
27590
27591 * normal/main.c (read_config_file): When "menu" is not set, create
27592 an initial context.
27593
4785bfe4 275942007-02-21 Hollis Blanchard <hollis@penguinppc.org>
27595
27596 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
27597 (HEAP_LIMIT): New macro.
27598 (grub_claim_heap): Claim memory up to `heaplimit'.
27599
a0cbb023 276002007-02-21 Hollis Blanchard <hollis@penguinppc.org>
27601
27602 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
27603 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
27604 (_start): Likewise.
27605 (grub_arch_modules_addr): Return address after `_end'.
27606 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
27607 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
27608 (add_segments): Calculate `_end' from phdr size and location.
27609 (ALIGN_UP): Moved to ...
27610 * include/grub/misc.h: here.
27611 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27612 New macro.
27613 (GRUB_IEEE1275_MODULE_BASE): Removed.
27614
fd7d8eba 276152007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27616
27617 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
27618 loop boundary.
27619
9b09e6fc 276202007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27621
27622 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
27623 All users updated.
27624 (grub_elf64_load_hook_t): Likewise.
27625 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
27626 debug output.
27627
3ce27299 276282007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27629
27630 * kern/mm.c: Update copyright.
27631 (grub_mm_debug): Correct syntax error.
27632 (grub_mm_dump_free): New function.
27633 (grub_debug_free): Call `grub_free'.
27634 * include/grub/mm.h: Update copyright.
27635 (grub_mm_dump_free): Add declaration.
27636
077d5fee 276372007-02-12 Hollis Blanchard <hollis@penguinppc.org>
27638
27639 * include/grub/ieee1275/ieee1275.h: Update copyright.
27640 * kern/powerpc/ieee1275/init.c: Likewise.
27641 * kern/powerpc/ieee1275/openfw.c: Likewise.
27642
27643 * loader/powerpc/ieee1275/linux.c: Likewise.
27644 * include/grub/elfload.h: Likewise.
27645 * kern/elf.c: Likewise.
27646 (grub_elf32_load): Pass `base' and `size' parameters. Update all
27647 callers.
27648 (grub_elf64_load): Likewise.
27649 (grub_elf32_load_segment): Move to a nested function.
27650 (grub_elf64_load_segment): Likewise.
27651
dc946850 276522007-02-12 Hollis Blanchard <hollis@penguinppc.org>
27653
27654 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
27655 prototype.
27656 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
27657 (grub_heap_len): Likewise.
27658 (HEAP_SIZE): New macro.
27659 (grub_claim_heap): New function.
27660 (grub_machine_init): Don't claim heap directly. Call
27661 `grub_claim_heap'.
27662 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
27663 (grub_available_iterate): New function.
27664
baa2a121 276652007-02-03 Thomas Schwinge <tschwinge@gnu.org>
27666
27667 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
27668 * configure.ac: Use it for testing the HOST and TARGET compilers.
27669
4fe9862e 276702006-12-13 Thomas Schwinge <tschwinge@gnu.org>
27671
27672 * Makefile.in (enable_grub_emu): New variable.
27673 * configure.ac (--enable-grub-emu): New option.
27674 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
27675 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
27676 * conf/i386-pc.rmk: Likewise.
27677 * conf/powerpc-ieee1275.rmk: Likewise.
27678 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
27679
a8aa5762 276802006-12-12 Marco Gerards <marco@gnu.org>
27681
27682 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
27683
27684 * kern/env.c (grub_env_unset): Don't free the member `value' when
27685 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
27686 pointer.
27687
27688 * normal/main.c (current_menu): Removed.
27689 (free_menu): Unset the `menu' environment variable.
27690 (grub_normal_menu_addentry): Make use of the environment variable
27691 `menu', instead of using the global `current_menu'. Allocate
27692 memory for the sourcecode of this entry.
27693 (read_config_file): New argument `nested', changed all callers.
27694 Only in the case of a new context, initialize a new menu. Set the
27695 `menu' environment variable.
27696 (grub_normal_execute): Don't set and unset the environment
27697 variable `menu' here anymore. Only free the menu when leaving the
27698 context.
27699
27700 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
27701 leak.
27702
957b3a3e 277032006-12-11 Marco Gerards <marco@gnu.org>
27704
27705 * normal/menu_entry.c (run): Fix off by one bug so the last line
27706 is executed. Move the loader check to outside the loop.
27707
ef875714 277082006-12-08 Hollis Blanchard <hollis@penguinppc.org>
27709
27710 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
27711
4e739985 277122006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
27713
27714 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
27715 the number of sectors. Reported by Andrey Shuvikov
27716 <mr_hyro@yahoo.com>.
f19dbdb7 27717
790707f2 277182006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
27719
27720 * kern/disk.c (grub_disk_read): When there is a read error, always
27721 try to read only the necessary data.
f19dbdb7 27722
790707f2 27723 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
27724 disk/raid.c.
27725 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
27726 prototype.
27727 [GRUB_UTIL] (grub_raid_fini): Likewise.
27728 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 27729 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 27730 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
27731 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
27732 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
27733 and grub_raid_fini().
f19dbdb7 27734
03e58196 277352006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
27736
27737 * include/grub/types.h (__unused): Rename to UNUSED.
27738 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
27739 (grub_elf64_size): Likewise.
f19dbdb7 27740
ae4f23bf 277412006-11-03 Hollis Blanchard <hollis@penguinppc.org>
27742
27743 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
27744 grub_error_push and grub_error_pop in the error-handling path.
27745 (grub_elf32_load_segment): Only call grub_file_read with non-zero
27746 length.
27747
2166cc83 277482006-11-03 Hollis Blanchard <hollis@penguinppc.org>
27749
27750 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
27751 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27752 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27753 (kernel_elf_SOURCES): Likewise.
27754 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
27755 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
27756 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27757 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27758 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
27759 (elf_mod_SOURCES): New variable.
27760 (elf_mod_CFLAGS): Likewise.
27761 (elf_mod_LDFLAGS): Likewise.
27762 * include/grub/types.h (__unused): New macro.
27763 * include/grub/elfload.h: New file.
27764 * kern/elf.c: Likewise.
27765 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
27766 (ELF32_LOADMASK): New macro.
27767 (ELF64_LOADMASK): Likewise.
27768 (vmlinux): Removed.
27769 (grub_linux_load32): New function.
27770 (grub_linux_load64): Likewise.
27771 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
27772 Use grub_elf_t instead of grub_file_t.
27773
a09d5aa5 277742006-11-02 Hollis Blanchard <hollis@penguinppc.org>
27775
27776 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
27777 `catch_result' to struct set_color_args.
27778
d976fc51 277792006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
27780
27781 * normal/menu.c: Include grub/script.h.
27782 * normal/menu_entry.c: Likewise.
27783 * include/grub/normal.h: Do not include grub/script.h.
27784
67507549 277852006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27786
27787 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
27788
69203a99 277892006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27790
27791 * kern/disk.c (grub_disk_open): Print debug messages when opening a
27792 disk.
27793 (grub_disk_close): Print debug messages when closing a disk.
27794 (grub_disk_read): Print debug messages when disk read fails.
27795 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
27796 filesystem type.
27797 * kern/partition.c: Include misc.h.
27798 (grub_partition_iterate): Print debug messages when detecting
27799 partition type.
27800
e2b8278c 278012006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27802
27803 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
27804 is negative.
27805 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
27806
97b2f2ff 278072006-10-26 Hollis Blanchard <hollis@penguinppc.org>
27808
27809 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27810 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
27811
6555d655 278122006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
27813
27814 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
27815 instead of sizeof(lv). Patch by Michael Guntsche.
27816
4d42b77f 278172006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
27818
27819 * disk/lvm.c: Rename VGS to VG_LIST.
27820 (grub_lvm_iterate): Change VGS->LV to VG-LV.
27821 (grub_lvm_open): Likewise.
27822 Thanks to Michael Guntsche for finding this bug.
27823
5d74d927 278242006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27825
27826 * configure.ac (AC_INIT): Bumped to 1.95.
27827
a1bb27e4 278282006-10-14 Robert Millan <rmh@aybabtu.com>
27829
27830 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
27831 with "/dev/.static/dev/md".
27832
e0994b8b 278332006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
27834
27835 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
27836 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
27837 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
27838 DRIVE_NAME are always freed.
27839
27840 * util/i386/pc/biosdisk.c (make_device_name): Add one into
27841 DOS_PART, as a DOS partition is counted from one instead of zero
27842 now. Reported by Robert Millan.
27843
ddd5cee9 278442006-10-14 Robert Millan <rmh@aybabtu.com>
27845
27846 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
27847 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
27848 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
27849 string returned by grub_guess_root_device.
27850 * util/i386/pc/grub-setup.c: Likewise.
27851 * util/i386/pc/grub-probefs.c: Likewise.
27852
27853 * util/i386/pc/grub-probefs.c: Rename to ...
27854 * util/i386/pc/grub-probe.c: ... this.
27855 * DISTLIST: Remove grub-probefs, add grub-probe.
27856 * conf/i386-efi.rmk: Likewise.
27857 * conf/i386-pc.rmk: Likewise.
27858 * util/i386/pc/grub-install.in: Likewise.
27859
27860 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
27861 choose which information we want to print.
27862
2b002173 278632006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
27864
27865 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
27866 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
27867 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
27868 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
27869 video/readers/tga.c and video/i386/pc/vbeutil.c.
27870
278712006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
27872
27873 Added support for RAID and LVM.
f19dbdb7 27874
2b002173 27875 * disk/lvm.c: New file.
27876 * disk/raid.c: Likewise.
27877 * include/grub/lvm.h: Likewise.
f19dbdb7 27878 * include/grub/raid.h: Likewise.
2b002173 27879 * include/grub/util/lvm.h: Likewise.
27880 * include/grub/util/raid.h: Likewise.
27881 * util/lvm.c: Likewise.
27882 * util/raid.c: Likewise.
27883
27884 * include/grub/disk.h (grub_disk_dev_id): Add
27885 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
27886 (grub_disk_get_size): New prototype.
27887 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
27888 returns a partition.
27889 (grub_disk_get_size): New function.
f19dbdb7 27890
2b002173 27891 * kern/i386/pc/init.c (make_install_device): Copy the prefix
27892 verbatim if grub_install_dos_part is -2.
27893
27894 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
27895 and LVM devices.
27896
27897 * util/i386/pc/grub-setup.c (setup): New argument
27898 MUST_EMBED. Force embedding of GRUB when the argument is
27899 true. Close FILE before returning.
27900 (main): Add support for RAID and LVM.
f19dbdb7 27901
2b002173 27902 * conf/common.rmk: Add RAID and LVM modules.
27903 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
27904 util/lvm.c.
27905 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
27906
27907 * kern/misc.c (grub_strstr): New function.
27908 * include/grub/misc.h (grub_strstr): New prototype.
27909
050548d0 279102006-10-10 Tristan Gingold <tristan.gingold@bull.net>
27911
27912 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
27913
da849d2d 279142006-10-05 Tristan Gingold <tristan.gingold@bull.net>
27915
27916 * kern/misc.c (grub_strtoull): Guess the base only if not
27917 specified.
27918
97b2f2ff 279192006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 27920
27921 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
27922 PowerMac support.
27923
97b2f2ff 279242006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 27925
27926 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
27927
27928 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
27929 Remove `flags' argument. All callers changed.
27930 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
27931 (IEEE1275_IHANDLE_INVALID): New variable.
27932 (IEEE1275_CELL_INVALID): New variable.
27933 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27934 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
27935 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
27936 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
27937 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
27938 codes from Open Firmware. All callers updated.
27939 (grub_ieee1275_next_property): Directly return Open Firmware return
27940 code.
27941 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
27942 Standardize error checking from `grub_ieee1275_get_property'.
27943 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
27944 `devalias' to `aliases'. Correct comments. Consolidate error paths.
27945
97b2f2ff 279462006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 27947
27948 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
27949 `instance_to_package_args' to `instance_to_path_args'.
27950
27951 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
27952 `grub_ieee1275_chosen'.
27953
27954 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
27955 `grub_ieee1275_interpret'.
27956
97b2f2ff 279572006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 27958
27959 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
27960
97b2f2ff 279612006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 27962
27963 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
27964 (__cmpdi): Likewise.
27965
27966 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
27967 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
27968 `grub_ssize_t'.
27969
02bb8acc 27970 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 27971
27972 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
27973 to type `grub_ssize_t'.
27974 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
27975
7f9a8531 279762006-09-22 Marco Gerards <marco@gnu.org>
27977
27978 * normal/script.c (grub_script_create_cmdmenu): Skip leading
27979 newlines.
27980
b5ef1102 279812006-09-22 Marco Gerards <marco@gnu.org>
27982
27983 * commands/echo.c: New file.
27984
27985 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
27986
27987 * conf/common.rmk (echo_mod_SOURCES): New variable.
27988 (echo_mod_CFLAGS): Likewise.
27989 (echo_mod_LDFLAGS): Likewise.
27990
2cff3677 279912006-09-22 Marco Gerards <marco@gnu.org>
27992
27993 * normal/main.c (get_line): Malloc memory instead of using
27994 preallocated memory. Removed the arguments `cmdline' and
27995 `max_len'. Updated all callers.
27996
6ba4688b 279972006-09-22 Marco Gerards <marco@gnu.org>
27998
27999 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
28000 (normal_mod_DEPENDENCIES): Likewise.
28001
28002 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
28003 (normal_mod_DEPENDENCIES): Likewise.
28004
28005 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
28006
e02ac02c 280072006-09-22 Johan Rydberg <jrydberg@gnu.org>
28008
28009 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
28010 programs.
28011 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
28012 (normal_mod_DEPENDENCIES): Likewise.
28013 * conf/i386-pc.mk: Regenerate.
28014 * conf/i386-efi.mk: Likewise
28015 * conf/common.mk: Likewise.
28016 * conf/powerpc-ieee1275.mk: Likewise.
28017 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 28018
8d252e44 280192006-09-22 Robert Millan <rmh@aybabtu.com>
28020
28021 Sync with i386 version.
28022 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
28023 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
28024
209bf7ac 280252006-09-21 Robert Millan <rmh@aybabtu.com>
28026
28027 Import from GRUB Legacy (lib/device.c):
28028 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
28029 (init_device_map) [__linux__]: Add support for I2O devices.
28030
6b146090 280312006-09-14 Marco Gerards <marco@gnu.org>
28032
28033 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
28034 `-melf_i386'.
28035
e38600a8 280362006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 28037
28038 * util/i386/pc/grub-install.in: Skip menu.lst when removing
28039 /boot/grub/*.lst.
78fa1790 28040
2952da5d 28041 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 28042
2952da5d 28043 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
28044 before adding it to device.map.
28045
01b82a64 280462006-08-15 Johan Rydberg <jrydberg@gnu.org>
28047
fe6b695a 28048 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 28049 compiles a file; using the -MD option.
28050 * conf/common.mk: Regenerate.
28051 * conf/i386-pc.mk: Likewise.
28052 * conf/i386-efi.mk: Likewise.
28053 * conf/powerpc-ieee1275.mk: Likewise.
28054 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 28055
1064790d 280562006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
28057
28058 Move the prototypes of grub_setjmp and grub_longjmp to
28059 cpu/setjmp.h, so that each architecture may specify different
28060 attributes.
f19dbdb7 28061
1064790d 28062 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
28063 (grub_longjmp): Likewise.
28064 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
28065 (grub_longjmp): Likewise.
28066 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
28067 (grub_longjmp): Likewise.
28068
28069 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
28070 [!GRUB_UTIL] (grub_longjmp): Removed.
28071
29dda3ed 280722006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
28073
28074 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
28075 "color!" method does not return any value.
28076
ad2a06ed 280772006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28078
28079 * include/grub/bitmap.h: New file.
28080
28081 * include/grub/i386/pc/vbeutil.h: Likewise.
28082
28083 * video/bitmap.c: Likewise.
28084
28085 * video/readers/tga.c: Likewise.
28086
28087 * video/i386/pc/vbeutil.c: Likewise.
28088
28089 * commands/videotest.c: Code cleanup and updated to reflect to new
28090 video API.
28091
28092 * term/gfxterm.c: Likewise.
28093
28094 * video/video.c: Likewise.
28095
28096 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
28097 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
28098 (bitmap_mod_SOURCES): New entry.
28099 (bitmap_mod_CFLAGS): Likewise.
28100 (bitmap_mod_LDFLAGS): Likewise.
28101 (tga_mod_SOURCES): Likewise.
28102 (tga_mod_CFLAGS): Likewise.
28103 (tga_mod_LDFLAGS): Likewise.
28104
28105 * include/grub/video.h (grub_video_blit_operators): New enum type.
28106 (grub_video_render_target): Changed as forward declaration and moved
28107 actual definition to be video driver specific.
28108 (grub_video_adapter.blit_bitmap): Added blitting operator.
28109 (grub_video_adapter.blit_render_target): Likewise.
28110 (grub_video_blit_bitmap): Likewise.
28111 (grub_video_blit_render_target): Likewise.
28112
28113 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
28114 driver specific render target definition.
28115 (grub_video_vbe_map_rgba): Added driver internal helper.
28116 (grub_video_vbe_unmap_color): Updated to use
28117 grub_video_i386_vbeblit_info.
28118 (grub_video_vbe_get_video_ptr): Likewise.
28119
28120 * include/grub/i386/pc/vbeblit.h
28121 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
28122 grub_video_i386_vbeblit_info.
28123 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28124 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28125 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28126 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28127 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28128 (grub_video_i386_vbeblit_index_index): Likewise.
28129 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
28130 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28131 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28132 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
28133 operator.
28134 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
28135 operator.
28136
28137 * video/i386/pc/vbeblit.c: Updated to reflect changes on
28138 include/grub/i386/pc/vbeblit.h.
28139
28140 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
28141 Updated to use grub_video_i386_vbeblit_info.
28142 (grub_video_i386_vbefill_R8G8B8): Likewise.
28143 (grub_video_i386_vbefill_index): Likewise.
28144 (grub_video_i386_vbefill): Added generic filler.
28145
28146 * video/i386/pc/vbefill.c: Updated to reflect changes on
28147 include/grub/i386/pc/vbefill.h.
28148
28149 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
28150 grub_video_i386_vbeblit_info.
28151 (grub_video_vbe_unmap_color): Likewise.
28152 (grub_video_vbe_blit_glyph): Likewise.
28153 (grub_video_vbe_scroll): Likewise.
28154 (grub_video_vbe_draw_pixel): Removed function.
28155 (grub_video_vbe_get_pixel): Likewise.
28156 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
28157 updated code to use it.
28158 (common_blitter): Added common blitter for render target and bitmap.
28159 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
28160 (grub_video_vbe_blit_render_target): Likewise.
28161
bc8c036d 281622006-07-30 Johan Rydberg <jrydberg@gnu.org>
28163
28164 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
28165 is in text mode if there is no console control protocol instance
28166 available.
28167
684a8eff 281682006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28169
28170 * include/grub/video.h: Code cleanup.
28171
28172 * include/grub/i386/pc/vbe.h: Likewise.
28173
28174 * video/i386/pc/vbe.c: Likewise.
28175
28176 * video/i386/pc/vbeblit.c: Likewise.
28177
28178 * video/i386/pc/vbefill.c: Likewise.
28179
28180 * video/video.c: Likewise. Also added more comments.
28181
5915059b 281822006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28183
28184 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
28185 (struct grub_biosdisk_dap): Likewise.
28186
28187 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
28188 linkage settings for all functions.
28189
90ce5d56 281902006-07-12 Marco Gerards <marco@gnu.org>
28191
28192 * configure.ac (--enable-mm-debug): Fix typo.
28193
28194 * genkernsyms.sh.in: Use proper quoting for `CC'.
28195
43e7f879 281962006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
28197
28198 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
28199 (normal_mod_ASFLAGS): Remove "-m32".
28200
4889bdec 282012006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
28202
28203 * util/misc.c: Include config.h.
28204 [!HAVE_MEMALIGN]: Do not include malloc.h.
28205 (grub_memalign): Use posix_memalign, if present. Then, use
28206 memalign, if present. Otherwise, emit an error.
28207
28208 * util/grub-emu.c: Do not include malloc.h.
28209
28210 * include/grub/util/misc.h: Include unistd.h. This is required for
28211 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
28212 D. Eades III <hde@foobar-qux.org>.
28213
28214 * configure.ac (AC_GNU_SOURCE): Added.
28215 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
28216 type.
28217
fd39d4da 282182006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
28219
28220 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
28221 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
28222
b786f3b5 282232006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
28224
28225 * include/grub/types.h (grub_host_addr_t): Rename to
28226 grub_target_addr_t.
28227 (grub_host_off_t): Rename to grub_target_off_t.
28228 (grub_host_size_t): Rename to grub_target_size_t.
28229 (grub_host_ssize_t): Rename to grub_target_ssize_t.
28230 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
28231
28232 * include/grub/kernel.h (struct grub_module_header): Change type
28233 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
28234 (grub_module_info): Likewise.
f19dbdb7 28235
051988bb 282362006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28237
28238 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
28239 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
28240 Velazquez <jesus.velazquez@gmail.com>.
28241
deae281b 282422006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28243
28244 Count partitions from 1 instead of 0 in the string representation
28245 of partitions. Still use 0-based internally.
f19dbdb7 28246
deae281b 28247 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
28248 (sun_partition_map_iterate): Use grub_partition_t instead of
28249 struct grub_partition *. Cast DESC->START_CYLINDER to
28250 grub_uint64_t after converting the endian.
28251 (sun_partition_map_probe): Subtract 1 for PARTNUM.
28252 (sun_partition_map_get_name): Add 1 to P->INDEX.
28253
28254 * partmap/pc.c (grub_partition_parse): Subtract 1 for
28255 PCDATA->DOS_PART.
28256 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
28257
28258 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
28259 zero instead of one.
28260 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
28261 (gpt_partition_map_get_name): Add 1 into P->INDEX.
28262
28263 * partmap/apple.c (apple_partition_map_iterate): Change the type
28264 of POS to unsigned.
28265 (apple_partition_map_probe): Subtract 1 for PARTNUM.
28266 (apple_partition_map_get_name): Add 1 into P->INDEX.
28267
28268 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
28269 of POS to unsigned.
28270 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
28271 calculate the offset of a partition.
28272 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
28273 (amiga_partition_map_get_name): Add 1 into P->INDEX.
28274
28275 * partmap/acorn.c (acorn_partition_map_find): Change the type of
28276 SECTOR to grub_disk_addr_t.
28277 (acorn_partition_map_iterate): Likewise.
28278 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
28279 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
28280 top.
28281 (acorn_partition_map_get_name): Add 1 into P->INDEX.
28282
28283 * kern/i386/pc/init.c (make_install_device): Add 1 into
28284 GRUB_INSTALL_DOS_PART.
28285
28286 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
28287 conditional.
28288
524a1e6a 282892006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28290
28291 Clean up the code to support 64-bit addressing in disks and
28292 files. This change is not enough for filesystems yet.
f19dbdb7 28293
524a1e6a 28294 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
28295 type of "start" to grub_uint64_t.
28296 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
28297 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
28298 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
28299 convert addresses.
28300
28301 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
28302 to grub_disk_addr_t.
28303
28304 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
28305 string.
28306
28307 * partmap/pc.c (pc_partition_map_iterate): Likewise.
28308
28309 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
28310 to char *.
28311
28312 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
28313
28314 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
28315
28316 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
28317
28318 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
28319 to grub_off_t, to detect an error from grub_file_seek.
28320 (grub_multiboot_load_elf32): Likewise.
28321
28322 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
28323 maximum unsigned long value when an overflow is detected.
28324 (grub_strtoull): New function.
28325 (grub_divmod64): Likewise.
28326 (grub_lltoa): use grub_divmod64.
28327
28328 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
28329 grub_disk_addr_t.
28330 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
28331 the pointer to next character. Use grub_strtoull instead of
28332 grub_strtoul.
28333 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
28334 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
28335 respectively.
28336
fe6b695a 28337 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 28338 return value is signed.
28339 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
28340 test if OFFSET is less than zero, as OFFSET is unsigned now.
28341
28342 * kern/disk.c (struct grub_disk_cache): Change the type of
28343 "sector" to grub_disk_addr_t.
28344 (grub_disk_cache_get_index): Change the type of SECTOR to
28345 grub_disk_addr_t. Calculate the hash with SECTOR casted to
28346 unsigned after shifting.
28347 (grub_disk_cache_invalidate): Change the type of SECTOR to
28348 grub_disk_addr_t.
28349 (grub_disk_cache_unlock): Likewise.
28350 (grub_disk_cache_store): Likewise.
28351 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
28352 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
28353 grub_disk_addr_t and grub_uint64_t, respectively.
28354 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
28355 body, as the value of OFFSET is tweaked by
28356 grub_disk_check_range. Change the types of START_SECTOR, LEN and
28357 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
28358 respectively.
28359 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
28360 body, as the value of OFFSET is tweaked by
28361 grub_disk_check_range. Change the types of LEN and N to
28362 grub_size_t.
28363
28364 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
28365 and "saved_offset" to grub_off_t.
28366 (test_header): Cast BUF to char *.
28367 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
28368 to char *.
28369 (grub_gzio_read): Change the types of OFFSET and SIZE to
28370 grub_off_t and grub_size_t, respectively.
28371
28372 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
28373 Removed.
28374 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
28375 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
28376 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
28377 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
28378 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
28379
28380 * include/grub/types.h (grub_off_t): Unconditionally set to
28381 grub_uint64_t.
28382 (grub_disk_addr_t): Changed to grub_uint64_t.
28383
28384 * include/grub/partition.h (struct grub_partition): Change the
28385 types of "start", "len" and "offset" to grub_disk_addr_t,
28386 grub_uint64_t and grub_disk_addr_t, respectively.
28387 (grub_partition_get_start): Return grub_disk_addr_t.
28388 (grub_partition_get_len): Return grub_uint64_t.
28389
28390 * include/grub/misc.h (grub_strtoull): New prototype.
28391 (grub_divmod64): Likewise.
28392
28393 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
28394 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
28395 grub_off_t, respectively.
28396 All callers and references changed.
28397
28398 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
28399 grub_size_t in "read".
28400 All callers and references changed.
28401
28402 * include/grub/file.h (struct grub_file): Change the types of
28403 "offset" and "size" to grub_off_t and grub_off_t,
28404 respectively. Change the type of SECTOR to grub_disk_addr_t in
28405 "read_hook".
28406 (grub_file_read): Change the type of LEN to grub_size_t.
28407 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
28408 grub_off_t.
28409 (grub_file_size): Return grub_off_t.
28410 (grub_file_tell): Likewise.
28411 All callers and references changed.
28412
28413 * include/grub/disk.h (struct grub_disk_dev): Change the types of
28414 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
28415 "write".
28416 (struct grub_disk): Change the type of "total_sectors" to
28417 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 28418 "read_hook".
524a1e6a 28419 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
28420 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
28421 (grub_disk_write): Likewise.
28422 All callers and references changed.
28423
28424 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
28425 char * for grub_strncmp to silence gcc.
28426 (grub_iso9660_mount): Likewise.
28427 (grub_iso9660_mount): Likewise.
28428 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
28429 return statement.
28430 (grub_iso9660_iterate_dir): Likewise.
28431 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
28432
28433 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
28434 LEN to grub_disk_addr_t and grub_size_t, respectively.
28435
28436 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
28437
28438 * fs/jfs.c (grub_jfs_read_file): Likewise.
28439
28440 * fs/minix.c (grub_jfs_read_file): Likewise.
28441
28442 * fs/sfs.c (grub_jfs_read_file): Likewise.
28443
28444 * fs/ufs.c (grub_jfs_read_file): Likewise.
28445
28446 * fs/xfs.c (grub_jfs_read_file): Likewise.
28447
28448 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
28449 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
28450 respectively.
28451
28452 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
28453 BLKNR to -1 instead of returning GRUB_ERRNO.
28454 (grub_ext2_read_file): Change the types of SECTOR and
28455 LEN to grub_disk_addr_t and grub_size_t, respectively.
28456
28457 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
28458 LEN to grub_disk_addr_t and grub_size_t, respectively.
28459
28460 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
28461 grub_file_read.
28462
28463 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
28464 string. Do not cast SECTOR explicitly.
28465
28466 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
28467 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
28468 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
28469 grub_disk_addr_t and grub_size_t, respectively. If the sector is
28470 over 2TB and LBA mode is not supported, raise an error.
28471 (get_safe_sectors): New function.
28472 (grub_biosdisk_read): Use get_safe_sectors.
28473 (grub_biosdisk_write): Likewise.
28474
28475 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
28476 (grub_efidisk_write): Likewise.
28477
28478 * disk/loopback.c (delete_loopback): Cosmetic changes.
28479 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
28480 correctly.
28481 (grub_loopback_open): Likewise.
28482 (grub_loopback_read): Likewise. Also, change the type of POS to
28483 grub_off_t, and fix the usage of grub_memset.
28484
28485 * commands/i386/pc/play.c: Include grub/machine/time.h.
28486
28487 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
28488 print FILE->SIZE.
28489
28490 * commands/configfile.c: Include grub/env.h.
28491
28492 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
28493 GRUB_ERRNO directly instead. Change the type of POS to
28494 grub_off_t. Follow the coding standard.
28495
28496 * commands/blocklist.c: Include grub/partition.h.
28497 (grub_cmd_blocklist): Return an error if the underlying device is
28498 not a disk. Take the starting sector of a partition into account,
28499 if a partition is used.
28500
28501 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
28502 a length field.
28503 (lba_mode): Support 64-bit addresses.
28504 (chs_mode): Likewise.
28505 (copy_buffer): Adapted to the new offsets of a length field and a
28506 segment field.
28507 (blocklist_default_start): Allocate 64-bit space.
28508
28509 * boot/i386/pc/boot.S (force_lba): Removed.
28510 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 28511 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 28512 space.
28513 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
28514 is useless.
28515 (lba_mode): Refactored to support a 64-bit address. More size
28516 optimization.
28517 (setup_sectors): Likewise.
28518
53af98ad 285192006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28520
28521 * DISTLIST: Added include/grub/i386/linux.h. Removed
28522 include/grub/i386/pc/linux.h
28523
28524 * configure.ac (AC_INIT): Bumped to 1.94.
28525
28526 * config.guess: Updated from gnulib.
28527 * config.sub: Likewise.
28528 * install-sh: Likewise.
28529 * mkinstalldirs: Likewise.
28530
b4c1940a 285312006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
28532
28533 * conf/common.rmk (grub_modules_init.lst): Depended on
28534 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
28535 MODSRCFILES.
28536
28537 * genmk.rb (PModule::rule): Reverted the previous change.
28538
cfca1cfd 285392006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
28540
28541 * conf/common.rmk (grub_modules_init.lst): Depends on
28542 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
28543 that the target does not exist before producing.
28544 (grub_modules_init.h): Remove the target before generating.
28545 (grub_emu_init.c): Likewise.
28546
28547 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
28548
aa6d7826 285492006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
28550
28551 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
28552 for the target-specific tests. Make sure that we also have the
28553 up-to-date target variables for those tests.
28554
26c607b9 285552006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
28556
28557 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
28558 (PModule::rule): Likewise.
28559
0162321a 285602006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
28561
28562 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
28563 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
28564 target-specific flags should be prefixed.
28565 (PModule::rule): Likewise.
28566
6c826348 285672006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
28568
28569 * configure.ac (CMP): Check if cmp is available explicitly.
28570
b977bf01 285712006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
28572
28573 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
28574 (target_cpu): New variable.
28575 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 28576
b977bf01 28577 * util/i386/pc/grub-install.in (host_cpu): Removed.
28578 (target_cpu): New variable.
28579 (pkglibdir): Use target_cpu instead of host_cpu.
28580
28581 * util/genmoddep.c: Removed.
f19dbdb7 28582
b977bf01 28583 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
28584 instead of GRUB_HOST_SIZEOF_VOID_P.
28585 * kern/dl.c: Likewise.
28586
28587 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
28588 ...
28589 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28590 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28591 (GRUB_TARGET_SIZEOF_LONG): ... this.
28592 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28593 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28594 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
28595 to ...
28596 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28597 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28598 (GRUB_TARGET_SIZEOF_LONG): ... this.
28599 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28600 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28601 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
28602 to ...
28603 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28604 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28605 (GRUB_TARGET_SIZEOF_LONG): ... this.
28606 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28607 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28608
28609 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
28610 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
28611 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
28612 instead of GRUB_HOST_SIZEOF_LONG.
28613 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
28614 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
28615 GRUB_CPU_WORDS_BIGENDIAN.
28616 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
28617 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
28618 grub_host_ssize_t.
28619
28620 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
28621 (genmoddep_SOURCES): Likewise.
28622 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
28623 (genmoddep_SOURCES): Likewise.
28624 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
28625 (genmoddep_SOURCES): Likewise.
28626 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
28627 Likewise.
28628 (genmoddep_SOURCES): Likewise.
28629
28630 * genmoddep.awk: New file.
28631
28632 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
28633 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
28634 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
28635 (PModule::rule): Likewise.
28636 (Program::rule): Likewise.
28637 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
28638 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
28639 respectively.
28640
28641 * configure.ac: Rewritten intensively to use host and target
28642 instead of build and host, respectively.
28643
28644 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
28645 (host_cpu): Removed.
28646 (target_cpu): New variable.
28647 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
28648 (BUILD_CC): Removed.
28649 (BUILD_CFLAGS): Likewise.
28650 (BUILD_CPPFLAGS): Likewise.
28651 (TARGET_CC): New variable.
28652 (TARGET_CFLAGS): Likewise.
28653 (TARGET_CPPFLAGS): Likewise.
28654 (TARGET_LDFLAGS): Likewise.
28655 (AWK): Likewise.
28656 (include): Use target_cpu instead of host_cpu.
28657 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 28658
b977bf01 28659 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
28660
f09771a1 286612006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
28662
28663 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
28664 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
28665 field 'false' to 'exec_on_false'.
28666 (grub_script_create_cmdif): Renamed argument names to reflect above
28667 changes.
28668
28669 * normal/execute.c (grub_script_execute_cmdif): Likewise.
28670
28671 * normal/script.c (grub_script_create_cmdif): Likewise.
28672
118f4fb3 286732006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
28674
28675 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
28676 top.
28677 (grub_hfsplus_btree_recptr): Likewise.
28678 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
28679 FILEBLOCK both to pass a block number and store next block
28680 number.
28681 (grub_hfsplus_read_block): Rewritten heavily to support an extent
28682 overflow file correctly. Specify errors appropriately, because
28683 fshelp expects that GRUB_ERRNO is set when fails. Reuse
28684 grub_hfsplus_btree_recptr to get the pointer to a found key.
28685 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
28686 is found.
28687
28688 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
28689 linux.mod.
28690 (_linux_mod_SOURCES): New variable.
28691 (_linux_mod_CFLAGS): Likewise.
28692 (_linux_mod_LDFLAGS): Likewise.
28693 (linux_mod_SOURCES): Likewise.
28694 (linux_mod_CFLAGS): Likewise.
28695 (linux_mod_LDFLAGS): Likewise.
28696
28697 * DISTLIST: Added loader/i386/efi/linux.c,
28698 loader/i386/efi/linux_normal.c and
28699 include/grub/i386/efi/loader.h.
28700
28701 * loader/i386/efi/linux.c: New file.
28702 * loader/i386/efi/linux_normal.c: Likewise.
28703 * include/grub/i386/efi/loader.h: Likewise.
28704
89a7d726 287052006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
28706
28707 * commands/blocklist.c: New file.
28708
28709 * DISTLIST: Added commands/blocklist.c.
28710
28711 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 28712 color for the background, and a darker color for the foreground.
89a7d726 28713 (grub_console_checkkey): Return READ_KEY.
28714 (grub_console_cls): Set the background to
28715 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
28716
28717 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
28718
28719 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
28720 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
28721
28722 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
28723 prototype.
28724
28725 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
28726 BG. The spec is wrong again.
28727
28728 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
28729 prototype.
28730 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
28731
28732 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
28733 commands/blocklist.c.
28734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 28735
89a7d726 28736 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
28737 (blocklist_mod_SOURCES): New variable.
28738 (blocklist_mod_CFLAGS): Likewise.
28739 (blocklist_mod_LDFLAGS): Likewise.
28740
75c8f258 287412006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
28742
28743 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
28744 duplication.
28745 (lba_mode): Use %eax more intensively to reduce the code size.
28746
da2eb181 287472006-05-20 Marco Gerards <marco@gnu.org>
28748
28749 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
28750
28751 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
28752 for `menuentry'.
28753 (script): Accept leading newlines.
28754 (newlines): New rule to describe 0 or more newlines.
28755 (commands): Accept `command' with trailing newline. Fixed the
28756 order in which arguments were passed to `grub_script_add_cmd'.
28757 Accept commands separated by newlines.
28758 (function): Changed to accept newlines.
28759 (menuentry) Rewritten.
28760
28761 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
28762 front of the list, instead of to the end.
28763
577b4050 287642006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
28765
28766 * util/i386/pc/grub-install.in (bindir): New variable.
28767 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
28768 Shaver <lbgwjl@gmail.com>.
28769
0d6e1189 287702006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
28771
28772 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
28773 grub/machine/linux.h
28774 * loader/i386/pc/linux.c: Likewise.
28775
28776 * include/grub/i386/pc/linux.h: Moved to ...
28777 * include/grub/i386/linux.h: ... here.
28778
28779 * include/grub/i386/linux.h (struct linux_kernel_params): New
28780 struct.
f19dbdb7 28781
31b86e9f 287822006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
28783
28784 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
28785 checking.
28786 (grub_video_vbe_blit_glyph): Likewise.
28787 (grub_video_vbe_blit_bitmap): Likewise.
28788 (grub_video_vbe_blit_render_target): Likewise.
28789
83b984de 287902006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
28791
28792 * configure.ac (--with-platform): Properly quote the square
28793 brackets.
28794
5f0413bd 287952006-05-08 Marco Gerards <marco@gnu.org>
28796
28797 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
28798 this...
28799 (kernel_elf_HEADERS): ...to this. Updated all users.
28800 (grubof_symlist.c): Renamed from this...
28801 (kernel_elf_symlist.c): ...to this. Updated all users.
28802 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
28803 (grubof_SOURCES): Renamed from this...
28804 (kernel_elf_SOURCES): ...to this.
28805 (grubof_HEADERS): Renamed from this...
28806 (kernel_elf_HEADERS): ...to this.
28807 (grubof_CFLAGS): Renamed from this...
28808 (kernel_elf_CFLAGS): ...to this.
28809 (grubof_ASFLAGS): Renamed from this...
28810 (kernel_elf_ASFLAGS): ...to this.
28811 (grubof_LDFLAGS): Renamed from this...
28812 (kernel_elf_LDFLAGS): ...to this.
28813
28814 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
28815 this...
28816 (kernel_elf_HEADERS): ...to this. Updated all users.
28817 (grubof_symlist.c): Renamed from this...
28818 (kernel_elf_symlist.c): ...to this. Updated all users.
28819 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
28820 (grubof_SOURCES): Renamed from this...
28821 (kernel_elf_SOURCES): ...to this.
28822 (grubof_HEADERS): Renamed from this...
28823 (kernel_elf_HEADERS): ...to this.
28824 (grubof_CFLAGS): Renamed from this...
28825 (kernel_elf_CFLAGS): ...to this.
28826 (grubof_ASFLAGS): Renamed from this...
28827 (kernel_elf_ASFLAGS): ...to this.
28828 (grubof_LDFLAGS): Renamed from this...
28829 (kernel_elf_LDFLAGS): ...to this.
28830
28831 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
28832 `kernel.elf' instead of `grubof'.
28833
05568c2e 288342006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
28835
28836 Add --with-platform to configure. Use pkglibdir instead of
28837 pkgdatadir. This is reported by Roger Leigh.
28838
28839 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
28840 (host_vendor): Likewise.
28841 (host_os): Likewise.
28842 (pkgdatadir): Likewise.
28843 (platform): New variable.
28844 (pkglibdir): Likewise.
28845 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 28846
05568c2e 28847 * util/i386/pc/grub-install.in (datadir): Removed.
28848 (host_vendor): Likewise.
28849 (host_os): Likewise.
28850 (pkgdatadir): Likewise.
28851 (platform): New variable.
28852 (pkglibdir): Likewise.
28853 Use PKGLIBDIR instead of PKGDATADIR.
28854
28855 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
28856 instead of GRUB_DATADIR.
28857 (main): Likewise.
28858 * util/i386/pc/grub-mkimage.c (usage): Likewise.
28859 (main): Likewise.
28860 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28861 (main): Likewise.
28862
28863 * configure.ac (--with-platform): New option.
28864 Use PLATFORM instead of HOST_VENDOR to specify a platform.
28865
28866 * Makefile.in: Include a makefile based on PLATFORM instead of
28867 HOST_VENDOR.
28868 (pkgdatadir): Not appended by the machine type.
28869 (pkglibdir): Appended by the machine type.
28870 (host_vendor): Removed.
28871 (platform): New variable.
28872 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
28873 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
28874 (uninstall): Likewise.
28875
4e93851c 288762006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
28877
28878 Use the environment context in the menu. Remove the commands
28879 "default" and "timeout", and use variables instead.
f19dbdb7 28880
4e93851c 28881 * normal/menu.c: Include grub/env.h.
28882 (print_entry): Cast TITLE to silence gcc.
28883 (get_timeout): New function.
28884 (set_timeout): Likewise.
28885 (get_entry_number): Likewise.
28886 (run_menu): Use a default entry, a fallback entry and a timeout
28887 in the environment variables "default", "fallback" and
28888 "timeout". Also, tweak the default entry if it is not within the
28889 current menu entries.
28890 (grub_menu_run): Use a fallback entry in the environment variable
28891 "fallback".
28892
28893 * normal/main.c (read_config_file): Do not initialize
28894 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
28895 NEWMENU->TIMEOUT.
28896 (grub_normal_execute): Use a data slot to store the menu.
28897
28898 * include/grub/normal.h (struct grub_menu): Removed default_entry,
28899 fallback_entry and timeout.
28900 (struct grub_menu_list): Removed.
28901 (grub_menu_list_t): Likewise.
28902 (struct grub_context): Likewise.
28903 (grub_context_t): Likewise.
28904 (grub_context_get): Likewise.
28905 (grub_context_get_current_menu): Likewise.
28906 (grub_context_push_menu): Likewise.
28907 (grub_context_pop_menu): Likewise.
28908 (grub_default_init): Likewise.
28909 (grub_default_fini): Likewise.
28910 (grub_timeout_init): Likewise.
28911 (grub_timeout_fini): Likewise.
28912
28913 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
28914 and timeout.mod.
28915 (normal_mod_SOURCES): Removed normal/context.c.
28916
28917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
28918 commands/default.c, commands/timeout.c and normal/context.c.
28919 (normal_mod_SOURCES): Removed normal/context.c.
28920
28921 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
28922 commands/timeout.c and normal/context.c.
28923 (normal_mod_SOURCES): Removed normal/context.c.
28924
28925 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
28926 commands/default.c, commands/timeout.c and normal/context.c.
28927 (normal_mod_SOURCES): Removed normal/context.c.
28928
28929 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
28930 timeout.mod.
28931 (default_mod_SOURCES): Removed.
28932 (default_mod_CFLAGS): Likewise.
28933 (default_mod_LDFLAGS): Likewise.
28934 (timeout_mod_SOURCES): Removed.
28935 (timeout_mod_CFLAGS): Likewise.
28936 (timeout_mod_LDFLAGS): Likewise.
28937
28938 * DISTLIST: Removed commands/default.c, commands/timeout.c and
28939 normal/context.c.
28940
28941 * commands/default.c: Removed.
28942 * commands/timeout.c: Likewise.
28943 * normal/context.c: Likewise.
28944
1eb9cc1d 289452006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
28946
28947 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
28948
385bd9c1 289492006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
28950
28951 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
28952 "next" to "prev" for readability.
28953 (struct grub_env_sorted_var): New struct.
28954 (grub_env_context): Renamed to ...
28955 (initial_context): ... this.
28956 (grub_env_var_context): Renamed to ...
28957 (current_context): ... this.
28958 (grub_env_find): Look only at CURRENT_CONTEXT.
28959 (grub_env_context_open): Rewritten to copy exported variables from
28960 previous context.
28961 (grub_env_context_close): Rewritten according to the new
28962 scheme. Also, add an assertion to prevent the initial context from
28963 removed.
28964 (grub_env_insert): Removed the code for the sorted list.
28965 (grub_env_remove): Likewise.
28966 (grub_env_export): Simply mark the variable with
28967 GRUB_ENV_VAR_GLOBAL.
28968 (grub_env_set): A cosmetic change for naming consistency.
28969 (grub_env_get): Likewise.
28970 (grub_env_unset): Likewise.
28971 (grub_env_iterate): Rewritten to sort variables within this
28972 function.
28973 (grub_register_variable_hook): Fixed for naming consistency. Call
28974 grub_env_find again, only if NAME is not found at the first time.
28975 (mangle_data_slot_name): New function.
28976 (grub_env_set_data_slot): Likewise.
28977 (grub_env_get_data_slot): Likewise.
28978 (grub_env_unset_data_slot): Likewise.
28979
28980 * include/grub/env.h (grub_env_var_type): New enum.
28981 (GRUB_ENV_VAR_LOCAL): New constant.
28982 (GRUB_ENV_VAR_GLOBAL): Likewise.
28983 (GRUB_ENV_VAR_DATA): Likewise.
28984 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
28985 "type".
28986 (grub_env_set): Replace VAR with NAME for consistency.
28987 (grub_register_variable_hook): Likewise.
28988 (grub_env_export): Specify the name of the argument.
28989 (grub_env_set_data_slot): New prototype.
28990 (grub_env_get_data_slot): Likewise.
28991 (grub_env_unset_data_slot): Likewise.
28992
7f362539 289932006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
28994
28995 Extend the loader so that GRUB can accept a loader which comes
28996 back to GRUB when a loaded image exits. Also, this change adds
28997 support for a chainloader on EFI.
f19dbdb7 28998
7f362539 28999 * term/efi/console.c: Include grub/misc.h.
29000 (grub_console_checkkey): Display a scan code on the top for
29001 debugging. This will be removed once the EFI port gets stable.
29002 Correct the scan code mapping.
29003
29004 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
29005 allocate memory from larger regions, in order to reduce the number
29006 of allocated regions. Otherwise, the MacOSX loader panics.
29007 (filter_memory_map): Avoid less than 1MB for compatibility with
29008 other loaders.
29009 (add_memory_regions): Allocate from the tail of a region, if
29010 possible, to avoid allocating a region near to 1MB, for the MacOSX
29011 loader.
29012
29013 * kern/efi/init.c (grub_efi_set_prefix): Specify
29014 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
29015
29016 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
29017 argument IMAGE_HANDLE and specify it to get a loaded image.
29018 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
29019 grub_efi_get_loaded_image.
fe6b695a 29020 (grub_efi_get_filename): Divide the length by the size of
7f362539 29021 grub_efi_char16_t.
29022 (grub_efi_get_device_path): New function.
29023 (grub_efi_print_device_path): Print End Device Path nodes. Divide
29024 the length by the size of grub_efi_char16_t for a file path device
29025 path node.
29026
29027 * kern/loader.c (grub_loader_noreturn): New variable.
29028 (grub_loader_set): Accept a new argument NORETURN. Set
29029 GRUB_LOADER_NORETURN to NORETURN.
29030 All callers changed.
29031 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
29032 grub_machine_fini.
29033
29034 * include/grub/efi/efi.h (grub_efi_get_device_path): New
29035 prototype.
29036 (grub_efi_get_loaded_image): Take an argument to specify an image
29037 handle.
29038
29039 * include/grub/loader.h (grub_loader_set): Added one more argument
29040 NORETURN.
29041
29042 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
29043 instead of grub_efi_open_protocol.
29044 (grub_efidisk_get_device_name): Likewise.
29045 (grub_efidisk_close): Print a newline.
29046 (grub_efidisk_get_device_handle): Fixed to use
29047 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
29048 GRUB_EFI_DEVICE_PATH_TYPE.
29049
29050 * disk/efi/efidisk.c (device_path_guid): Moved to ...
29051 * kern/efi/efi.c (device_path_guid): ... here.
29052
29053 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
29054 chain.mod.
29055 (kernel_mod_HEADERS): Added efi/disk.h.
29056 (_chain_mod_SOURCES): New variable.
29057 (_chain_mod_CFLAGS): Likewise.
29058 (_chain_mod_LDFLAGS): Likewise.
29059 (chain_mod_SOURCES): Likewise.
29060 (chain_mod_CFLAGS): Likewise.
29061 (chain_mod_LDFLAGS): Likewise.
29062
29063 * DISTLIST: Added include/grub/efi/chainloader.h,
29064 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
29065
29066 * include/grub/efi/chainloader.h: New file.
29067 * loader/efi/chainloader.c: Likewise.
29068 * loader/efi/chainloader_normal.c: Likewise.
29069
c0111d6e 290702006-04-30 Marco Gerards <marco@gnu.org>
29071
29072 * commands/configfile.c (grub_cmd_source): New function.
29073 (GRUB_MOD_INIT): Register the commands `source' and `.'.
29074 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
29075
df5341da 290762006-04-30 Marco Gerards <marco@gnu.org>
29077
29078 * normal/execute.c (grub_script_execute_cmd): Change the return
29079 type to `grub_err_t'. Correctly return the error.
29080 (grub_script_execute_cmdline): In case a command line is not a
29081 command or a function, try to interpret it as an assignment.
29082
f85934bd 290832006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29084
29085 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
29086 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
29087 skip a node whose name is obviously invalid as UTF-16,
29088 i.e. contains a NUL character. Stop the iteration when the last
29089 directory entry is found. Instead of using the return value of
29090 grub_hfsplus_btree_iterate_node, store the value in RET and use
29091 it, because the iterator can be stopped by the last directory
29092 entry.
29093
8f8a2cf8 290942006-04-30 Marco Gerards <marco@gnu.org>
29095
29096 * include/grub/env.h (grub_env_export): New prototype. Reported
29097 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
29098
a27e84ce 290992006-04-30 Marco Gerards <marco@gnu.org>
29100
29101 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
29102 size of the extents in a catalog file record.
29103
eaef0553 291042006-04-29 Marco Gerards <marco@gnu.org>
29105
29106 * commands/configfile.c (grub_cmd_configfile): Execute the
29107 configfile within its own context.
29108
29109 * include/grub/env.h (grub_env_context_open): New prototype.
29110 (grub_env_context_close): Likewise.
29111
29112 * kern/env.c (grub_env): Removed.
29113 (grub_env_sorted): Likewise.
29114 (grub_env_context): New variable.
29115 (grub_env_var_context): Likewise.
29116 (grub_env_find): Search both the active context and the global
29117 context.
29118 (grub_env_context_open): New function.
29119 (grub_env_context_close): Likewise.
29120 (grub_env_insert): Likewise.
29121 (grub_env_remove): Likewise.
29122 (grub_env_export): Likewise.
29123 (grub_env_set): Changed to use helper functions to avoid code
29124 duplication.
29125 (grub_env_iterate): Rewritten so both the current context and the
29126 global context are being used.
29127
29128 * normal/command.c (export_command): New function.
29129 (grub_command_init): Register the `export' function.
29130
7b455f4d 291312006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
29132
29133 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
29134 explicitly to suppress gcc's warnings.
29135 * fs/fat.c (grub_fat_find_dir): Likewise.
29136 (grub_fat_label): Likewise.
29137 * fs/xfs.c (grub_xfs_read_inode): Likewise.
29138 (grub_xfs_mount): Likewise.
29139 (grub_xfs_label): Likewise.
29140 * fs/affs.c (grub_affs_mount): Likewise.
29141 (grub_affs_label): Likewise.
29142 (grub_affs_iterate_dir): Likewise.
29143 * fs/sfs.c (grub_sfs_mount): Likewise.
29144 (grub_sfs_iterate_dir): Likewise.
29145 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
29146 * fs/hfs.c (grub_hfs_mount): Likewise.
29147 (grub_hfs_cmp_catkeys): Likewise.
29148 (grub_hfs_find_dir): Likewise.
29149 (grub_hfs_dir): Likewise.
29150 (grub_hfs_label): Likewise.
29151 * fs/jfs.c (grub_jfs_mount): Likewise.
29152 (grub_jfs_opendir): Likewise.
29153 (grub_jfs_getent): Likewise.
29154 (grub_jfs_lookup_symlink): Likewise.
29155 (grub_jfs_label): Likewise.
29156 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
29157 (grub_hfsplus_iterate_dir): Likewise.
29158 (grub_hfsplus_btree_iterate_node): Made static.
29159
29160 * util/grub-emu.c (prefix): New variable.
29161 (grub_machine_set_prefix): New function.
29162 (main): Do not set the environment variable "prefix" here. Only
29163 set PREFIX, which is used later by grub_machine_set_prefix.
29164
29165 * include/grub/video.h: Do not include grub/symbol.h.
29166 (grub_video_register): Not exported. This symbol is not defined in
29167 the kernel.
29168 (grub_video_unregister): Likewise.
29169 (grub_video_iterate): Likewise.
29170 (grub_video_setup): Likewise.
29171 (grub_video_restore): Likewise.
29172 (grub_video_get_info): Likewise.
29173 (grub_video_get_blit_format): Likewise.
29174 (grub_video_set_palette): Likewise.
29175 (grub_video_get_palette): Likewise.
29176 (grub_video_set_viewport): Likewise.
29177 (grub_video_get_viewport): Likewise.
29178 (grub_video_map_color): Likewise.
29179 (grub_video_map_rgb): Likewise.
29180 (grub_video_map_rgba): Likewise.
29181 (grub_video_fill_rect): Likewise.
29182 (grub_video_blit_glyph): Likewise.
29183 (grub_video_blit_bitmap): Likewise.
29184 (grub_video_blit_render_target): Likewise.
29185 (grub_video_scroll): Likewise.
29186 (grub_video_swap_buffers): Likewise.
29187 (grub_video_create_render_target): Likewise.
29188 (grub_video_delete_render_target): Likewise.
29189 (grub_video_set_active_render_target): Likewise.
29190
29191 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
29192 Undefined.
29193 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
29194
29195 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
29196 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29197 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29198 instead of $(srcdir)/genkernsyms.sh.
29199
29200 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
29201 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29202 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29203 instead of $(srcdir)/genkernsyms.sh.
29204
29205 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
29206 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29207 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29208 instead of $(srcdir)/genkernsyms.sh.
29209
29210 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
29211 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29212 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29213 instead of $(srcdir)/genkernsyms.sh.
29214
29215 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
29216 genkernsyms.sh.
29217
29218 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
29219 genkernsyms.sh.
29220 (gensymlist.sh): New target.
29221 (genkernsyms.sh): Likewise.
29222
29223 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
29224 genkernsyms.sh.in and gensymlist.sh.in.
29225
29226 * genkernsyms.sh: Removed.
29227 * gensymlist.sh: Likewise.
f19dbdb7 29228
7b455f4d 29229 * genkernsyms.sh.in: New file.
29230 * gensymlist.sh.in: Likewise.
29231
1885bb27 292322006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29233
29234 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
29235 clobber "prefix", since we may have already set it manually.
29236
71538dff 292372006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29238
29239 * kern/misc.c (abort): New alias for grub_abort.
29240
2965c7cc 292412006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
29242
29243 A new machine-specific function "grub_machine_set_prefix" is
29244 defined. This is called after loading modules, so that a prefix
29245 initialization can use modules. Also, this change adds an
29246 intensive debugging feature for the memory manager via the
29247 configure option "--enable-mm-debug".
f19dbdb7 29248
2965c7cc 29249 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
29250 PART.LEN.
29251
29252 * kern/sparc64/ieee1275/init.c (abort): Removed.
29253 (grub_stop): Likewise.
29254 (grub_exit): New function.
29255 (grub_set_prefix): Renamed to ...
29256 (grub_machine_set_prefix): ... this.
29257 (grub_machine_init): Do not call grub_set_prefix.
29258
29259 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
29260 (grub_machine_set_prefix): ... this.
29261 (grub_machine_init): Do not call grub_set_prefix.
29262
29263 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
29264 (grub_machine_init): Do not set the prefix here.
29265
29266 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
29267
29268 * kern/efi/init.c: Include grub/mm.h.
29269 (grub_efi_set_prefix): New function.
29270
29271 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
29272 (grub_efi_get_filename): New function.
29273 (grub_print_device_path): Renamed to ...
29274 (grub_efi_print_device_path): ... this.
29275
29276 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
29277 [MM_DEBUG] (grub_realloc): Likewise.
29278 [MM_DEBUG] (grub_free): Likewise.
29279 [MM_DEBUG] (grub_memalign): Likewise.
29280 [MM_DEBUG] (grub_mm_debug): New variable.
29281 [MM_DEBUG] (grub_debug_malloc): New function.
29282 [MM_DEBUG] (grub_debug_free): New function.
29283 [MM_DEBUG] (grub_debug_realloc): New function.
29284 [MM_DEBUG] (grub_debug_memalign): New function.
29285
29286 * kern/misc.c (grub_abort): Print a newline to distinguish
29287 the message.
29288
29289 * kern/main.c (grub_main): Call grub_machine_set_prefix and
29290 grub_set_root_dev after loading modules. This is necessary when
29291 setting a prefix depends on modules.
29292
29293 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
29294 (grub_efi_print_device_path): ... this.
29295 (grub_efi_get_filename): New prototype.
29296 (grub_efi_set_prefix): Likewise.
29297
29298 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
29299 and grub/disk.h.
29300 (grub_efidisk_get_device_handle): New prototype.
29301 (grub_efidisk_get_device_name): Likewise.
29302
29303 * include/grub/mm.h: Include config.h.
29304 (MM_DEBUG): Removed.
29305 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
29306 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
29307 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
29308 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
29309 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
29310 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
29311 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
29312 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
29313 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
29314
29315 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
29316
29317 * disk/efi/efidisk.c: Include grub/partition.h.
29318 (iterate_child_devices): New function.
29319 (add_device): First, compare only last device path nodes, so that
29320 devices are sorted by the types.
29321 (grub_efidisk_get_device_handle): New function.
29322 (grub_efidisk_get_device_name): Likewise.
29323
29324 * configure.ac (--enable-mm-debug): New option to enable the
29325 memory manager debugging feature. This makes the binary much
29326 bigger, so is disabled by default.
29327
9cacaa17 293282006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
29329
29330 Use grub_abort instead of grub_stop, and grub_exit must be
29331 define in each architecture now. Also, this change adds support
29332 for EFI disks.
f19dbdb7 29333
9cacaa17 29334 * util/i386/pc/grub-probefs.c: Include grub/term.h.
29335 (grub_getkey): New function.
29336 (grub_term_get_current): Likewise.
29337
29338 * util/i386/pc/grub-setup.c: Include grub/term.h.
29339 (grub_getkey): New function.
29340 (grub_term_get_current): Likewise.
29341
29342 * util/misc.c (grub_stop): Renamed to ...
29343 (grub_exit): ... this.
29344
29345 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
29346 (grub_exit): ... this.
29347 (grub_machine_init): Use grub_abort instead of abort.
29348 (grub_stop): Removed.
29349
29350 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
29351 abort.
29352
29353 * kern/i386/pc/startup.S (grub_exit): New function.
29354 (cold_reboot): New label.
29355
29356 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
29357 (grub_efi_init): Call grub_efidisk_init.
29358 (grub_efi_fini): Call grub_efidisk_fini.
29359
29360 * kern/efi/efi.c: Include grub/mm.h.
29361 (grub_efi_console_control_guid): Renamed to ...
29362 (console_control_guid): ... this.
29363 (grub_efi_loaded_image_guid): Renamed to ...
29364 (loaded_image_guid): ... this.
29365 (grub_efi_locate_handle): New function.
29366 (grub_efi_open_protocol): Likewise.
29367 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
29368 GRUB_EFI_CONSOLE_CONTROL_GUID.
29369 (grub_efi_exit): Removed.
29370 (grub_stop): Likewise.
29371 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
29372 (grub_exit): New function.
29373 (grub_print_device_path): Likewise.
29374
29375 * kern/rescue.c (grub_rescue_cmd_exit): New function.
29376 (grub_enter_rescue_mode): Register "exit".
29377
29378 * kern/misc.c (grub_real_dprintf): A cosmetic change.
29379 (grub_abort): New function.
29380
29381 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
29382
29383 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
29384
29385 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
29386
29387 * include/grub/efi/efi.h (grub_efi_exit): Removed.
29388 (grub_print_device_path): New prototype.
29389 (grub_efi_locate_handle): Likewise.
29390 (grub_efi_open_protocol): Likewise.
29391
29392 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
29393 * disk/efi/efidisk.c: Likewise.
29394
29395 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
29396
29397 * include/grub/efi/console_control.h
29398 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
29399
29400 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
29401 last 8 bytes as an array.
29402 (GRUB_EFI_DISK_IO_GUID): New macro.
29403 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
29404 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
29405 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
29406 grub_uint8_t.
29407 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
29408 (struct grub_efi_device_path): Rename the member "sub_type" to
29409 "subtype".
29410 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
29411 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
29412 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
29413 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
29414 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
29415 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
29416 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
29417 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
29418 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
29419 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
29420 (struct grub_efi_pci_device_path): New structure.
29421 (grub_efi_pci_device_path_t): New type.
29422 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
29423 (struct grub_efi_pccard_device_path): New structure.
29424 (grub_efi_pccard_device_path_t): New type.
29425 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
29426 (struct grub_efi_memory_mapped_device_path): New structure.
29427 (grub_efi_memory_mapped_device_path_t): New type.
29428 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
29429 (struct grub_efi_vendor_device_path): New structure.
29430 (grub_efi_vendor_device_path_t): New type.
29431 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
29432 (struct grub_efi_controller_device_path): New structure.
29433 (grub_efi_controller_device_path_t): New type.
29434 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
29435 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
29436 (struct grub_efi_acpi_device_path): New structure.
29437 (grub_efi_acpi_device_path_t): New type.
29438 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
29439 (struct grub_efi_expanded_acpi_device_path): New structure.
29440 (grub_efi_expanded_acpi_device_path_t): New type.
29441 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
29442 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
29443 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
29444 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
29445 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
29446 (struct grub_efi_atapi_device_path): New structure.
29447 (grub_efi_atapi_device_path_t): New type.
29448 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
29449 (struct grub_efi_fibre_channel_device_path): New structure.
29450 (grub_efi_fibre_channel_device_path_t): New type.
29451 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
29452 (struct grub_efi_1394_device_path): New structure.
29453 (grub_efi_1394_device_path_t): New type.
29454 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
29455 (struct grub_efi_usb_device_path): New structure.
29456 (grub_efi_usb_device_path_t): New type.
29457 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
29458 (struct grub_efi_usb_class_device_path): New structure.
29459 (grub_efi_usb_class_device_path_t): New type.
29460 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
29461 (struct grub_efi_i2o_device_path): New structure.
29462 (grub_efi_i2o_device_path_t): New type.
29463 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
29464 (struct grub_efi_mac_address_device_path): New structure.
29465 (grub_efi_mac_address_device_path_t): New type.
29466 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
29467 (struct grub_efi_ipv4_device_path): New structure.
29468 (grub_efi_ipv4_device_path_t): New type.
29469 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
29470 (struct grub_efi_ipv6_device_path): New structure.
29471 (grub_efi_ipv6_device_path_t): New type.
29472 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
29473 (struct grub_efi_infiniband_device_path): New structure.
29474 (grub_efi_infiniband_device_path_t): New type.
29475 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
29476 (struct grub_efi_uart_device_path): New structure.
29477 (grub_efi_uart_device_path_t): New type.
29478 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
29479 (struct grub_efi_vendor_messaging_device_path): New structure.
29480 (grub_efi_vendor_messaging_device_path_t): New type.
29481 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
29482 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
29483 (struct grub_efi_hard_drive_device_path): New structure.
29484 (grub_efi_hard_drive_device_path_t): New type.
29485 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
29486 (struct grub_efi_cdrom_device_path): New structure.
29487 (grub_efi_cdrom_device_path_t): New type.
29488 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
29489 (struct grub_efi_vendor_media_device_path): New structure.
29490 (grub_efi_vendor_media_device_path_t): New type.
29491 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
29492 (struct grub_efi_file_path_device_path): New structure.
29493 (grub_efi_file_path_device_path_t): New type.
29494 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
29495 (struct grub_efi_protocol_device_path): New structure.
29496 (grub_efi_protocol_device_path_t): New type.
29497 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
29498 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
29499 (struct grub_efi_bios_device_path): New structure.
29500 (grub_efi_bios_device_path_t): New type.
29501 (struct grub_efi_disk_io): New structure.
29502 (grub_efi_disk_io_t): New type.
29503 (struct grub_efi_block_io_media): New structure.
29504 (grub_efi_block_io_media_t): New type.
29505 (struct grub_efi_block_io): New structure.
29506 (grub_efi_block_io_t): New type.
29507
29508 * include/grub/misc.h (grub_stop): Removed.
29509 (grub_exit): New prototype.
29510 (grub_abort): Likewise.
29511
29512 * include/grub/disk.h (enum grub_disk_dev_id): Added
29513 GRUB_DISK_DEVICE_EFIDISK_ID.
29514
29515 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
29516 disk/efi/efidisk.c.
29517 (kernel_syms.lst): Remove the target if an error occurs.
29518
49986a9f 295192006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
29520
29521 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
29522 as it was simply too buggy.
29523
970d3b8a 295242006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
29525
29526 * kern/misc.c (grub_lltoa): New function.
29527 (grub_vsprintf): Added support for the long long suffix,
29528 i.e. "ll".
29529
ff04ec24 295302006-04-20 Hollis Blanchard <hollis@penguinppc.org>
29531
29532 * Makefile.in (LDFLAGS): Add variable.
29533 (LD): Remove variable.
29534 * configure.ac: Add -m32 to LDFLAGS.
29535 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
29536 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
29537 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
29538 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
29539 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
29540 variables.
29541 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
29542 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
29543 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
29544
37e5e1a4 295452006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
29546
29547 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
29548 length for unknown glyph.
29549
c352d8dd 295502006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
29551
2eab1c0d 29552 Add support for pre-loaded modules into the EFI port.
f19dbdb7 29553
2eab1c0d 29554 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
29555 completely. Accept one more argument DIR. The caller has changed.
29556
29557 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
29558
29559 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
29560 (grub_efi_loaded_image_guid): New variable.
29561 (grub_efi_get_loaded_image): New function.
29562 (grub_arch_modules_addr): Likewise.
29563
29564 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
29565 prototype.
29566
29567 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
29568 (struct grub_efi_loaded_image): New structure.
29569 (grub_efi_loaded_image_t): New type.
29570
295712006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 29572
c352d8dd 29573 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
29574 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
29575 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
29576
6d01d6b4 295772006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
29578
29579 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
29580
976a4ea0 295812006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
29582
29583 * DISTLIST: Added include/grub/efi/console.h,
29584 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
29585 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
29586
29587 * include/grub/efi/console.h: New file.
29588 * include/grub/efi/time.h: Likewise.
29589 * include/grub/i386/efi/kernel.h: Likewise.
29590 * kern/efi/init.c: Likewise.
29591 * kern/efi/mm.c: Likewise.
29592 * term/efi/console.c: Likewise.
f19dbdb7 29593
976a4ea0 29594 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
29595 (grub_stop): Removed.
29596 (grub_get_rtc): Likewise.
29597 (grub_machine_init): Simply call grub_efi_init.
29598 (grub_machine_fini): Call grub_efi_fini.
29599
29600 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
29601 (grub_efi_output_string): Removed.
29602 (grub_efi_stall): New function.
29603 (grub_stop): Likewise.
29604 (grub_get_rtc): Likewise.
29605
29606 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
29607 (grub_efi_stall): New prototype.
29608 (grub_efi_allocate_pages): Likewise.
29609 (grub_efi_free_pages): Likewise.
29610 (grub_efi_get_memory_map): Likewise.
29611 (grub_efi_mm_init): Likewise.
29612 (grub_efi_mm_fini): Likewise.
29613 (grub_efi_init): Likewise.
29614 (grub_efi_fini): Likewise.
29615
29616 * include/grub/i386/efi/time.h: Do not include
29617 grub/symbol.h. Include grub/efi/time.h.
29618 (GRUB_TICKS_PER_SECOND): Removed.
29619 (grub_get_rtc): Likewise.
29620
29621 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
29622 Added padding. The EFI spec is buggy.
29623 (GRUB_EFI_BLACK): New macro.
29624 (GRUB_EFI_BLUE): Likewise.
29625 (GRUB_EFI_GREEN): Likewise.
29626 (GRUB_EFI_CYAN): Likewise.
29627 (GRUB_EFI_RED): Likewise.
29628 (GRUB_EFI_MAGENTA): Likewise.
29629 (GRUB_EFI_BROWN): Likewise.
29630 (GRUB_EFI_LIGHTGRAY): Likewise.
29631 (GRUB_EFI_BRIGHT): Likewise.
29632 (GRUB_EFI_DARKGRAY): Likewise.
29633 (GRUB_EFI_LIGHTBLUE): Likewise.
29634 (GRUB_EFI_LIGHTGREEN): Likewise.
29635 (GRUB_EFI_LIGHTCYAN): Likewise.
29636 (GRUB_EFI_LIGHTRED): Likewise.
29637 (GRUB_EFI_LIGHTMAGENTA): Likewise.
29638 (GRUB_EFI_YELLOW): Likewise.
29639 (GRUB_EFI_WHITE): Likewise.
29640 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
29641 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
29642 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
29643 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
29644 (GRUB_EFI_BACKGROUND_RED): Likewise.
29645 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
29646 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
29647 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
29648 (GRUB_EFI_TEXT_ATTR): Likewise.
29649
29650 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
29651 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
29652 (kernel_mod_HEADERS): Added efi/time.h.
29653
83709125 296542006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
29655
29656 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
29657 include/grub/efi/api.h, include/grub/efi/console_control.h,
29658 include/grub/efi/efi.h, include/grub/efi/pe32.h,
29659 include/grub/i386/efi/time.h, kern/efi/efi.c,
29660 kern/i386/efi/init.c, kern/i386/efi/startup.S,
29661 and util/i386/efi/grub-mkimage.c.
29662
29663 * Makefile.in (RMKFILES): Added i386-efi.rmk.
29664
29665 * genmk.rb (PModule#rule): Do not export symbols if
29666 #{prefix}_EXPORTS is set to "no".
29667
29668 * conf/i386-efi.mk: New file.
29669 * conf/i386-efi.rmk: Likewise.
29670 * include/grub/efi/api.h: Likewise.
29671 * include/grub/efi/console_control.h: Likewise.
29672 * include/grub/efi/efi.h: Likewise.
29673 * include/grub/efi/pe32.h: Likewise.
29674 * include/grub/i386/efi/time.h: Likewise.
29675 * kern/efi/efi.c: Likewise.
29676 * kern/i386/efi/init.c: Likewise.
29677 * kern/i386/efi/startup.S: Likewise.
29678 * util/i386/efi/grub-mkimage.c: Likewise.
29679
296802006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 29681
29682 * include/grub/script.h: Include <grub/parser.h> and
29683 "grub_script.tab.h".
29684 (struct grub_lexer_param): New struct.
29685 (struct grub_parser_param): Likewise.
29686 (grub_script_create_arglist): Pass the state in an argument.
29687 (grub_script_add_arglist): Likewise.
29688 (grub_script_create_cmdline): Likewise.
29689 (grub_script_create_cmdblock): Likewise.
29690 (grub_script_create_cmdif): Likewise.
29691 (grub_script_create_cmdmenu): Likewise.
29692 (grub_script_add_cmd): Likewise.
29693 (grub_script_arg_add): Likewise.
29694 (grub_script_lexer_ref): Likewise.
29695 (grub_script_lexer_deref): Likewise.
29696 (grub_script_lexer_record_start): Likewise.
29697 (grub_script_lexer_record_stop): Likewise.
29698 (grub_script_mem_record): Likewise.
29699 (grub_script_mem_record_stop): Likewise.
29700 (grub_script_malloc): Likewise.
29701 (grub_script_yylex): Likewise.
29702 (grub_script_yyparse): Likewise.
29703 (grub_script_yyerror): Likewise.
29704 (grub_script_yylex): Likewise.
29705 (grub_script_lexer_init): Return the state.
29706
29707 * normal/lexer.c (grub_script_lexer_state): Removed variable.
29708 (grub_script_lexer_done): Likewise.
29709 (grub_script_lexer_getline): Likewise.
29710 (grub_script_lexer_refs): Likewise.
29711 (script): Likewise.
29712 (newscript): Likewise.
29713 (record): Likewise.
29714 (recording): Likewise.
29715 (recordpos): Likewise.
29716 (recordlen): Likewise.
29717 (grub_script_lexer_init): Return the state instead of setting
29718 global variables.
29719 (grub_script_lexer_ref): Use the newly added argument for state
29720 instead of globals.
29721 (grub_script_lexer_deref): Likewise.
29722 (grub_script_lexer_record_start): Likewise.
29723 (grub_script_lexer_record_stop): Likewise.
29724 (recordchar): Likewise.
29725 (nextchar): Likewise.
29726 (grub_script_yylex2): Likewise.
29727 (grub_script_yylex): Likewise.
29728 (grub_script_yyerror): Likewise.
29729
29730 * normal/parser.y (func_mem): Removed variable.
29731 (menu_entry): Likewise.
29732 (err): Likewise.
29733 (%lex-param): New parser option.
29734 (%parse-param): Likewise.
29735 (script): Always return the AST.
29736 (argument): Pass the state around.
29737 (arguments): Likewise.
29738 (grubcmd): Likewise.
29739 (commands): Likewise.
29740 (function): Likewise.
29741 (menuentry): Likewise.
29742 (if_statement): Likewise.
29743 (if): Likewise.
29744
29745 * normal/script.c (grub_script_memused): Removed variable.
29746 (grub_script_parsed): Likewise.
29747 (grub_script_malloc): Added a state argument. Use that instead of
29748 global variables.
29749 (grub_script_mem_record): Likewise.
29750 (grub_script_mem_record_stop): Likewise.
29751 (grub_script_arg_add): Likewise.
29752 (grub_script_add_arglist): Likewise.
29753 (grub_script_create_cmdline): Likewise.
29754 (grub_script_create_cmdif): Likewise.
29755 (grub_script_create_cmdmenu): Likewise.
29756 (grub_script_add_cmd): Likewise.
29757 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 29758
e2a8c904 297592006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 29760
29761 * normal/command.c (grub_command_init): Remove the title command.
29762
29763 * normal/lexer.c (grub_script_yylex): Renamed from this...
29764 (grub_script_yylex2): ... to this.
29765 (grub_script_yylex): New function. Temporary
29766 introduced to filter some tokens.
29767 (grub_script_yyerror): Print a newline.
29768
29769 * normal/main.c (read_config_file): Output information about the
29770 lines that contain errors. Wait for a key after all lines have
29771 been processed. Don't return an empty menu.
29772
29773 * normal/parser.y (func_mem): Don't initialize.
29774 (menu_entry): Likewise.
29775 (err): New variable.
29776 (script): Don't return anything when an error was encountered.
29777 (ws, returns): Removed rules.
29778 (argument): Disabled concatenated variable support.
29779 (arguments): Remove explicit separators.
29780 (grubcmd): Likewise.
29781 (function): Likewise.
29782 (menuentry): Likewise.
29783 (if): Likewise.
29784 (commands): Likewise. Add error handling.
29785
29786 * normal/script.c (grub_script_create_cmdline): If
29787 `grub_script_parsed' is 0, assume the parser encountered an error.
29788
c9a86192 297892006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
29790
29791 * configure.ac: Add support for EFI. Fix the typo
29792 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
29793
70f3b243 297942006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
29795
29796 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
29797 foreign multibyte characters should be shown correctly.
29798
65f201ad 297992006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
29800
29801 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
29802 calculation.
29803 (read_config_file): Made it to close file before returning.
29804
b4b93674 298052006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
29806
29807 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
29808 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
29809 video/i386/pc/vbefill.c.
29810
29811 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
29812 video/i386/pc/vbefill.c.
29813
29814 * include/grub/video.h (grub_video_blit_format): New enum.
29815 (grub_video_mode_info): Added new member blit_format.
29816 (grub_video_get_blit_format): New function prototype.
29817
29818 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
29819 function prototype.
29820 (grub_video_vbe_map_rgb): Likewise.
29821 (grub_video_vbe_unmap_color): Likewise.
29822
29823 * include/grub/i386/pc/vbeblit.h: New file.
29824
29825 * include/grub/i386/pc/vbefill.h: New file.
29826
29827 * video/video.c (grub_video_get_blit_format): New function.
29828 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
29829 (grub_video_vbe_map_rgb): Likewise.
29830 (grub_video_vbe_unmap_color): Likewise.
29831
29832 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
29833 optimized fills.
29834 (grub_video_vbe_blit_render_target): Changed to use more optimized
29835 blits.
29836 (grub_video_vbe_setup): Added detection for optimized settings.
29837 (grub_video_vbe_create_render_target): Likewise.
29838
29839 * video/i386/pc/vbeblit.c: New file.
29840
29841 * video/i386/pc/vbefill.c: New file.
29842
c2379b9c 298432006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
29844
29845 * font/manager.c (grub_font_get_glyph): Removed font fixup from
29846 here...
29847
29848 * util/unifont2pff.rb: ... and moved it to here. Improved argument
29849 parsing to support both hex and dec ranges. If filename was missing
29850 show usage information.
29851
bd0d7896 298522006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
29853
29854 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
29855 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
29856
29857 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
29858 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
29859 (video_mod_SOURCES): Added.
29860 (video_mod_CFLAGS): Likewise.
29861 (video_mod_LDFLAGS): Likewise.
29862 (gfxterm_mod_SOURCES): Likewise.
29863 (gfxterm_mod_CFLAGS): Likewise.
29864 (gfxterm_mod_LDFLAGS): Likewise.
29865 (videotest_mod_SOURCES): Likewise.
29866 (videotest_mod_CFLAGS): Likewise.
29867 (videotest_mod_LDFLAGS): Likewise.
29868 (vesafb_mod_SOURCES): Removed.
29869 (vesafb_mod_CFLAGS): Likewise.
29870 (vesafb_mod_LDFLAGS): Likewise.
29871 (vga_mod_SOURCES): Likewise.
29872 (vga_mod_CFLAGS): Likewise.
29873 (vga_mod_LDFLAGS): Likewise.
29874
29875 * commands/videotest.c: New file.
29876
29877 * font/manager.c (fill_with_default_glyph): Modified to use
29878 grub_font_glyph.
29879 (grub_font_get_glyph): Likewise.
29880 (fontmanager): Renamed from this...
29881 (font_manager): ... to this.
29882
29883 * include/grub/font.h (grub_font_glyph): Added new structure.
29884 (grub_font_get_glyph): Modified to use grub_font_glyph.
29885
29886 * include/grub/misc.h (grub_abs): Added as inline function.
29887
29888 * include/grub/video.h: New file.
29889
29890 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
29891 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
29892 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
29893 (grub_vbe_get_controller_info): Renamed from this...
29894 (grub_vbe_bios_get_controller_info): ... to this.
29895 (grub_vbe_get_mode_info): Renamed from this...
29896 (grub_vbe_bios_get_mode_info): ... to this.
29897 (grub_vbe_set_mode): Renamed from this...
29898 (grub_vbe_bios_set_mode): ... to this.
29899 (grub_vbe_get_mode): Renamed from this...
29900 (grub_vbe_bios_get_mode): ... to this.
29901 (grub_vbe_set_memory_window): Renamed from this...
29902 (grub_vbe_bios_set_memory_window): ... to this.
29903 (grub_vbe_get_memory_window): Renamed from this...
29904 (grub_vbe_bios_get_memory_window): ... to this.
29905 (grub_vbe_set_scanline_length): Renamed from this...
29906 (grub_vbe_set_scanline_length): ... to this.
29907 (grub_vbe_get_scanline_length): Renamed from this...
29908 (grub_vbe_bios_get_scanline_length): ... to this.
29909 (grub_vbe_set_display_start): Renamed from this...
29910 (grub_vbe_bios_set_display_start): ... to this.
29911 (grub_vbe_get_display_start): Renamed from this...
29912 (grub_vbe_bios_get_display_start): ... to this.
29913 (grub_vbe_set_palette_data): Renamed from this...
29914 (grub_vbe_bios_set_palette_data): ... to this.
29915 (grub_vbe_set_pixel_rgb): Removed.
29916 (grub_vbe_set_pixel_index): Likewise.
29917
29918 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
29919 from this...
29920 (grub_vbe_bios_get_controller_info): ... to this.
29921 (grub_vbe_get_mode_info): Renamed from this...
29922 (grub_vbe_bios_get_mode_info): ... to this.
29923 (grub_vbe_set_mode): Renamed from this...
29924 (grub_vbe_bios_set_mode): ... to this.
29925 (grub_vbe_get_mode): Renamed from this...
29926 (grub_vbe_bios_get_mode): ... to this.
29927 (grub_vbe_set_memory_window): Renamed from this...
29928 (grub_vbe_bios_set_memory_window): ... to this.
29929 (grub_vbe_get_memory_window): Renamed from this...
29930 (grub_vbe_bios_get_memory_window): ... to this.
29931 (grub_vbe_set_scanline_length): Renamed from this...
29932 (grub_vbe_set_scanline_length): ... to this.
29933 (grub_vbe_get_scanline_length): Renamed from this...
29934 (grub_vbe_bios_get_scanline_length): ... to this.
29935 (grub_vbe_set_display_start): Renamed from this...
29936 (grub_vbe_bios_set_display_start): ... to this.
29937 (grub_vbe_get_display_start): Renamed from this...
29938 (grub_vbe_bios_get_display_start): ... to this.
29939 (grub_vbe_set_palette_data): Renamed from this...
29940 (grub_vbe_bios_set_palette_data): ... to this.
29941 (grub_vbe_bios_get_controller_info): Fixed problem with registers
29942 getting corrupted after calling it. Added more pushes and pops.
29943 (grub_vbe_bios_set_mode): Likewise.
29944 (grub_vbe_bios_get_mode): Likewise.
29945 (grub_vbe_bios_get_memory_window): Likewise.
29946 (grub_vbe_bios_set_scanline_length): Likewise.
29947 (grub_vbe_bios_get_scanline_length): Likewise.
29948 (grub_vbe_bios_get_display_start): Likewise.
29949 (grub_vbe_bios_set_palette_data): Likewise.
29950
29951 * normal/cmdline.c (cl_set_pos): Refresh the screen.
29952 (cl_insert): Likewise.
29953 (cl_delete): Likewise.
29954
29955 * term/gfxterm.c: New file.
29956
29957 * term/i386/pc/vesafb.c: Removed file.
29958
29959 * video/video.c: New file.
29960
29961 * video/i386/pc/vbe.c (real2pm): Added new function.
29962 (grub_video_vbe_draw_pixel): Likewise.
29963 (grub_video_vbe_get_video_ptr): Likewise.
29964 (grub_video_vbe_get_pixel): Likewise
29965 (grub_video_vbe_init): Likewise.
29966 (grub_video_vbe_fini): Likewise.
29967 (grub_video_vbe_setup): Likewise.
29968 (grub_video_vbe_get_info): Likewise.
29969 (grub_video_vbe_set_palette): Likewise.
29970 (grub_video_vbe_get_palette): Likewise.
29971 (grub_video_vbe_set_viewport): Likewise.
29972 (grub_video_vbe_get_viewport): Likewise.
29973 (grub_video_vbe_map_color): Likewise.
29974 (grub_video_vbe_map_rgb): Likewise.
29975 (grub_video_vbe_map_rgba): Likewise.
29976 (grub_video_vbe_unmap_color): Likewise.
29977 (grub_video_vbe_fill_rect): Likewise.
29978 (grub_video_vbe_blit_glyph): Likewise.
29979 (grub_video_vbe_blit_bitmap): Likewise.
29980 (grub_video_vbe_blit_render_target): Likewise.
29981 (grub_video_vbe_scroll): Likewise.
29982 (grub_video_vbe_swap_buffers): Likewise.
29983 (grub_video_vbe_create_render_target): Likewise.
29984 (grub_video_vbe_delete_render_target): Likewise.
29985 (grub_video_vbe_set_active_render_target): Likewise.
29986 (grub_vbe_set_pixel_rgb): Remove function.
29987 (grub_vbe_set_pixel_index): Likewise.
29988 (index_color_mode): Remove static variable.
29989 (active_mode): Likewise.
29990 (framebuffer): Likewise.
29991 (bytes_per_scan_line): Likewise.
29992 (grub_video_vbe_adapter): Added new static variable.
29993 (framebuffer): Likewise.
29994 (render_target): Likewise.
29995 (initial_mode): Likewise.
29996 (mode_in_use): Likewise.
29997 (mode_list): Likewise.
29998
5f97350b 299992006-03-10 Marco Gerards <marco@gnu.org>
30000
30001 * configure.ac (AC_INIT): Bumped to 1.93.
30002
30003 * DISTLIST: Added `include/grub/hfs.h'.
30004
a3c5c6f8 300052006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
30006
30007 * boot/i386/pc/boot.S (general_error): Before looping, try INT
30008 18H, which might help the BIOS falling back to next boot media.
30009
6de53d26 300102006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
30011
30012 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
30013 Poe Chen <poe.poechen@gmail.com>.
30014
77c4a393 300152006-01-17 Marco Gerards <marco@gnu.org>
30016
30017 * include/grub/normal.h: Include <grub/script.h>.
30018 (grub_command_list): Removed struct.
30019 (grub_command_list_t): Removed type.
30020 (grub_menu_entry): Remove members `num' and `command_list'. Add
30021 members `commands' and `sourcecode'.
30022 * include/grub/script.h: Add inclusion guards.
30023 (grub_script_cmd_menuentry): New struct.
30024 (grub_script_execute_menuentry): New prototype.
30025 (grub_script_lexer_record_start): Likewise.
30026 (grub_script_lexer_record_stop): Likewise.
30027 * normal/execute.c (grub_script_execute_menuentry): New function.
30028 * normal/lexer.c (record, recording, recordpos, recordlen): New
30029 variables.
30030 (grub_script_lexer_record_start): New function.
30031 (grub_script_lexer_record_stop): Likewise.
30032 (recordchar): Likewise.
30033 (nextchar): Likewise.
30034 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
30035 2048 as the buffer size. Add the tokens `menuentry' and `@'.
30036 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
30037 (current_menu): New variable.
30038 (free_menu): Mainly rewritten.
30039 (grub_normal_menu_addentry): New function.
30040 (read_config_file): Rewritten.
30041 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 30042 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 30043 the menu entry.
30044 (run): Mainly rewritten.
30045 * normal/parser.y (menu_entry): New variable.
30046 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
30047 (menuentry): New rule.
30048 (command): Add `menuentry'.
30049 (if_statement): Allow additional returns before `fi'.
30050 * normal/script.c (grub_script_create_cmdmenu): New function.
30051
144f1f98 300522006-01-03 Marco Gerards <marco@gnu.org>
30053
30054 * INSTALL: GNU Bison is required.
30055 * configure.ac: Rewritten the test to detect Bison.
30056 * Makefile.in (YACC): New variable. Reported by Xun Sun
30057 <xun.sun.cn@gmail.com>.
30058
af4b2d89 300592006-01-03 Marco Gerards <marco@gnu.org>
30060
30061 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
30062 the HFS+ filesystem to filesystem blocks.
30063 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
30064 GCC warning is silenced.
30065
15643b71 300662006-01-03 Marco Gerards <marco@gnu.org>
30067
30068 * partmap/apple.c (apple_partition_map_iterate): Convert the data
30069 read from disk from big endian to host byte order.
30070
00905879 300712006-01-03 Hollis Blanchard <hollis@penguinppc.org>
30072
30073 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
30074 documentation.
30075 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
30076 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
30077 embedded HFS+ filesystem.
30078 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
30079 (grub_hfs_sblock): Move from here...
30080 * include/grub/hfs.h: To here... New file.
30081 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
30082 documentation.
30083 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
30084 New macros.
30085 (grub_hfsplus_volheader): Change type of member `magic' to
30086 `grub_uint16_t'.
30087 (grub_hfsplus_data): Add new member `embedded_offset'.
30088 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
30089 returned block.
30090 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
30091 Calculate the offset.
30092
8899bc3e 300932005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30094
30095 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
30096 Removed.
30097 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
30098
ae8c0277 300992005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30100
30101 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
30102 ENV->NAME is NULL after allocating ENV->VALUE.
30103
07084456 301042005-12-25 Marco Gerards <marco@gnu.org>
30105
30106 * kern/env.c (grub_env_set): Rewritten the error handling code.
30107
4750f5f1 301082005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30109
30110 * geninit.sh: Made more robust, and more portable.
30111
50214199 301122005-12-25 Marco Gerards <marco@gnu.org>
30113
30114 Add support for Apple HFS+ filesystems.
f19dbdb7 30115
50214199 30116 * fs/hfsplus.c: New file.
30117
30118 * DISTLIST: Added `fs/hfsplus.c'.
30119
30120 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
30121 (hfsplus_mod_SOURCES): New variable.
30122 (hfsplus_mod_CFLAGS): Likewise.
30123 (hfsplus_mod_LDFLAGS): Likewise.
30124 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
30125 (grub_setup_SOURCES): Likewise.
30126 (grub_mkdevicemap_SOURCES): Likewise.
30127 (grub_emu_SOURCES): Likewise.
30128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30129
30130 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
30131
30132 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
30133
befaed6c 301342005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30135
30136 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
30137 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
30138 include/grub/parser.h, include/grub/script.h, kern/parser.c,
30139 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
30140 normal/lexer.c, normal/parser.y, normal/script.c, and
30141 partmap/gpt.c.
30142 Removed kern/sparc64/cache.c.
30143
30144 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
30145 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
30146 grub_emu_init.c.
30147
30148 * configure.ac (AC_INIT): Bumped to 1.92.
30149
6a124103 301502005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
30151
30152 * kern/err.c (grub_error_push): Added new function to support error
30153 stacks.
30154 (grub_error_pop): Likewise.
30155 (grub_error_stack_items): New local variable to support error stacks.
30156 (grub_error_stack_pos): Likewise.
30157 (grub_error_stack_assert): Likewise.
30158 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
30159 stack depth.
30160 (grub_print_error): Added support to print errors from error stack.
30161
30162 * include/grub/err.h (grub_error_push): Added function prototype.
30163 (grub_error_pop): Likewise.
30164
be973c1b 301652005-12-09 Hollis Blanchard <hollis@penguinppc.org>
30166
30167 * configure.ac: Accept `powerpc64' as host_cpu.
30168 (amd64): Rename to `biarch32'.
30169
30170 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
30171 non-cacheline-aligned addresses.
30172
30173 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
30174 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
30175 if `size' is non-zero.
30176
b04216ab 301772005-12-03 Marco Gerards <mgerards@xs4all.nl>
30178
30179 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
30180 and `cd' to make sure the filename is not prefixed with a
30181 directory name.
30182 (pkgdata_MODULES): Add `gpt.mod'.
30183 (gpt_mod_SOURCES): New variable.
30184 (gpt_mod_CFLAGS): Likewise.
30185 (gpt_mod_LDFLAGS): Likewise.
30186
30187 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
30188
30189 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
30190 New macro.
30191
30192 * partmap/gpt.c: New file.
30193
30194 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
30195 GPT partition map is detected.
30196
41730ed9 301972005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
30198
30199 * commands/i386/pc/play.c: New file.
30200 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
30201 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
30202 macros.
f19dbdb7 30203
95dc3643 302042005-11-27 Marco Gerards <mgerards@xs4all.nl>
30205
30206 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
30207 ((unused))' to silence gcc warning.
30208
1569ec51 302092005-11-26 Hollis Blanchard <hollis@penguinppc.org>
30210
30211 * configure.ac: Correct `AC_PROG_YACC' test.
30212
9abde152 302132005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30214
30215 * util/powerpc/ieee1275/grub-install.in: Run the mount point
30216 check before installing files.
30217
44b83271 302182005-11-22 Mike Small <smallm@panix.com>
30219
30220 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
30221 number regex so multidigit numbers are recognized correctly.
30222
302232005-11-22 Mike Small <smallm@panix.com>
30224
30225 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
30226 debugging message before attempting to claim memory.
30227 (grub_rescue_cmd_initrd): Add a claim debugging message and try
30228 multiple addresses in case of failure.
30229
9c12956b 302302005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30231
30232 * term/tparm.c (get_space): Remove empty `if' statement.
30233
30234 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
30235
30236 * kern/parser.c (check_varstate): Rename `state' to 's'.
30237
aeaf81d9 302382005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30239
30240 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
30241 variable definitions to the beginning of each function. Sort stack
30242 variables by size.
30243 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
30244 `buf' argument to `char *'.
30245
79bbb63f 302462005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30247
30248 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
30249 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 30250 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 30251 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30252 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30253 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30254 configfile.mod, search.mod, gzio.mod and test.mod.
30255 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30256 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30257 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30258 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30259 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30260 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30261 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30262 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30263 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30264 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30265 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30266 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30267 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30268 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30269 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30270 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30271 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30272 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30273 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30274 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30275 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30276 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30277 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
30278
30279 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
30280 `grep --include'.
30281 (pkgdata_MODULES): Add test.mod.
30282
233b1628 302832005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30284
30285 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
30286 appending to variables with "+=".
30287 (PModule): Use full pathname to generate *.lst filenames.
30288
30289 * Makefile.in: Fixed list rules moved from genmk.rb.
30290 (.DELETE_ON_ERROR): New special target.
30291 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
30292
30293 * conf/i386-pc.rmk: Include conf/common.mk.
30294 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 30295 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 30296 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30297 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30298 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30299 configfile.mod, search.mod, gzio.mod and test.mod.
30300 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30301 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30302 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30303 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30304 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30305 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30306 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30307 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30308 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30309 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30310 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30311 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30312 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30313 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30314 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30315 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30316 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30317 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30318 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30319 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30320 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30321 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30322 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
30323 here...
30324 * conf/common.rmk: ... to here. New file.
30325
30326 * conf/common.mk: New file.
30327
16f820c8 303282005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
30329
30330 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
30331 (grub_script.tab.c): ... here.
30332
30333 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
30334 (grub_script.tab.c): ... here.
30335
30336 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
30337 (grub_script.tab.c): ... here.
30338
30339 * normal/command.c (grub_command_find): Fixed a memory leak of
30340 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
30341
63ba1554 303422005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30343
30344 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
30345 "@" which marks the start of a comment on ARM.
30346 (VARIABLE): Likewise.
30347
7f67dc13 303482005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30349
79bbb63f 30350 Add support for Linux/ADFS partition tables.
7f67dc13 30351
30352 * partmap/acorn.c: New file.
30353
30354 * include/grub/acorn_filecore.h: Likewise.
30355
30356 * DISTLIST: Added `partmap/acorn.c' and
30357 `include/grub/acorn_filecore.h'.
f19dbdb7 30358
7f67dc13 30359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30360 `partmap/acorn.c'.
30361 (pkgdata_MODULES): Add `acorn.mod'.
30362 (acorn_mod_SOURCES): New variable.
30363 (acorn_mod_CFLAGS): Likewise.
30364
30365 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
30366 `partmap/acorn.c'.
30367 (pkgdata_MODULES): Add `acorn.mod'.
30368 (acorn_mod_SOURCES): New variable.
30369 (acorn_mod_CFLAGS): Likewise.
30370
30371 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
30372 (pkgdata_MODULES): Add `acorn.mod'.
30373 (acorn_mod_SOURCES): New variable.
30374 (acorn_mod_CFLAGS): Likewise.
30375 (acorn_mod_LDFLAGS): Likewise.
30376
30377 * include/types.h (grub_disk_addr_t): New typedef.
30378
6d099807 303792005-11-13 Marco Gerards <mgerards@xs4all.nl>
30380
30381 * geninit.sh: New file.
30382
30383 * geninitheader.sh: Likewise.
30384
30385 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
30386 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
30387 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
30388 * commands/configfile.c (grub_configfile_init)
30389 (grub_configfile_fini): Likewise.
30390 * commands/default.c (grub_default_init, grub_default_fini):
30391 Likewise.
30392 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
30393 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
30394 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
30395 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
30396 Likewise.
30397 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
30398 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
30399 Likewise.
30400 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 30401 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 30402 Likewise.
30403 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
30404 Likewise.
fe6b695a 30405 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 30406 Likewise.
30407 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
30408 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
30409 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
30410 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
30411 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
30412 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
30413 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
30414 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
30415 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
30416 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
30417 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
30418 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
30419 * partmap/amiga.c (grub_amiga_partition_map_init)
30420 (grub_amiga_partition_map_fini): Likewise.
30421 * partmap/apple.c (grub_apple_partition_map_init)
30422 (grub_apple_partition_map_fini): Likewise.
30423 * partmap/pc.c (grub_pc_partition_map_init)
30424 (grub_pc_partition_map_fini): Likewise.
30425 * partmap/sun.c (grub_sun_partition_map_init,
30426 grub_sun_partition_map_fini): Likewise.
30427 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
30428 Likewise.
30429
30430 * util/grub-emu.c: Include <grub_modules_init.h>.
30431 (main): Don't initialize and de-initialize any modules directly,
30432 use `grub_init_all' and `grub_fini_all' instead.
30433
30434 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
30435 `grub_vesafb_mod_init'.
30436 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
30437 all users.
30438 * term/i386/pc/vga.c (grub_vga_init): Renamed to
30439 `grub_vga_mod_init'. Updated all users.
30440 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 30441
6d099807 30442 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
30443 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
30444 rules.
30445
30446 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
30447 Generate a function to initialize the module in utilities.
30448 Updated all callers.
30449 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
30450 initialize the module in utilities. Updated all callers.
30451
9046bcf0 304522005-11-09 Hollis Blanchard <hollis@penguinppc.org>
30453
30454 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
30455 escape sequence and a literal ^L to clear the screen.
30456
30457 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
30458 when returning from Open Firmware.
30459
d13ea639 304602005-11-09 Hollis Blanchard <hollis@penguinppc.org>
30461
30462 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
30463 (grub_ofconsole_height): Likewise.
30464 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
30465 manually insert a '\n'.
30466 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
30467 `grub_ofconsole_height'. Return early if these are already set.
30468
a8fcf206 304692005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
30470
30471 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
30472 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
30473 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
30474 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
30475 and `normal/script.c'.
30476 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30477 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30478 (test_mod_SOURCES): New variable.
30479 (test_mod_CFLAGS): Likewise.
30480 (test_mod_LDFLAGS): Likewise.
30481 (pkgdata_MODULES): Add `test.mod'.
30482 (grub_script.tab.c): New rule.
30483 (grub_script.tab.h): Likewise.
30484
b6b32745 304852005-11-07 Marco Gerards <mgerards@xs4all.nl>
30486
30487 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30488 `commands/test.c', `normal/execute.c', `normal/lexer.c',
30489 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30490 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30491 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30492 (test_mod_SOURCES): New variable.
30493 (test_mod_CFLAGS): Likewise.
30494 (pkgdata_MODULES): Add `test.mod'.
30495 (grub_script.tab.c): New rule.
30496 (grub_script.tab.h): Likewise.
30497
daac212a 304982005-11-06 Marco Gerards <mgerards@xs4all.nl>
30499
30500 Add initial scripting support.
30501
30502 * commands/test.c: New file.
30503 * include/grub/script.h: Likewise.
30504 * normal/execute.c: Likewise.
30505 * normal/function.c: Likewise.
30506 * normal/lexer.c: Likewise.
30507 * normal/parser.y: Likewise.
30508 * normal/script.c: Likewise.
30509
30510 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 30511
daac212a 30512 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
30513 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
30514 `normal/function.c' and `normal/script.c'.
30515 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30516 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 30517 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
30518 variables.
daac212a 30519 (pkgdata_MODULES): Add `test.mod'.
30520 (grub_script.tab.c): New rule.
30521 (grub_script.tab.h): Likewise.
30522
30523 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
30524
30525 * include/grub/normal.h (grub_test_init): New prototype.
30526 (grub_test_fini): Likewise.
f19dbdb7 30527
daac212a 30528 * normal/command.c: Include <grub/script.h>.
30529 (grub_command_execute): Rewritten.
f19dbdb7 30530
daac212a 30531 * util/grub-emu.c (main): Call `grub_test_init' and
30532 `grub_test_fini'.
30533
77500b2b 305342005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30535
30536 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
30537 to 0.
30538 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
30539 there are no pending characters.
30540
e45deb9e 305412005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30542
30543 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
30544 `grub_strndup' to drop device arguments. Replace unnecessary
30545 `grub_strndup' with `grub_strdup'.
30546
4ce32619 305472005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30548
30549 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
30550 `debug' environment variable has been set.
30551
305522005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 30553
4ce32619 30554 * Makefile.in (install-local): Use $(DATA).
30555 (uninstall): Likewise.
30556 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
30557 (sbin_UTILITIES): ... to here.
30558 (sbin_SCRIPTS): New variable.
30559 (grub_install_SOURCES): New variable.
30560 * util/powerpc/ieee1275/grub-install.in: New file.
30561 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
30562 variable.
30563 (add_segments): Call `grub_util_get_path'.
30564
25fe6f03 305652005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
30566
30567 From Timothy Baldwin:
30568 * commands/ls.c (grub_ls_list_files): Close FILE with
30569 grub_file_close.
30570 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
30571
04ccf3ec 305722005-10-24 Marco Gerards <mgerards@xs4all.nl>
30573
30574 * include/grub/parser.h: New file.
30575
30576 * kern/parser.c: Likewise.
30577
30578 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
30579 (grub_setup_SOURCES): Likewise.
30580 (grub_probefs_SOURCES): Likewise.
30581 (grub_emu_SOURCES): Likewise.
30582 (kernel_img_HEADERS): Add `parser.h'.
30583
30584 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
30585 (grub_emu_SOURCES): Add `kern/parser.c'.
30586 (grubof_SOURCES): Likewise.
30587
30588 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
30589 (grubof_SOURCES): Add `kern/parser.c'.
30590
30591 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
30592
30593 * kern/misc.c (grub_split_cmdline): Removed function.
30594
30595 * kern/rescue.c: Include <grub/parser.h>.
30596 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
30597 of `grub_split_cmdline'.
30598
30599 * normal/command.c: Include <grub/parser.h>.
30600 (grub_command_execute): Use `grub_parser_split_cmdline' instead
30601 of `grub_split_cmdline'.
30602
30603 * normal/completion.c: Include <grub/parser.h>.
30604 (cmdline_state): New variable.
30605 (iterate_dir): End the filename with a quote depending on the
30606 command line state.
30607 (get_state): new function.
30608 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
30609 split the arguments and determine the current argument. When the
30610 argument string is not quoted, escape all spaces.
30611
6d8f4b0e 306122005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30613
30614 * normal/sparc64/setjmp.S: New file.
30615
15cf03ed 306162005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30617
30618 * include/grub/sparc64/libgcc.h: New file.
30619 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
30620 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
30621 normal/sparc64/setjmp.c.
30622
03e8661a 306232005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30624
30625 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
30626 * kern/sparc64/cache.S: New file.
30627 * kern/sparc64/cache.c: Removed.
30628 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
30629 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
30630 -mtune=ultrasparc.
30631 (COMMON_LDFLAGS): Add -melf64_sparc.
30632 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
30633 (grubof_SOURCES): Use cache.S instead of cache.c.
30634 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
30635 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
30636 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
30637 commented though.
30638 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
30639 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
30640 (linux_mod_CFLAGS): Commented out.
30641 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
30642 out because module isn't built.
30643 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
30644 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
30645 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
30646 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
30647 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
30648 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
30649 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
30650 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
30651 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
30652 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
30653 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30654 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30655 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
30656 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
30657
34eeec8a 306582005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
30659
30660 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
30661 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
30662 longer, because HFS should not be used on PC.
30663
708367a3 306642005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30665
30666 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
30667 consistently within the loop.
30668
6fa1251a 306692005-10-15 Marco Gerards <mgerards@xs4all.nl>
30670
30671 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
30672 directory can not be read.
30673
4801580b 306742005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30675
30676 * configure.ac (AC_INIT): Increase the version number to 1.91.
30677
30678 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
30679 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
30680 term/i386/pc/serial.c.
30681
219ad426 306822005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30683
30684 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
30685 file size must be permitted.
30686
30687 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
30688 between %ah and %al.
30689
688e5699 306902005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30691
30692 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
30693 grub_uint64_t.
30694 Call the hook with a NUL-terminated filename.
30695 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
30696 grub_cpu_to_be32.
30697
30698 * kern/term.c (cursor_state): New variable.
30699 (grub_term_set_current): Reset the cursor state on a new
30700 terminal.
30701 (grub_setcursor): Rewritten to use CURSOR_STATE.
30702 (grub_getcursor): New function.
30703
30704 * include/grub/term.h (grub_getcursor): New prototype.
30705
30706 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
30707 integers on ARM. Reported by Timothy Baldwin
30708 <T.E.Baldwin99@members.leeds.ac.uk>.
30709
bb34586c 307102005-10-11 Marco Gerards <mgerards@xs4all.nl>
30711
30712 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
30713 allocated.
30714 (grub_sfs_dir): Likewise.
30715
9a909877 307162005-10-09 Marco Gerards <mgerards@xs4all.nl>
30717
30718 Add support for the SFS filesystem.
30719
30720 * fs/sfs.c: New file.
30721
30722 * DISTLIST: Added `fs/sfs.c'.
30723
30724 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
30725 (grub_probefs_SOURCES): Likewise.
30726 (grub_emu_SOURCES): Likewise.
30727 (pkgdata_MODULES): Add `sfs.mod'.
30728 (sfs_mod_SOURCES): New variable.
30729 (sfs_mod_CFLAGS): Likewise.
30730 (sfs_mod_LDFLAGS): Likewise.
30731
30732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
30733 (pkgdata_MODULES): Add `sfs.mod'.
30734 (sfs_mod_SOURCES): New variable.
30735 (sfs_mod_CFLAGS): Likewise.
30736
30737 * util/grub-emu.c (main): Call `grub_sfs_init' and
30738 `grub_sfs_fini'.
30739
30740 * include/grub/fs.h (grub_sfs_init): New prototype.
30741 (grub_sfs_fini): Likewise.
30742
57bdbde3 307432005-10-07 Marco Gerards <mgerards@xs4all.nl>
30744
30745 Add support for the AFFS filesystem.
30746
30747 * fs/affs.c: New file.
30748
30749 * DISTLIST: Added `fs/affs.c'.
30750
30751 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
30752 (grub_probefs_SOURCES): Likewise.
30753 (grub_emu_SOURCES): Likewise.
30754 (pkgdata_MODULES): Add `affs.mod'.
30755 (affs_mod_SOURCES): New variable.
30756 (affs_mod_CFLAGS): Likewise.
30757 (affs_mod_LDFLAGS): Likewise.
30758
30759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
30760 (pkgdata_MODULES): Add `affs.mod'.
30761 (affs_mod_SOURCES): New variable.
30762 (affs_mod_CFLAGS): Likewise.
30763
30764 * util/grub-emu.c (main): Call `grub_affs_init' and
30765 `grub_affs_fini'.
30766
30767 * include/grub/fs.h (grub_affs_init): New prototype.
30768 (grub_affs_fini): Likewise.
30769
047b67e0 307702005-10-01 Marco Gerards <mgerards@xs4all.nl>
30771
30772 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
30773
59b8208a 307742005-10-01 Marco Gerards <mgerards@xs4all.nl>
30775
30776 * configure.ac: Accept `x86_64' as host_cpu. In that case add
30777 `-m32' to CFLAGS.
30778
30779 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
30780 linking.
f19dbdb7 30781
59b8208a 30782 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
30783 (COMMON_LDFLAGS): New variable.
30784 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
30785 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
30786 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
30787 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
30788 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
30789 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
30790 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
30791 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
30792 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
30793 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
30794 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
30795 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
30796 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
30797 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
30798 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
30799 variables.
30800 (normal_mod_ASFLAGS): Add `-m32'.
30801
30802 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
30803 (grub_host_size_t, grub_host_ssize_t): New types.
30804 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 30805 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 30806 `GRUB_HOST_SIZEOF_VOID_P'.
30807
30808 * include/grub/kernel.h (struct grub_module_header): Type of
30809 member offset changed to `grub_host_off_t'. Type of member size
30810 changed to `grub_host_size_t'.
30811 (struct grub_module_info): Type of member offset changed to
30812 `grub_host_off_t'. Type of member size changed to
30813 `grub_host_size_t'.
30814
b4093103 308152005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
30816
30817 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 30818
b4093103 30819 * kern/i386/pc/startup.S (multiboot_header): New label.
30820 (multiboot_entry): Likewise.
30821 (multiboot_trampoline): Likewise.
30822
30823 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30824 Increased to 0x4A0.
30825
30826 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
30827 put parentheses after a question mark.
30828 [!GRUB_UTIL] (my_mod): New variable.
30829
30830 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
30831
b2499b29 308322005-09-28 Marco Gerards <mgerards@xs4all.nl>
30833
30834 Adds support for the XFS filesystem. Btrees are not supported
30835 yet.
30836
30837 * fs/xfs.c: New file.
30838
30839 * DISTLIST: Added `fs/xfs.c'.
30840
30841 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
30842 (grub_probefs_SOURCES): Likewise.
30843 (grub_emu_SOURCES): Likewise.
30844 (pkgdata_MODULES): Add `xfs.mod'.
30845 (xfs_mod_SOURCES): New variable.
30846 (xfs_mod_CFLAGS): Likewise.
30847
30848 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
30849 (pkgdata_MODULES): Add `xfs.mod'.
30850 (xfs_mod_SOURCES): New variable.
30851 (xfs_mod_CFLAGS): Likewise.
30852
30853 * util/grub-emu.c (main): Call `grub_xfs_init' and
30854 `grub_xfs_fini'.
30855
30856 * include/grub/fs.h (grub_xfs_init): New prototype.
30857 (grub_xfs_fini): Likewise.
30858
f19dbdb7 30859
83d37a62 308602005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
30861
30862 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
30863 color modes, allow greater than 16 colors to be configured as
30864 a default palette.
30865
47d2d65e 308662005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30867
30868 * normal/completion.c (complete_arguments): Add the qualifier
30869 const into OPTIONS.
30870
30871 From Omniflux <omniflux+lists@omniflux.com>:
30872 * include/grub/terminfo.h: New file.
30873 * include/grub/tparm.h: Likewise.
30874 * include/grub/i386/pc/serial.h: Likewise.
30875 * term/terminfo.c: Likewise.
30876 * term/tparm.c: Likewise.
30877 * term/i386/pc/serial.c: Likewise.
30878 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
30879 serial.mod.
30880 (terminfo_mod_SOURCES): New variable.
30881 (terminfo_mod_CFLAGS): Likewise.
30882 (serial_mod_SOURCES): Likewise.
30883 (serial_mod_CFLAGS): Likewise.
30884
48b671ff 308852005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
30886
30887 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
30888 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
30889 and kern/powerpc/ieee1275/cmain.c, respectively.
30890
30891 * boot/powerpc/ieee1275/crt0.S: Moved to ...
30892 * kern/powerpc/ieee1275/crt0.S: ... here.
30893
30894 * boot/powerpc/ieee1275/cmain.c: Moved to ...
30895 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 30896
48b671ff 30897 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
30898 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
30899 instead of boot/powerpc/ieee1275/crt0.S and
30900 boot/powerpc/ieee1275/cmain.c, respectively.
30901
30902 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
30903 sectors. It was not used anyway.
30904
09fc77a7 309052005-08-30 Hollis Blanchard <hollis@penguinppc.org>
30906
30907 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
30908 `unused parameter' warning.
30909
003789c7 309102005-08-30 Hollis Blanchard <hollis@penguinppc.org>
30911
30912 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
30913 function.
30914 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
30915 getcharwidth.
30916
67f44c86 309172005-08-28 Marco Gerards <metgerards@student.han.nl>
30918
30919 * include/grub/normal.h (enum grub_completion_type): Added
30920 `GRUB_COMPLETION_TYPE_ARGUMENT'.
30921
30922 * normal/cmdline.c (print_completion): Handle
30923 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
30924 * normal/menu_entry.c (store_completion): Likewise.
30925
30926 * normal/completion.c (complete_arguments): New function.
30927 (grub_normal_do_completion): Call `complete_arguments' when the
30928 current words start with a dash.
30929
0b5abe02 309302005-08-27 Marco Gerards <metgerards@student.han.nl>
30931
30932 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
30933 `gzio.mod' instead of `io.mod').
30934
d9864ee1 309352005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
30936
30937 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
30938 (DISTDIRS): Added io and video.
30939 Rewrite the search routine to make an output consistently.
30940
30941 * DISTLIST: Added conf/sparc64-ieee1275.mk,
30942 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
30943 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
30944 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
30945 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
30946 util/powerpc/ieee1275/misc.c.
f19dbdb7 30947
d9864ee1 30948 * include/grub/gzio.h: New file.
30949 * io/gzio.c: Likewise.
f19dbdb7 30950
d9864ee1 30951 * kern/file.c (grub_file_close): Call grub_device_close only if
30952 FILE->DEVICE is not NULL.
30953
30954 * include/grub/mm.h [!NULL] (NULL): New macro.
30955
30956 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
30957
30958 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
30959 (pkgdata_MODULES): Added gzio.mod.
30960 (gzio_mod_SOURCES): New variable.
30961 (gzio_mod_CFLAGS): Likewise.
30962
30963 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
30964 (pkgdata_MODULES): Added gzio.mod.
30965 (gzio_mod_SOURCES): New variable.
30966 (gzio_mod_CFLAGS): Likewise.
30967
30968 * commands/cat.c: Include grub/gzio.h.
30969 (grub_cmd_cat): Use grub_gzfile_open instead of
30970 grub_file_open.
f19dbdb7 30971
d9864ee1 30972 * commands/cmp.c: Include grub/gzio.h.
30973 (grub_cmd_cmp): Use grub_gzfile_open instead of
30974 grub_file_open.
30975
30976 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
30977 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
30978 grub_file_open.
30979 (grub_rescue_cmd_module): Likewise.
30980
fa46f4b5 309812005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
30982
30983 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
30984 kern/sparc64/ieee1275/init.c because it contains _start.
30985 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
30986
e9211b5d 309872005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
30988
30989 * configure.ac: Add support for sparc64 host with ieee1275
30990 firmware.
30991 * configure: Generated from configure.ac.
30992 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
30993 instead of int.
30994 (grub_ofdisk_read): Likewise.
30995 (grub_ofdisk_open): Use %p to print pointer values, and cast the
30996 pointers as (void *) to remove a warning.
30997 (grub_ofdisk_close): Likewise.
30998 (grub_ofdisk_read): Likewise.
30999 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
31000 returns, so make it return void to remove a warning.
31001 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
31002 Corresponding prototype change.
31003 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
31004 values, and cast the pointers as (void *) to remove a warning.
31005 (grub_mm_dump): Likewise.
31006 * conf/sparc64-ieee1275.mk: New file.
31007 * conf/sparc64-ieee1275.rmk: Likewise.
31008 * include/grub/sparc64/setjmp.h: Likewise.
31009 * include/grub/sparc64/types.h: Likewise.
31010 * include/grub/sparc64/ieee1275/console.h: Likewise.
31011 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31012 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31013 * include/grub/sparc64/ieee1275/time.h: Likewise.
31014 * kern/sparc64/cache.c: Likewise.
31015 * kern/sparc64/dl.c: Likewise.
31016 * kern/sparc64/ieee1275/init.c: Likewise.
31017 * kern/sparc64/ieee1275/openfw.c: Likewise.
31018
385c6a92 310192005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31020
31021 * util/console.c (grub_ncurses_putchar): If C is greater than
31022 0x7f, set C to a question mark.
31023 (grub_ncurses_getcharwidth): New function.
31024 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
31025 getcharwidth.
31026
31027 * normal/menu.c (print_entry): Made aware of Unicode. First,
31028 convert TITLE to UCS-4, and predict the cursor position by
31029 grub_getcharwidth.
31030
31031 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
31032 const to SRC.
31033 * kern/misc.c (grub_utf16_to_utf8): Likewise.
31034
16ccb8b1 310352005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31036
31037 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
31038 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31039 grub_strcat.
31040
31041 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
31042 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31043 grub_strcpy and grub_strlen. Take it into account that a space
31044 character is inserted as a delimiter.
31045
6a85ce79 310462005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31047
31048 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 31049 invalid magic in the error.
6a85ce79 31050
31051 * commands/search.c: New file.
f19dbdb7 31052
6a85ce79 31053 * util/grub-emu.c (main): Call grub_search_init and
31054 grub_search_fini.
31055
31056 * kern/rescue.c (grub_rescue_print_disks): Removed.
31057 (grub_rescue_print_devices): New function.
31058 (grub_rescue_cmd_ls): Use grub_device_iterate with
31059 grub_rescue_print_devices instead of grub_disk_dev_iterate with
31060 grub_rescue_print_disks.
31061
31062 * kern/partition.c (grub_partition_iterate): Return the result of
31063 PARTMAP->ITERATE instead of GRUB_ERRNO.
31064
31065 * kern/device.c: Include grub/partition.h.
31066 (grub_device_iterate): New function.
31067
31068 * include/grub/partition.h (grub_partition_iterate): Return int
31069 instead of grub_err_t.
31070
31071 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
31072 prototype.
31073 [GRUB_UTIL] (grub_search_fini): Likewise.
31074
31075 * include/grub/device.h (grub_device_iterate): New prototype.
31076
31077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31078 commands/search.c.
31079 (pkgdata_MODULES): Added search.mod.
31080 (search_mod_SOURCES): New variable.
31081 (search_mod_CFLAGS): Likewise.
31082
31083 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
31084 (pkgdata_MODULES): Added search.mod.
31085 (search_mod_SOURCES): New variable.
31086 (search_mod_CFLAGS): Likewise.
31087
31088 * commands/ls.c (grub_ls_list_disks): Renamed to ...
31089 (grub_ls_list_devices): ... this, and use grub_device_iterate.
31090 All callers changed.
31091
31092 * DISTLIST: Added commands/search.c.
31093
ef095434 310942005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31095
31096 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
31097 conversion.
31098 (grub_getcharwidth): New function.
31099
31100 * kern/misc.c (grub_utf8_to_ucs4): New function.
31101
31102 * include/grub/term.h (struct grub_term): Added a new member
31103 "getcharwidth".
31104 (grub_getcharwidth): New prototype.
31105
31106 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
31107
31108 * term/i386/pc/console.c (map_char): New function. Segregated from
31109 grub_console_putchar.
31110 (grub_console_putchar): Use map_char.
31111 (grub_console_getcharwidth): New function.
31112 (grub_console_term): Specified grub_console_getcharwidth as
31113 getcharwidth.
31114
31115 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
31116 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
31117
31118 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
31119 GRUB_ERRNO.
31120 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
31121 on grub_strtoul completely.
31122 (write_char): Declare local variables in the beginning of the
31123 function.
31124 (grub_vesafb_getcharwidth): New function.
31125 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
31126 getcharwidth.
31127
1f0a95e4 311282005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
31129
31130 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
31131 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
31132 commands/i386/pc/vbetest.c.
31133
31134 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
31135 call grub_vbe_get_controller_info again, because the returned
31136 information is volatile.
31137 (grub_vbe_set_video_mode): Mostly rewritten.
31138 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
31139 grub_vbe_status_t correctly.
31140 (grub_vbe_get_video_mode_info): Likewise.
31141 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
31142 several if statements.
31143
31144 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
31145 * commands/i386/pc/vbeinfo.c: ... this.
31146
31147 * commands/i386/pc/vbe_test.c: Renamed to ...
31148 * commands/i386/pc/vbetest.c: ... this.
31149
31150 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
31151 ...
31152 (grub_cmd_vbeinfo): ... this. Save video modes before
31153 iterating. Skip a video mode, if it is not available, not enough
31154 information is given or it is monochrome. Show the memory
31155 model. Leave the interpretation of MODEVAR to grub_strtoul
31156 completely.
31157 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
31158 (GRUB_MOD_FINI): Likewise.
31159
31160 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
31161 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
31162 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
31163 duplicated grub_env_get. Leave the interpretation of MODEVAR to
31164 grub_strtoul completely.
31165 (real2pm): Removed.
31166 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
31167 (GRUB_MOD_FINI): Likewise.
31168
31169 * normal/misc.c: Include grub/mm.h.
31170
31171 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
31172 vbe_list_modes with vbetest.mod and vbeinfo.mod.
31173 (vbe_list_modes_mod_SOURCES): Removed.
31174 (vbe_list_modes_mod_CFLAGS): Likewise.
31175 (vbe_test_mod_SOURCES): Likewise.
31176 (vbe_test_mod_CFLAGS): Likewise.
31177 (vbeinfo_mod_SOURCES): New variable.
31178 (vbeinfo_mod_CFLAGS): Likewise.
31179 (vbetest_mod_SOURCES): Likewise.
31180 (vbetest_mod_CFLAGS): Likewise.
31181
992ffbbe 311822005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
31183
31184 * normal/misc.c: New file.
31185
31186 * DISTLIST: Added normal/misc.c.
f19dbdb7 31187
992ffbbe 31188 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
31189 DISK to HOOK. Call HOOK with DISK.
31190 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31191 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31192 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31193
31194 * normal/menu_entry.c (struct screen): Added a new member
31195 "completion_shown".
31196 (completion_buffer): New global variable.
31197 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
31198 (store_completion): New function.
31199 (complete): Likewise.
31200 (clear_completions): Likewise.
31201 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
31202 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
31203 a tab, call complete.
31204
31205 * normal/completion.c (disk_dev): Removed.
31206 (print_simple_completion): Likewise.
31207 (print_partition_completion): Likewise.
31208 (print_func): New global variable.
31209 (add_completion): Do not take the arguments WHAT or PRINT any
31210 longer. Added a new argument TYPE. Instead of printing directly,
31211 call PRINT_FUNC if not NULL.
31212 All callers changed.
31213 (complete_device): Use a local variable DEV instead of
31214 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
31215 (grub_normal_do_completion): Take a new argument HOOK. Do not
31216 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
31217 empty string, return NULL instead.
31218 All callers changed.
31219
31220 * normal/cmdline.c (print_completion): New function.
31221
31222 * kern/partition.c (grub_partition_iterate): Add an argument DISK
31223 to HOOK.
31224 All callers changed.
31225
31226 * kern/disk.c (grub_print_partinfo): Removed.
31227
31228 * include/grub/partition.h (struct grub_partition_map): Add a new
31229 argument DISK into HOOK of ITERATE.
31230 (grub_partition_iterate): Add a new argument DISK to HOOK.
31231
31232 * include/grub/normal.h (enum grub_completion_type): New enum.
31233 (grub_completion_type_t): New type.
31234 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
31235 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
31236 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
31237 (GRUB_COMPLETION_TYPE_FILE): Likewise.
31238 (grub_normal_do_completion): Added a new argument HOOK.
31239 (grub_normal_print_device_info): New prototype.
31240
31241 * include/grub/disk.h (grub_print_partinfo): Removed.
31242
31243 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
31244 (normal_mod_SOURCES): Likewise.
31245 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31246 (normal_mod_SOURCES): Likewise.
31247
31248 * commands/ls.c (grub_ls_list_disks): Use
31249 grub_normal_print_device_info instead of grub_print_partinfo. Free
31250 PNAME.
31251 (grub_ls_list_files): Use grub_normal_print_device_info instead of
31252 duplicating the code.
31253
0bd41162 312542005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31255
31256 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 31257 follow GCS more precisely.
31258 * commands/i386/pc/vbe_test.c: Likewise.
31259 * include/grub/i386/pc/vbe.h: Likewise.
31260 * term/i386/pc/vesafb.c: Likewise.
31261 * video/i386/pc/vbe.c: Likewise.
0bd41162 31262
6323696a 312632005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31264
31265 * DISTLIST: Added term/i386/pc/vesafb.c
31266 DISTLIST: Added video/i386/pc/vbe.c
31267 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
31268 DISTLIST: Added commands/i386/pc/vbe_test.c.
31269 * commands/i386/pc/vbe_list_modes.c: New file.
31270 * commands/i386/pc/vbe_test.c: Likewise.
31271 * term/i386/pc/vesafb.c: Likewise.
31272 * video/i386/pc/vbe.c: Likewise.
31273 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
31274 (grub_vbe_probe) Added prototype.
31275 (grub_vbe_set_video_mode) Likewise.
31276 (grub_vbe_get_video_mode) Likewise.
31277 (grub_vbe_get_video_mode_info) Likewise.
31278 (grub_vbe_set_pixel_rgb) Likewise.
31279 (grub_vbe_set_pixel_index) Likewise.
31280 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
31281 (pkgdata_MODULES): Added vesafb.mod.
31282 (pkgdata_MODULES): Added vbe_list_modes.mod.
31283 (pkgdata_MODULES): Added vbe_test.mod.
31284 (vbe_mod_SOURCES): Added.
31285 (vbe_mod_CFLAGS): Likewise.
31286 (vesafb_mod_SOURCES): Likewise.
31287 (vesafb_mod_CFLAGS): Likewise.
31288 (vbe_list_modes_mod_SOURCES): Likewise.
31289 (vbe_list_modes_mod_CFLAGS): Likewise.
31290 (vbe_test_mod_SOURCES): Likewise.
31291 (vbe_test_mod_CFLAGS): Likewise.
31292
0a74e62f 312932005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
31294
0a74e62f 31295 * normal/command.c (grub_command_execute): If INTERACTIVE is
31296 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
31297 CMDLINE. Disable the pager if INTERACTIVE is true.
31298 All callers are changed.
31299
31300 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
31301 before reading a config file.
31302 * normal/main.c (read_config_file): Even if a command is not
31303 found, register it if it is within an entry.
31304
31305 * util/grub-emu.c: Include sys/types.h and unistd.h.
31306 (options): Added --hold.
31307 (struct arguments): Added a new member "hold".
31308 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
31309 missing.
31310 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
31311 cleared by a debugger, if it is not zero.
31312
31313 * include/grub/normal.h (grub_command_execute): Add an argument
31314 INTERACTIVE.
31315
e51f85ae 313162005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
31317
31318 * DISTLIST: Added include/grub/i386/pc/vbe.h.
31319
e9c6f39b 313202005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
31321
31322 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
31323 program with another one, because the old one didn't detect a bug
31324 in gcc-3.4. Always use regparm 2, because the new test is still
31325 not enough for gcc-4.0. Someone must investigate a simple test
31326 case which detects a bug in gcc-4.0.
31327
8de3495c 313282005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
31329
31330 * DISTLIST: Added normal/completion.c.
31331
31332 * normal/completion.c: New file.
f19dbdb7 31333
8de3495c 31334 * term/i386/pc/console.c (grub_console_getwh): New function.
31335 (grub_console_term): Assign grub_console_getwh to getwh.
31336
31337 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
31338 function is defined in normal/completion.c as
31339 grub_normal_do_completion.
31340 (grub_cmdline_get): Use grub_normal_do_completion instead of
31341 grub_tab_complete.
31342
31343 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
31344 returns non-zero, otherwise return 0.
31345 (grub_partition_iterate): First, probe the partition map. Then,
31346 call ITERATE only for this partition map.
31347
31348 * kern/misc.c (grub_strncmp): Rewritten.
31349
31350 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
31351 returns non-zero. Otherwise return 0.
31352
31353 * include/grub/partition.h (grub_partition_map_iterate): Return
31354 int instead of void.
31355
31356 * include/grub/normal.h (grub_normal_do_completion): New prototype.
31357
31358 * include/grub/misc.h (grub_strncmp): Change the type of N to
31359 grub_size_t.
31360
31361 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
31362 of void.
31363
31364 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 31365 unsigned explicitly before comparing it with I.
8de3495c 31366
31367 * kern/main.c (grub_env_write_root): Add the attribute unused into
31368 VAR.
31369
31370 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31371 normal/completion.c.
31372 (normal_mod_SOURCES): Likewise.
31373 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31374 (normal_mod_SOURCES): Likewise.
31375
31376 * normal/command.c (grub_iterate_commands): If ITERATE returns
31377 non-zero, return one immediately.
31378
e85e144b 313792005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
31380
31381 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
31382 * kern/i386/pc/startup.S: Updated Global Descriptor table's
31383 descriptions.
31384 (grub_vbe_get_controller_info): New function.
31385 (grub_vbe_get_mode_info): Likewise.
31386 (grub_vbe_set_mode): Likewise.
31387 (grub_vbe_get_mode): Likewise.
31388 (grub_vbe_set_memory_window): Likewise.
31389 (grub_vbe_get_memory_window): Likewise.
31390 (grub_vbe_set_scanline_length): Likewise.
31391 (grub_vbe_get_scanline_length): Likewise.
31392 (grub_vbe_set_display_start): Likewise.
31393 (grub_vbe_get_display_start): Likewise.
31394 (grub_vbe_set_palette_data): Likewise.
31395 * include/grub/i386/pc/vbe.h: New file.
31396
c46153d2 313972005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31398
31399 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
31400 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
31401 * DISTLIST: Likewise.
31402 * kern/ieee1275/of.c: Moved to ...
31403 * kern/ieee1275/ieee1275.c: ... here.
31404
0cb90c45 314052005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31406
31407 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
31408 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
31409 Pass 0 as `end' parameter to grub_strtoul().
31410
a19fb360 314112005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31412
31413 * include/grub/powerpc/ieee1275/console.h: Do not include
31414 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
31415 ifdef.
31416 (grub_console_cur_color): Remove i386-specific prototype.
31417 (grub_console_real_putchar): Likewise.
31418 (grub_console_checkkey): Likewise.
31419 (grub_console_getkey): Likewise.
31420 (grub_console_getxy): Likewise.
31421 (grub_console_gotoxy): Likewise.
31422 (grub_console_cls): Likewise.
31423 (grub_console_setcursor): Likewise.
31424 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
31425 Include <grub/machine/console.h>.
31426 * term/ieee1275/ofconsole.c: Likewise.
31427
4ac9bd04 314282005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
31429
31430 * Makefile.in (LIBLZO): New variable.
31431
31432 * configure.ac: Check for LZO version 2.
31433
31434 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
31435 lzo/lzo1x.h instead of lzo1x.h.
31436
31437 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
31438 of -llzo.
31439
31440 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
31441 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
31442
31443 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
31444 copying the data from PARTITION to P.
31445
f4917dfd 314462005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31447
31448 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
31449 negative, unload the module.
31450
31451 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
31452 map is "pc_partition_map" but not "pc".
31453 (usage): Fix the description. The options are --boot-image and
31454 --core-image but not --boot-file or --core-file.
31455 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
31456 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
31457 DEFAULT_DIRECTORY.
31458
31459 * util/i386/pc/grub-install.in: Do not specify --boot-file or
31460 --core-file. Specify INSTALL_DEVICE as an argument.
31461
31462 * util/console.c: Include config.h.
31463 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
31464 [HAVE_NCURSES_H]: Include ncurses.h.
31465 [HAVE_CURSES_H]: Include curses.h.
31466 [!A_NORMAL] (A_NORMAL): Defined as zero.
31467 [!A_STANDOUT] (A_STANDOUT): Likewise.
31468
31469 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
31470 -lncurses.
31471 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
31472
31473 * configure.ac: Check for curses libraries and headers.
31474
31475 * Makefile.in (LIBCURSES): New variable.
31476
31477 * genmk.rb (Script::rule): Set the executable bits.
31478
31479 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
31480 name of the PC partition map is "pc_partition_map" but not "pc".
31481
0e143073 314822005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31483
31484 * util/i386/pc/grub-install.in (grub_probefs): New variable.
31485 (modules): Likewise.
31486 (usage): Added descriptions for --modules and --grub-probefs.
31487 Handle --modules and --grub-probefs. Save the arguments in MODULES
31488 and GRUB_PROBEFS, respectively.
31489 Auto-detect a filesystem module against GRUBDIR. If the result is
31490 empty and modules are not specified explicitly, abort the
31491 installation. Add the result to MODULES.
31492
31493 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
31494 disk/powerpc/ieee1275/ofdisk.c,
31495 include/grub/powerpc/ieee1275/init.h and
31496 term/powerpc/ieee1275/ofconsole.c.
31497 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
31498 term/ieee1275/ofconsole.c.
31499
31500 * include/grub/powerpc/ieee1275/console.h: Resurrected.
31501
31502 * COPYING: Upgraded to the latest version. Only the address of the
31503 FSF office has changed.
f19dbdb7 31504
efd6e6d5 315052005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31506
31507 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
31508 kern/ieee1275.c with kern/ieee1275/of.c.
31509
31510 * kern/ieee1275.c: Moved to ...
31511 * kern/ieee1275/of.c: ... here.
31512
8ceafda2 315132005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
31514
31515 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 31516 readability.
8ceafda2 31517
31518 * config.guess: Updated to the latest version from gnulib.
31519 * config.sub: Likewise.
31520 * install.sh: Likewise.
31521 * mkinstalldirs: Likewise.
31522
31523 * include/grub/console.h: Removed. This file is arch-specific. Do
31524 not put this in include/grub.
31525
31526 * include/grub/i386/pc/console.h: Resurrected.
31527
31528 * util/console.c: Include grub/machine/console.h instead of
31529 grub/console.h.
31530 * util/grub-emu.c: Likewise.
31531
267f6cd9 315322005-08-04 Marco Gerards <metgerards@student.han.nl>
31533
31534 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
31535 hardcoded value.
f19dbdb7 31536
267f6cd9 31537 From Vincent Pelletier <subdino2004@yahoo.fr>
31538 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
31539 Redefined to use grub_getwh.
31540 (grub_term): New member named getwh.
31541 (grub_getwh): New prototype.
31542 * kern/term.c (grub_getwh): New function.
31543 * term/i386/pc/console.c (grub_console_getwh): New function.
31544 (grub_console_term): New member `getwh'.
31545 * term/i386/pc/vga.c (grub_vga_getwh): New function.
31546 (grub_vga_term): New member `getwh'.
0b5abe02 31547 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 31548 grub_ssize_t.
31549 (grub_ofconsole_getw): New function.
31550 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
31551 (grub_ofconsole_term): New field named getwh and new initial
31552 value.
31553
3be7266d 315542005-08-03 Hollis Blanchard <hollis@penguinppc.org>
31555
31556 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
31557 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
31558 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
31559 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
31560 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
31561 of <grub/machine/ieee1275.h>.
31562 * commands/ieee1275/reboot.c: Likewise.
31563 * boot/powerpc/ieee1275/ieee1275.c: Move ...
31564 * kern/ieee1275.c: ... to here. All users updated. Change all
31565 parameter structs to use new type `grub_ieee1275_cell_t'.
31566 * term/powerpc/ieee1275/ofconsole.c: Move ...
31567 * term/ieee1275/ofconsole.c: ... to here. All users updated.
31568 * disk/powerpc/ieee1275/ofdisk.c: Move ...
31569 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
31570 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
31571 to return int.
31572 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
31573 Remove unused prototypes. All users updated.
31574 * include/grub/powerpc/ieee1275/console.h: Removed.
31575 * include/grub/powerpc/ieee1275/ieee1275.h: Define
31576 `grub_ieee1275_cell_t'.
31577 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
31578 Cast comparisons with -1 to the correct type.
31579 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
31580 type to match `grub_ieee1275_entry_fn'.
31581
8b5f3938 315822005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
31583
31584 * DISTLIST: Added util/i386/pc/grub-probefs.c.
31585
31586 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
31587 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
31588 partmap/sun.c.
31589 (grub_probefs_SOURCES): New variable.
31590
31591 * util/i386/pc/grub-probefs.c: New file.
31592
31593 * util/i386/pc/grub-setup.c (main): Call
31594 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
31595 grub_hfs_init and grub_jfs_init to initialize the system. Call
31596 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
31597 grub_pc_partition_map_fini to finish the system.
31598
ea409713 315992005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
31600
31601 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
31602 function.
31603 (grub_multiboot_load_elf32): Likewise.
31604 (grub_multiboot_is_elf64): Likewise.
31605 (grub_multiboot_load_elf64): Likewise.
31606 (grub_multiboot_load_elf): Likewise.
31607 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
31608 an ELF32 or ELF64 file.
31609 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
31610
31611 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
31612 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
31613 NULL before calling FS->LABEL.
31614 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
31615 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
31616 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
31617 before calling FS->LABEL.
31618
141a288b 316192005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
31620
31621 * util/i386/pc/grub-install.in (datadir): New variable.
31622 (libdir): Removed.
31623 (pkgdatadir): New variable.
31624 (pkglibdir): Removed.
31625
0d5f8a54 316262005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
31627
31628 * DISTLIST: Added util/i386/pc/grub-install.in.
31629
31630 * util/i386/pc/grub-install.in: New file.
31631
31632 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
31633 (grub_install_SOURCES): Likewise.
31634
31635 * genmk.rb: Added support for scripts.
31636 (Script): New class.
31637 (scripts): New variable.
31638
31639 * Makefile.in (install-local): Install sbin_SCRIPTS by
31640 INSTALL_SCRIPT.
31641 (uninstall): Remove sbin_SCRIPTS.
31642
31643 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
31644 device, try to get a GRUB device by
31645 grub_util_biosdisk_get_grub_dev.
31646 Free DEST_DEV.
31647
31648 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
31649 description for --device-map.
31650
5f968e1e 316512005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
31652
31653 Change the semantics of variable hooks. They now return strings
31654 instead of error values.
f19dbdb7 31655
5f968e1e 31656 * util/i386/pc/grub-setup.c: Include grub/env.h.
31657 (setup): Use grub_device_set_root instead of grub_env_set.
31658
31659 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
31660 grub_env_get instead of grub_device_set_root and
31661 grub_device_get_root, respectively.
31662
31663 * kern/main.c (grub_env_write_root): New function.
31664 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
31665 grub_env_set instead of grub_device_set_root.
31666
31667 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
31668 many variables.
31669 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
31670 rather than calling ENV->WRITE_HOOK afterwards.
31671 (grub_env_get): Return the result of ENV->READ_HOOK rather than
31672 passing a pointer of a pointer.
31673 (grub_register_variable_hook): Change the types of "read_hook" and
31674 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
31675 respectively.
31676 Allocate the default empty string on the heap, because this string
31677 may be freed later.
31678
31679 * kern/device.c: Include grub/env.h.
31680 (grub_device_set_root): Removed.
31681 (grub_device_get_root): Likewise.
31682 (grub_device_open): Use grub_env_get instead of
31683 grub_device_get_root.
31684
31685 * include/grub/env.h (grub_env_read_hook_t): New type.
31686 (grub_env_write_hook_t): Likewise.
31687 (grub_env_var): Change the types of "read_hook" and "write_hook"
31688 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
31689 (grub_register_variable_hook): Likewise.
31690
31691 * include/grub/device.h (grub_device_set_root): Removed.
31692 (grub_device_set_root): Likewise.
31693
31694 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
31695 make sure that DIRNAME terminates with '/', so that
31696 grub_fat_find_dir will fail if PATH is not a directory.
31697
31698 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
31699 from DIRNAME.
31700 Use the qualifier auto for print_files and print_files_long.
31701 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
31702 as a regular file.
31703 Put a newline only if there is no error.
31704 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
31705 used.
31706
896f0afd 317072005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
31708
31709 * kern/partition.c (grub_partition_probe): Initialize PART to
31710 NULL. Otherwise, when no partition map is registered, this returns
31711 a garbage.
31712
b28b81b2 317132005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
31714
31715 * partmap/apple.c (apple_partition_map_iterate): Check if POS
31716 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
31717 valid.
31718
5f3607e0 317192005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
31720
31721 * commands/ls.c (grub_ls_list_disks): Print the filesystem
31722 information on each device, if it does not have partitions. Print
31723 "Device" instead of "Disk", because this function is not specific
31724 to disk devices.
31725
31726 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
31727 static to ensure that it is put on the memory rather than a
31728 register.
31729
502c87e8 317302005-07-17 Yoshinori Okuji <okuji@enbug.org>
31731
31732 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
31733 (grub_cat_init): Likewise.
31734 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
31735 (options): Likewise.
31736 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31737 (grub_configfile_init): Likewise.
31738 * font/manager.c (GRUB_MOD_INIT): Likewise.
31739 * commands/help.c (GRUB_MOD_INIT): Likewise.
31740 (grub_help_init): Likewise.
31741 * normal/command.c (grub_command_init): Likewise.
31742 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
31743 * disk/loopback.c (grub_loop_init): Likewise.
31744 (GRUB_MOD_INIT): Likewise.
31745 * commands/ls.c (grub_ls_init): Likewise.
31746 (GRUB_MOD_INIT): Likewise.
31747 (options): Likewise.
31748 * commands/boot.c (grub_boot_init): Likewise.
31749 (GRUB_MOD_INIT): Likewise.
31750 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
31751 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
31752 (GRUB_MOD_INIT): Likewise.
31753 * commands/cmp.c (grub_cmp_init): Likewise.
31754 (GRUB_MOD_INIT): Likewise.
31755
31756 * normal/arg.c: Use <> instead of "" to include header files.
31757 (SHORT_ARG_HELP): New macro.
31758 (SHORT_ARG_USAGE): Likewise.
31759 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
31760 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
31761 descriptions.
31762 (find_short): Check if C is 'h' or 'u' explicitly.
31763 (grub_arg_show_help): Use space characters instead of tabs. Treat
31764 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
31765 are shown with --help and --usage only if they are not used for
31766 the command itself.
31767 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
31768 'h' and 'u'.
31769
31770 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
31771 const into "longarg". Change the type of "shortarg" to int.
31772
f806d18e 317732005-07-17 Yoshinori Okuji <okuji@enbug.org>
31774
31775 * boot/i386/pc/boot.S (boot_drive_check): New label.
31776
31777 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
31778 macro.
31779
31780 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
31781 which do not pass a boot drive correctly. Copied from GRUB Legacy.
31782
e293232b 317832005-07-17 Yoshinori Okuji <okuji@enbug.org>
31784
31785 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
31786 When turning off Gate A20, skip the check and return immediately,
31787 because this is not fatal usually.
31788
ebedfd00 317892005-07-17 Yoshinori Okuji <okuji@enbug.org>
31790
31791 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
31792 be 0x7C00 instead of 0x8000.
31793
31794 * boot/i386/pc/pxeboot.S: Rewritten.
31795
31796 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
31797 EXT_C.
31798 (gate_a20_check_state): Read a byte from 0x108000. Invert the
31799 result.
31800
654fc59f 318012005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
31802
31803 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
31804 robustness. This routine now supports a BIOS call and System
31805 Control Port A to modify the gate A20.
31806
31807 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31808 Increased to 0x440.
31809
09f9923f 318102005-07-12 Hollis Blanchard <hollis@penguinppc.org>
31811
31812 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
31813 device path and resulting ihandle.
31814 (grub_ofdisk_close): dprintf the ihandle being closed.
31815 (grub_ofdisk_read): dprintf function parameters.
31816 * kern/mm.c (grub_mm_init_region): Likewise.
31817 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
31818 (grub_linux_boot): dprintf the Linux entry point, initrd address and
31819 size, and boot arguments.
31820 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
31821 before loading into memory.
31822 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
31823 before loading into memory.
31824
7ef504d8 318252005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
31826
31827 * kern/mm.c: Added much documentation.
31828 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
31829 8, set to 5 instead of 8.
31830
e0f050c2 318312005-07-10 Yoshinori Okuji <okuji@enbug.org>
31832
31833 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
31834
31835 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
31836 (grub_mkdevicemap_SOURCES): New variable.
31837
31838 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
31839 lib/device.c of GRUB Legacy.
31840
7224189a 318412005-07-10 Yoshinori Okuji <okuji@enbug.org>
31842
31843 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
31844 instead of PATH is NULL.
31845
68c864eb 318462005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
31847
31848 * commands/cmp.c (BUFFER_SIZE): New macro.
31849 (grub_cmd_cmp): Close the right file at the right time. Compare
31850 only data just read. Don't report files of different size as
31851 identical. Dynamically allocate buffers. Move variable
31852 declarations at the beginning of function.
31853
e6f3e614 318542005-07-09 Yoshinori Okuji <okuji@enbug.org>
31855
31856 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
31857 reverse.
31858
f8f1559a 318592004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
31860
31861 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
31862 when backspace is pressed at beginning of line.
31863
39c9d41d 318642005-07-03 Yoshinori Okuji <okuji@enbug.org>
31865
31866 * DISTLIST: Added genfslist.sh.
31867
31868 * normal/main.c (fs_module_list): New variable.
31869 (autoload_fs_module): New function.
31870 (read_fs_list): Likewise.
31871 (grub_normal_execute): Call read_fs_list.
31872
31873 * kern/fs.c (grub_fs_autoload_hook): New variable.
31874 (grub_fs_probe): Added support for auto-loading.
31875
31876 * include/grub/normal.h (struct grub_fs_module_list): New struct.
31877 (grub_fs_module_list_t): New type.
31878
31879 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
31880 (grub_fs_autoload_hook): New prototype.
31881
31882 * genfslist.sh: New file.
f19dbdb7 31883
39c9d41d 31884 * genmk.rb: Added a rule to generate a filesystem list.
31885
121c1d83 318862005-06-30 Marco Gerards <metgerards@student.han.nl>
31887
31888 * configure.ac: Fix the test for cross-compiling.
31889
31890 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
31891 define GRUB_UTIL anymore.
31892
31893 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
31894 so this function works on other systems than just big endian.
31895 (load_modules): Likewise.
31896 (add_segments): Likewise.
31897
e75d76e1 318982005-06-23 Hollis Blanchard <hollis@penguinppc.org>
31899
31900 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
31901 contains `l' modifier, get a long from va_arg().
31902
50b5a0a7 319032005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
31904
31905 * kern/mm.c (grub_free): If the next free block which is being
31906 merged is the first free block, set the first block to the block
31907 being freed.
31908 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
31909
89371b20 319102005-05-08 Hollis Blanchard <hollis@penguinppc.org>
31911
31912 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
31913 `grub_ieee1275_chosen'.
31914
168d6e58 319152005-05-08 Hollis Blanchard <hollis@penguinppc.org>
31916
31917 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
31918 (grub_ieee1275_chosen): New variable.
31919 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
31920 `chosen'.
31921 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
31922 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31923 Rename first argument to `phandle' for consistency.
31924 (grub_ieee1275_get_property_length): Likewise.
31925 (grub_ieee1275_next_property): Likewise. Change type of first argument
31926 to grub_ieee1275_phandle_t.
31927 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
31928 Move export next to declaration.
31929 (grub_ieee1275_chosen): New variable.
31930 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
31931 Correct cosmetic typo.
31932 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
31933 `grub_ieee1275_chosen'.
31934 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
31935 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
31936 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
31937 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
31938 `grub_ieee1275_chosen'.
31939
ca5baa3f 319402005-05-10 Hollis Blanchard <hollis@penguinppc.org>
31941
31942 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
31943 /chosen/bootargs.
31944 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
31945 /chosen/bootargs as "variable=value" pairs.
31946
708b345f 319472005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
31948
31949 * include/grub/misc.h (grub_dprintf): New macro.
31950 (grub_real_dprintf): New prototype.
31951 (grub_strword): Likewise.
31952 (grub_iswordseparator): Likewise.
31953 * kern/misc.c (grub_real_dprintf): New function.
31954 (grub_strword): Likewise.
31955 (grub_iswordseparator): Likewise.
31956
f4c5e67c 319572005-04-30 Hollis Blanchard <hollis@penguinppc.org>
31958
31959 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
31960 (roundup): Remove macro.
31961 (grub_ieee1275_flags): Make static.
31962 (grub_ieee1275_realmode): Remove.
31963 (grub_ieee1275_test_flag): New function.
31964 (grub_ieee1275_set_flag): Likewise.
31965 (find_options): Rename to `grub_ieee1275_find_options'; update
31966 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
31967 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
31968 (cmain): New prototype.
31969 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
31970 `grub_ieee1275_flags' directly.
31971 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
31972 machine/biosdisk.h.
31973 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
31974 Don't include grub/machine/init.h.
31975 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
31976 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31977 Remove prototype.
31978 (grub_ieee1275_realmode): Likewise.
31979 (grub_ieee1275_flag): New enum.
31980 (grub_ieee1275_test_flag): New prototype.
31981 (grub_ieee1275_set_flag): New prototype.
31982 * include/grub/powerpc/ieee1275/init.h: Remove file.
31983 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
31984 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
31985 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
31986 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
31987 comment.
31988 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
31989 `grub_ieee1275_test_flag'.
31990 (grub_ieee1275_encode_devname): Likewise.
31991
ed16607e 319922005-04-21 Hollis Blanchard <hollis@penguinppc.org>
31993
31994 * include/grub/powerpc/ieee1275/ieee1275.h
31995 (grub_ieee1275_encode_devname): New prototype.
31996 (grub_ieee1275_get_filename): Likewise.
31997 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
31998 function.
31999 (grub_set_prefix): Likewise.
32000 (grub_machine_init): Call grub_set_prefix.
32001 * kern/powerpc/ieee1275/openfw.c: Fix typos.
32002 (grub_parse_type): New enum.
32003 (grub_ieee1275_get_devargs): New function.
32004 (grub_ieee1275_get_devname): Likewise.
32005 (grub_ieee1275_parse_args): Likewise.
32006 (grub_ieee1275_get_filename): Likewise.
32007 (grub_ieee1275_encode_devname): Likewise.
32008
be369920 320092005-03-30 Marco Gerards <metgerards@student.han.nl>
32010
32011 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
32012 `grub_loader_unset'.
32013
a5ce3a4a 320142005-03-26 Hollis Blanchard <hollis@penguinppc.org>
32015
32016 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
32017 instead of grub_ieee1275_interpret.
32018 (grub_halt_init): New function.
32019 (grub_halt_fini): Likewise.
32020 (GRUB_MOD_INIT): Correct message grammar.
32021 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
32022 instead of grub_ieee1275_interpret.
32023 (grub_reboot_init): New function.
32024 (grub_reboot_fini): Likewise.
32025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
32026 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
32027 util/i386/pc/misc.c with commands/ieee1275/halt.c,
32028 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
32029 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
32030 function.
32031 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
32032 Add prototype.
32033 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
32034 prototype.
32035 (grub_halt): Likewise.
32036 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
32037 (cmain): Remove __attribute__((unused)).
32038 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
32039 (grub_heap_len): Likewise.
32040 (grub_machine_fini): New function.
32041 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
32042 (grub_halt): Likewise.
32043 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
32044 function.
32045 * util/powerpc/ieee1275/misc.c: New file.
32046
0058f771 320472005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32048
32049 * DISTLIST: New file.
32050 * gendistlist.sh: Likewise.
f19dbdb7 32051
0058f771 32052 * Makefile.in (COMMON_DISTFILES): Removed.
32053 (BOOT_DISTFILES): Likewise.
32054 (CONF_DISTFILES): Likewise.
32055 (DISK_DISTFILES): Likewise.
32056 (FS_DISTFILES): Likewise.
32057 (INCLUDE_DISTFILES): Likewise.
32058 (KERN_DISTFILES): Likewise.
32059 (LOADER_DISTFILES): Likewise.
32060 (TERM_DISTFILES): Likewise.
32061 (UTIL_DISTFILES): Likewise.
32062 (DISTFILES): Likewise.
32063 (uninstall): Uninstall files in $(pkgdata_DATA).
32064 (DISTLIST): New target.
32065 (distdir): Use the contents of the file DISTLIST to get a list of
32066 distributed files.
32067
46b3b8a5 320682005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32069
32070 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
32071 descriptor. This is ported from GRUB Legacy.
32072
32073 * gencmdlist.sh: Added an extra semicolon to make it work with
32074 old sed versions. Reported by Robert Bihlmeyer
32075 <robbe@orcus.priv.at>.
32076
5822ff87 320772005-03-08 Yoshinori Okuji <okuji@enbug.org>
32078
32079 Automatic loading of commands is supported.
f19dbdb7 32080
5822ff87 32081 * normal/main.c (read_command_list): New function.
32082 (grub_normal_execute): Call read_command_list.
32083
32084 * normal/command.c (grub_register_command): Return zero or CMD.
32085 Allocate CMD->NAME from the heap.
32086 Initialize CMD->MODULE_NAME to zero.
32087 Find the same name as well. If the same command is found and it is
32088 a dummy command, overwrite members. If it is not a dummy command,
32089 return zero.
32090 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
32091 (grub_command_find): If a dummy command is found, load a module
32092 and retry to find a command only once.
32093
32094 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
32095 make sure that each command is loaded.
32096
32097 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
32098 macro.
32099 (struct grub_command): Remove const from the member `name'.
32100 Add a new member `module_name'.
32101 (grub_register_command): Return grub_command_t.
32102
32103 * commands/help.c (grub_cmd_help): Call grub_command_find to make
32104 sure that each command is loaded.
32105
32106 * genmk.rb (PModule::rule): Specify a module name without the
32107 suffix ".mod" to gencmdlist.sh.
32108
7b1f4b57 321092005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32110
32111 * gencmdlist.sh: New file.
f19dbdb7 32112
7b1f4b57 32113 * genmk.rb (PModule::rule): Generate a rule for a command list.
32114 Clean command.lst.
32115 Generate command.lst from $(COMMANDFILES).
32116
32117 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
32118 (DATA): Added $(pkgdata_DATA).
32119 (install-local): Install files in $(pkgdata_DATA).
32120
062aaf39 321212005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32122
32123 * term/i386/pc/vga.c (debug_command): Removed.
32124 (GRUB_MOD_INIT): Do not register the command "debug".
32125
32126 From Hollis Blanchard:
32127 * commands/configfile.c: New file.
32128 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32129 commands/configfile.c.
32130 (pkgdata_MODULES): Added configfile.mod.
32131 (configfile_mod_SOURCES): New variable.
32132 (configfile_mod_CFLAGS): Likewise.
32133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32134 commands/configfile.c.
32135 (pkgdata_MODULES): Added configfile.mod.
32136 (configfile_mod_SOURCES): New variable.
32137 (configfile_mod_CFLAGS): Likewise.
32138 * util/grub-emu.c (main): Call grub_configfile_init and
32139 grub_configfile_fini.
32140 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
32141 prototype.
32142 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 32143
cee01aa6 321442005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32145
32146 * normal/arg.c (grub_arg_show_help): Do not show the bug report
32147 address.
32148
32149 * commands/help.c (grub_cmd_help): Do not print newlines after
32150 the last command in print_command_help.
32151
93f3a1d8 321522005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32153
32154 * commands/default.h: New file.
32155 * commands/timeout.h: Likewise.
32156 * normal/context.c: Likewise.
f19dbdb7 32157
93f3a1d8 32158 * util/misc.c: Do not include sys/times.h.
32159 Include sys/time.h and grub/machine/time.h.
32160 (grub_get_rtc): Rewritten with gettimeofday.
32161
32162 * util/grub-emu.c (main): Call grub_default_init and
32163 grub_timeout_init before grub_normal_init, and call
32164 grub_timeout_fini and grub_default_fini after grub_main.
32165
32166 * util/console.c (grub_ncurses_checkkey): Return the read
32167 character or -1.
32168
32169 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
32170 timeouts.
32171
32172 * normal/main.c (read_config_file): Push MENU. If this fails,
32173 print an error and wait for a user input.
32174 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
32175 If a menu is empty or an error occurs, pop MENU.
32176 (grub_normal_execute): Pop and free MENU after grub_menu_run
32177 returns.
32178
32179 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
32180
32181 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
32182 include time.h.
32183 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32184 without GRUB_UTIL.
32185 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
32186 time.h.
32187 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32188 without GRUB_UTIL.
32189
32190 * include/grub/normal.h (struct grub_menu_list): New struct.
32191 (grub_menu_list_t): New type.
32192 (struct grub_context): New struct.
32193 (grub_context_t): New type.
32194 (grub_register_command): Got rid of EXPORT_FUNC.
32195 (grub_unregister_command): Likewise.
32196 (grub_context_get): New prototype.
32197 (grub_context_get_current_menu): Likewise.
32198 (grub_context_push_menu): Likewise.
32199 (grub_context_pop_menu): Likewise.
32200 [GRUB_UTIL] (grub_default_init): Likewise.
32201 [GRUB_UTIL] (grub_default_fini): Likewise.
32202 [GRUB_UTIL] (grub_timeout_init): Likewise.
32203 [GRUB_UTIL] (grub_timeout_fini): Likewise.
32204
32205 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
32206 commands/timeout.c and normal/context.c.
32207 (pkgdata_MODULES): Added default.mod and timeout.mod.
32208 (normal_mod_SOURCES): Added normal/context.c.
32209 (default_mod_SOURCES): New variable.
32210 (default_mod_CFLAGS): Likewise.
32211 (timeout_mod_SOURCES): Likewise.
32212 (timeout_mod_CFLAGS): Likewise.
32213 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
32214 conf/i386-pc.rmk.
32215 (pkgdata_MODULES): Added default.mod and timeout.mod.
32216 (normal_mod_SOURCES): Added normal/context.c.
32217 (default_mod_SOURCES): New variable.
32218 (default_mod_CFLAGS): Likewise.
32219 (timeout_mod_SOURCES): Likewise.
32220 (timeout_mod_CFLAGS): Likewise.
32221
32222 * Makefile.in (all-local): Added $(MKFILES).
32223
4ed2e1dd 322242005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
32225
32226 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
32227 (grub_emu_SOURCES): Likewise.
32228 (pkgdata_MODULES): Add `sun.mod'.
32229 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32231 `partmap/sun.c'.
32232 (pkgdata_MODULES): Add `sun.mod'.
32233 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32234 * include/grub/partition.h (grub_sun_partition_map_init): New
32235 prototype.
32236 (grub_sun_partition_map_fini): Likewise.
32237 * partmap/sun.c: New file.
32238 * util/grub-emu.c (main): Initialize and de-initialize the sun
32239 partitionmap support.
32240
4d4e372e 322412005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
32242
32243 This implements an Emacs-like menu entry editor.
f19dbdb7 32244
4d4e372e 32245 * normal/menu_entry.c: New file.
f19dbdb7 32246
4d4e372e 32247 * util/console.c (grub_ncurses_putchar): Translate some Unicode
32248 characters to ASCII.
32249 (saved_char): New variable.
32250 (grub_ncurses_checkkey): Rewritten completely.
32251 (grub_ncurses_getkey): Likewise.
32252 (grub_ncurses_init): Call raw instead of cbreak.
32253
32254 * normal/menu.c (print_entry): Do not put a space.
32255 (init_page): Renamed to ...
32256 (grub_menu_init_page): ... this. All callers changed.
32257 (edit_menu_entry): Removed.
32258 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
32259
32260 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
32261
32262 * kern/misc.c (grub_vprintf): Call grub_refresh.
32263
32264 * normal/menu.c (DISP_LEFT): Renamed to ...
32265 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
32266 * normal/menu.c (DISP_UP): Renamed to ...
32267 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
32268 * normal/menu.c (DISP_RIGHT): Renamed to ...
32269 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
32270 * normal/menu.c (DISP_DOWN): Renamed to ...
32271 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
32272 * normal/menu.c (DISP_HLINE): Renamed to ...
32273 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
32274 * normal/menu.c (DISP_VLINE): Renamed to ...
32275 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
32276 * normal/menu.c (DISP_UL): Renamed to ...
32277 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
32278 * normal/menu.c (DISP_UR): Renamed to ...
32279 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
32280 * normal/menu.c (DISP_LL): Renamed to ...
32281 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
32282 * normal/menu.c (DISP_LR): Renamed to ...
32283 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
32284 * normal/menu.c (TERM_WIDTH): Renamed to ...
32285 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
32286 * normal/menu.c (TERM_HEIGHT): Renamed to ...
32287 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
32288 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
32289 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
32290 * normal/menu.c (TERM_MARGIN): Renamed to ...
32291 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
32292 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
32293 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
32294 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
32295 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
32296 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
32297 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
32298 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
32299 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
32300 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
32301 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
32302 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
32303 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
32304 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
32305 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
32306 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
32307 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
32308 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
32309 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
32310 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
32311 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
32312 All callers changed.
32313
32314 * include/grub/normal.h: New prototype.
32315
32316 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32317 normal/menu_entry.c.
32318 (normal_mod_SOURCES): Likewise.
32319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32320 (normal_mod_SOURCES): Likewise.
32321
e6b92c8a 323222005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
32323
32324 * include/grub/normal.h (grub_halt_init): New prototype.
32325 (grub_halt_fini): Likewise.
32326 (grub_reboot_init): Likewise.
32327 (grub_reboot_fini): Likewise.
32328
32329 * util/grub-emu.c: Include signal.h.
32330 (main_env): New global variable.
32331 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
32332 catch C-c.
32333 (grub_machine_fini): New function.
32334 (main): Call grub_halt_init and grub_reboot_init before
32335 grub_main, and grub_reboot_fini and grub_halt_fini after it.
32336 Call setjmp with MAIN_ENV to go back afterwards.
32337 Call grub_machine_fini right before return.
32338
32339 * include/grub/util/misc.h: Include setjmp.h.
32340 (main_env): New prototype.
32341
32342 * include/grub/kernel.h (grub_machine_fini): New prototype.
32343 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
32344 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
32345
32346 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
32347 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
32348 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 32349
e6b92c8a 32350 * util/i386/pc/misc.c: New file.
f19dbdb7 32351
e6b92c8a 32352 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32353 util/i386/pc/misc.c, commands/i386/pc/halt.c and
32354 commands/i386/pc/reboot.c.
32355
c642636f 323562005-02-14 Guillem Jover <guillem@hadrons.org>
32357
32358 * include/grub/dl.h (grub_dl_check_header): New prototype.
32359 (grub_arch_dl_check_header): Change return type to grub_err_t,
32360 remove size parameter and export function. Update all callers.
32361 * kern/dl.c (grub_dl_check_header): New function.
32362 (grub_dl_load_core): Use `grub_dl_check_header' instead of
32363 `grub_arch_dl_check_header'. Check ELF type. Check if sections
32364 are inside the core.
32365 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
32366 independent ELF header checks.
32367 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
32368 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
32369 `grub_dl_check_header' instead of explicit checks. Check for the
32370 ELF type.
32371 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
32372 `grub_dl_check_header' instead of explicit checks. Remove arch
32373 specific ELF header checks.
32374
e6b92c8a 32375 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
32376 argument SIZE.
32377
5eabe94b 323782005-02-13 Hollis Blanchard <hollis@penguinppc.org>
32379
32380 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
32381 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
32382
1b14a681 323832005-02-12 Hollis Blanchard <hollis@penguinppc.org>
32384
32385 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 32386 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 32387 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 32388 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 32389 * partmap/amiga.c (amiga_partition_map_iterate): Return
32390 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
32391 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32392
aca108aa 323932005-02-01 Guillem Jover <guillem@hadrons.org>
32394
32395 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
32396 help info.
32397
c9f9c556 323982005-01-31 Marco Gerards <metgerards@student.han.nl>
32399
32400 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
32401 Removed prototype.
32402 (grub_rescue_cmd_linux): New prototype.
32403 (grub_rescue_cmd_initrd): Likewise.
32404 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
32405 `bi_rec'.
32406 (grub_linux_release_mem): Release the memory for the initrd.
32407 (grub_load_linux): Renamed from this...
32408 (grub_rescue_cmd_linux): ...To this. Changed all callers.
32409 Changed `entry' not to be static. Loop over memory regions to
32410 find another one when the default fails.
32411 (grub_rescue_cmd_initrd): New function.
32412 (grub_linux_init): Remove function.
32413 (grub_linux_fini): Likewise.
32414 (GRUB_MOD_INIT): Register `initrd'.
32415 (GRUB_MOD_FINI): Unregister `initrd'.
32416 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
32417 Function removed.
32418 (grub_linux_normal_fini): Likewise.
32419 (GRUB_MOD_INIT): Register `initrd'.
32420 (GRUB_MOD_FINI): Unregister `initrd'.
32421
990cf3aa 324222005-01-31 Marco Gerards <metgerards@student.han.nl>
32423
32424 * commands/help.c: New file.
32425 * normal/arg.c (show_help): Renamed to...
32426 (grub_arg_show_help): ... this.
32427 * commands/i386/pc/halt.c: New file.
32428 * commands/i386/pc/reboot.c: Likewise.
32429 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
32430 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
32431 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
32432 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
32433 variables.
32434 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32435 `commands/help.c'.
32436 (pkgdata_MODULES): Add `help.mod'.
32437 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
32438 * grub/i386/pc/init.h (grub_reboot): New prototype.
32439 (grub_halt): Likewise.
32440 * include/grub/normal.h (grub_arg_show_help): New prototype.
32441 (grub_help_init): Likewise.
32442 (grub_help_fini): Likewise.
32443 * util/grub-emu.c (main): Initialize and deinitialize the help
32444 command.
32445
32446 * normal/cmdline.c (grub_cmdline_get): Doc fix.
32447
32448 * normal/command.c (grub_command_init): Fixed the description of
32449 the `set' and `unset' commands.
32450
324512005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 32452
32453 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
32454 function.
32455 * commands/ieee1275/halt.c: New file.
32456 * commands/ieee1275/reboot.c: Likewise.
32457 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
32458 `__attribute__ ((unused))'. Some GCS related fixed.
32459 (grub_suspend_init) [GRUB_UTIL]: Function removed.
32460 (grub_suspend_fini): Likewise.
32461 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
32462 and `halt.mod'.
32463 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
32464 (halt_mod_CFLAGS): New variables.
32465 * include/grub/powerpc/ieee1275/ieee1275.h
32466 (grub_ieee1275_interpret): New prototype.
32467
1ab09cc7 324682005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
32469
32470 * include/grub/misc.h (memmove): New prototype.
32471 (memcpy): Likewise.
32472
8b8cbdb2 324732005-01-22 Hollis Blanchard <hollis@penguinppc.org>
32474
32475 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
32476 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
32477
e3741a27 324782005-01-22 Marco Gerards <metgerards@student.han.nl>
32479
32480 * kern/misc.c (grub_strndup): Function rewritten.
32481
776bd780 324822005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
32483
32484 * normal/menu.c (TERM_WIDTH): Macro redefined.
32485 (TERM_TOP_BORDER_Y): Likewise.
32486 (draw_border): Replaced while-loop by a for-loop. Make the number
32487 of lines consistent with the number of lines displayed in
32488 print_entries. Added a margin below the rectangle.
32489 (print_entry): Make the entry fit in the rectangle.
32490 (print_entries): Display the scroll arrows next to the right
32491 border.
32492
78026bce 324932005-01-21 Marco Gerards <metgerards@student.han.nl>
32494
32495 * fs/minix.c (grub_minix_find_file): Reserve more space for
32496 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
32497 `grub_strncpy' to copy `path' into it.
32498
67bbaf0f 324992005-01-21 Marco Gerards <metgerards@student.han.nl>
32500
32501 Add the loopback device, a device via which files can be accessed
32502 as devices.
f19dbdb7 32503
67bbaf0f 32504 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
32505 (pkgdata_MODULES): Add loopback.mod.
32506 (loopback_mod_SOURCES): New variable.
32507 (loopback_mod_CFLAGS): Likewise.
32508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32509 `disk/loopback.c'.
32510 (pkgdata_MODULES): Add loopback.mod.
32511 (loopback_mod_SOURCES): New variable.
32512 (loopback_mod_CFLAGS): Likewise.
32513 * disk/loopback.c: new file.
32514 * include/grub/normal.h (grub_loop_init): New prototype.
32515 (grub_loop_fini): New prototype.
32516 * util/grub-emu.c (main): Initialize and de-initialize loopback
32517 support.
32518 * include/grub/disk.h (grub_disk_dev_id): Add
32519 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
32520
6f1c18bd 325212005-01-20 Hollis Blanchard <hollis@penguinppc.org>
32522
32523 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
32524 function.
32525 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
32526 (suspend_mod_SOURCES): New variable.
32527 (suspend_mod_CFLAGS): Likewise.
32528 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
32529 New prototype.
32530 * commands/ieee1275/suspend.c: New file.
32531
b38551da 325322005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
32533
32534 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 32535 ((unused))' to `__attribute__ ((used))'.
b38551da 32536 (GRUB_MOD_FINI): Likewise.
32537 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
32538 * genmk.rb (PModule): Assign space to common symbols when linking
32539 modules.
32540
777aff39 325412005-01-20 Marco Gerards <metgerards@student.han.nl>
32542
32543 * include/grub/mm.h (grub_mm_init_region): Change the type of the
32544 `unsigned' arguments to `grub_size_t'.
32545 (grub_malloc): Likewise.
32546 (grub_realloc): Likewise.
32547 (grub_memalign): Likewise.
32548 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
32549 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
32550 * util/misc.c (grub_malloc): Likewise.
32551 (grub_realloc): Likewise.
32552 * kern/mm.c (get_header_from_pointer): Change the casts to
32553 `unsigned' into a cast to `grub_size_t'.
32554
32555 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
32556 point to `currnode' when `currnode' is changed.
32557
32558 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
32559 Schottelius <nico-linux@schottelius.org>.
32560
d0ff18e1 325612005-01-09 Hollis Blanchard <hollis@penguinppc.org>
32562
32563 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
32564 (note_path): Remove variable.
32565 (GRUB_IEEE1275_NOTE_NAME): New macro.
32566 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
32567 (grub_ieee1275_note_hdr): New structure.
32568 (grub_ieee1275_note_desc): Likewise.
32569 (grub_ieee1275_note): Likewise.
32570 (load_note): Remove `dir' argument. All callers updated. Remove
32571 `note_img' and `path'. Do not load a file from `note_path'.
32572 Initialize a struct grub_ieee1275_note and write that to `out'.
32573 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
32574
4ca7004c 325752005-01-05 Marco Gerards <metgerards@student.han.nl>
32576
32577 * util/misc.c (grub_util_read_image): Revert last change. It
32578 called `grub_util_read_at', which seeks from the beginning of the
32579 file.
32580
0b412211 325812005-01-04 Hollis Blanchard <hollis@penguinppc.org>
32582
32583 * TODO: Add note about endianness in grub-mkimage.
32584 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
32585 section.
32586 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
32587 (grub_mkimage_SOURCES): New target.
32588 * include/grub/kernel.h (grub_start_addr): Remove variable.
32589 (grub_end_addr): Likewise.
32590 (grub_total_module_size): Likewise.
32591 (grub_kernel_image_size): Likewise.
32592 (GRUB_MODULE_MAGIC): New constant.
32593 (grub_module_info): New structure.
32594 (grub_arch_modules_addr): New prototype.
32595 (grub_get_end_addr): Remove prototype.
32596 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
32597 * include/grub/powerpc/ieee1275/kernel.h: New file.
32598 * include/grub/util/misc.h (grub_util_get_fp_size): New
32599 prototype.
32600 (grub_util_read_at): Likewise.
32601 (grub_util_write_image_at): Likewise.
32602 * kern/main.c (grub_get_end_addr): Remove function.
32603 (grub_load_modules): Call grub_arch_modules_addr instead of using
32604 grub_end_addr. Look for a grub_module_info struct in memory. Use
32605 the grub_module_info fields instead of calling grub_get_end_addr
32606 as loop conditions. Move grub_add_unused_region code here.
32607 (grub_add_unused_region): Remove function.
32608 * kern/i386/pc/init.c: Include grub/cache.h.
32609 (grub_machine_init): Remove call to grub_get_end_addr. Remove
32610 one call to add_mem_region.
32611 (grub_arch_modules_addr): New function.
32612 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
32613 (grub_total_module_size): Likewise.
32614 Include grub/machine/kernel.h.
32615 (grub_arch_modules_addr): New function.
32616 * util/grub-emu.c (grub_end_addr): Remove variable.
32617 (grub_total_module_size): Likewise.
32618 (grub_arch_modules_addr): New function.
32619 * util/misc.c: Include unistd.h.
32620 (grub_util_get_fp_size): New function.
32621 (grub_util_read_at): Likewise.
32622 (grub_util_write_image_at): Likewise.
32623 (grub_util_read_image): Call grub_util_read_at.
32624 (grub_util_write_image): Call grub_util_write_image_at.
32625 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
32626 additional memory in kernel_img for a struct grub_module_info.
32627 Fill in that grub_module_info.
32628 * util/powerpc/ieee1275/grub-mkimage.c: New file.
32629
458786f8 326302005-01-03 Hollis Blanchard <hollis@penguinppc.org>
32631
32632 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
32633 New function.
32634 * include/grub/powerpc/ieee1275/ieee1275.h
32635 (grub_ieee1275_milliseconds): New prototype.
32636 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
32637 Change to 1000.
32638 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
32639 grub_ieee1275_milliseconds.
32640
ac507d1b 326412005-01-03 Hollis Blanchard <hollis@penguinppc.org>
32642
32643 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
32644 variable.
32645 (find_options): New function.
32646 (cmain): Call find_options.
32647 * include/grub/powerpc/ieee1275/ieee1275.h
32648 (grub_ieee1275_realmode): New extern variable.
32649 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
32650 grub_map if grub_ieee1275_realmode is false.
32651
6b8fd1c4 326522004-12-29 Marco Gerards <metgerards@student.han.nl>
32653
32654 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
32655 lines are inserted and make it work like readline. Reported by
32656 Vincent Pelletier <subdino2004@yahoo.fr>.
32657
8514a1e0 326582004-12-28 Marco Gerards <metgerards@student.han.nl>
32659
32660 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
32661
32662 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
32663 `kern/powerpc/cache.S'.
32664
924b6140 326652004-12-27 Marco Gerards <metgerards@student.han.nl>
32666
32667 * genmk.rb: Handle the `Program' class in the main loop. Written
32668 by Johan Rydberg <jrydberg@gnu.org>.
32669 (Program): New class.
32670 (programs): New variable.
32671 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
32672 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
32673 instead of "grub/kernel.h". Include <grub/machine/init.h>.
32674 (help_arch): Function removed.
32675 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
32676 `powerpc/libgcc.h' and `loader.h'.
32677 (pkgdata_PROGRAMS): New variable.
32678 (sbin_UTILITIES): Variable removed.
32679 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
32680 (grubof_SOURCES): Variable re-defined so it only includes the
32681 core functionality.
32682 (grubof_CFLAGS): Remove `-DGRUBOF'.
32683 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
32684 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
32685 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
32686 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
32687 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
32688 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
32689 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
32690 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
32691 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
32692 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
32693 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
32694 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
32695 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
32696 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
32697 (pc_mod_CFLAGS): New variables.
32698 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
32699 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
32700 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
32701 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
32702 Moved from here...
32703 * include/grub/i386/pc/init.h (grub_os_area_addr)
32704 (rub_os_area_size): ... to here.
32705 * include/grub/powerpc/ieee1275/ieee1275.h
32706 (grub_ieee1275_entry_fn): Export symbol.
32707 * include/grub/powerpc/ieee1275/init.h: New file.
32708 * include/grub/powerpc/libgcc.h: Likewise.
32709 * include/grub/cache.h: Likewise.
32710 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
32711 <hollis@penguinppc.org>.
32712 * kern/dl.c: Include <grub/cache.h>.
32713 (grub_dl_flush_cache): New function.
32714 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
32715 for this module.
32716 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
32717 (grub_console_init): Removed prototypes.
32718 (grub_machine_init): Don't initialize the modules anymore.
32719 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
32720 static.
32721 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
32722 Macro undef removed.
32723 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
32724 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
32725 relocation `R_PPC_REL32'. Return an error when the relocation is
32726 unknown.
32727 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
32728 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
32729 * util/misc.c (grub_arch_sync_caches): Likewise.
32730
e4b47e0c 327312004-12-19 Marco Gerards <metgerards@student.han.nl>
32732
32733 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
32734 `symlist.c', add `grubof_symlist.c'.
32735 (symlist.c): Variable removed.
32736 (grubof_HEADERS): Variable added.
32737 (grubof_symlist.c): New target.
32738 (kernel_syms.lst): Use `grubof_HEADERS' instead of
32739 `kernel_img_HEADERS'.
32740 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
32741 * kern/powerpc/dl.c: New file.
32742 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
32743 Function removed.
32744 (grub_arch_dl_relocate_symbols): Likewise.
32745 (grub_register_exported_symbols): Likewise.
32746
4ceb3636 327472004-12-13 Marco Gerards <metgerards@student.han.nl>
32748
32749 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
32750 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
32751 to fail instead. Reported by Vincent Pelletier
32752 <subdino2004@yahoo.fr>.
32753
32754 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
32755 it is not allocated. Reported by Vincent Pelletier
32756 <subdino2004@yahoo.fr>.
32757
32758 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
32759 output so the output looks better.
f19dbdb7 32760
3f1578fe 327612004-12-04 Marco Gerards <metgerards@student.han.nl>
32762
32763 Modulize the partition map support and add support for the amiga
32764 partition map.
f19dbdb7 32765
3f1578fe 32766 * commands/ls.c: Include <grub/partition.h> instead of
32767 <grub/machine/partition.h>.
32768 * kern/disk.c: Likewise.
32769 * kern/rescue.c: Likewise.
32770 * loader/i386/pc/chainloader.c: Likewise.
32771 * normal/cmdline.c: Likewise.
32772 * kern/powerpc/ieee1275/init.c: Likewise.
32773 (grub_machine_init): Call `grub_pc_partition_map_init',
32774 `grub_amiga_partition_map_init' and
32775 `grub_apple_partition_map_init'.
32776 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
32777 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
32778 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
32779 `partition.h' and `pc_partition.h'.
32780 (grub_setup_SOURCES): Remove
32781 `disk/i386/pc/partition.c'. Add `kern/partition.c',
32782 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
32783 (grub_emu_SOURCES): Likewise.
32784 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
32785 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
32786 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
32787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
32788 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
32789 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
32790 (grubof_SOURCES): Likewise.
32791 * disk/i386/pc/partition.c: File removed.
32792 * disk/powerpc/ieee1275/partition.c: Likewise.
32793 * include/grub/powerpc/ieee1275/partition.h: Likewise.
32794 * include/grub/i386/pc/partition.h: Likewise.
32795 * kern/partition.c: New file.
32796 * partmap/amiga.c: Likewise.
32797 * partmap/apple.c: Likewise.
32798 * partmap/pc.c: Likewise.
32799 * include/grub/partition.h: Likewise..
32800 * include/grub/pc_partition.h: Likewise.
32801 * util/grub-emu.c: Include <grub/partition.h> instead of
32802 <grub/machine/partition.h>.
32803 (main): Call `grub_pc_partition_map_init',
32804 `grub_amiga_partition_map_init' and
32805 `grub_apple_partition_map_init' and deinitialize afterwards.
32806 * util/i386/pc/biosdisk.c: Include `#include
32807 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
32808 `<grub/machine/partition.h>'.
32809 * util/i386/pc/grub-setup.c: Likewise.
32810 * util/i386/pc/biosdisk.c: Likewise.
32811 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
32812 partition information in case of a PC partition.
32813 * util/i386/pc/grub-setup.c: Include `#include
32814 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
32815 `<grub/machine/partition.h>'.
32816 (setup): Only access the PC specific partition information in case
32817 of a PC partition.
32818
0ef4ced9 328192004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 32820
0ef4ced9 32821 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
32822 (grub_longjmp): Likewise.
32823 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
32824 20.
32825 * normal/powerpc/setjmp.S: New file.
32826 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
32827 `normal/powerpc/setjmp.S'.
32828 (grubof_CFLAGS): Add `-DGRUBOF'.
32829 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
32830 [GRUB_UTIL && !GRUBOF].
f19dbdb7 32831
19950e29 328322004-11-16 Marco Gerards <metgerards@student.han.nl>
32833
32834 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
32835 property named `name'. Correctly handle the error returned by
32836 `grub_ieee1275_finddevice' if a device can not be opened.
32837
a2fea427 328382004-11-02 Hollis Blanchard <hollis@penguinppc.org>
32839
32840 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
32841 `actual' for negativity.
32842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
32843 kern/fshelp.c.
32844
41ea0ea3 328452004-11-01 Marco Gerards <metgerards@student.han.nl>
32846
32847 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
32848 (PAGE_OFFSET): New macro.
32849 (CRTC_ADDR_PORT): Likewise.
32850 (CRTC_DATA_PORT): Likewise.
32851 (START_ADDR_HIGH_REGISTER): Likewise.
32852 (START_ADDR_LOW_REGISTER): Likewise.
32853 (GRAPHICS_ADDR_PORT): Likewise.
32854 (GRAPHICS_DATA_PORT): Likewise.
32855 (READ_MAP_REGISTER): Likewise.
32856 (INPUT_STATUS1_REGISTER): Likewise.
32857 (INPUT_STATUS1_VERTR_BIT): Likewise.
32858 (page): New variable.
32859 (wait_vretrace): New function.
32860 (set_read_map): Likewise.
32861 (set_start_address): Likewise.
32862 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
32863 the right page.
32864 (check_vga_mem): Take the page into account.
32865 (write_char): Likewise.
32866 (write_cursor): Likewise.
32867 (scroll_up): Likewise. Copy the page to the page that is not
32868 shown and switch between both pages.
32869 (grub_vga_putchar): Fix off by one error.
32870 (grub_vga_cls): Wait for the vertical retrace. Take the page into
32871 account.
32872
ad0bd20b 328732004-11-01 Marco Gerards <metgerards@student.han.nl>
32874
32875 Add support for iso9660 (including rockridge).
f19dbdb7 32876
ad0bd20b 32877 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
32878 (iso9660_mod_SOURCES): New variable.
32879 (iso9660_mod_CFLAGS): Likewise.
32880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
32881 * include/grub/fs.h (grub_iso9660_init): New prototype.
32882 * util/grub-emu.c (main): Call `grub_iso9660_init'.
32883 * fs/iso9660.c: New file.
32884
32885 * include/grub/misc.h (grub_strncat): New prototype.
32886 * kern/misc.c (grub_strncat): New function.
f19dbdb7 32887
ad0bd20b 32888 * fs/hfs.c (grub_hfs_mount): Translate the error
32889 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
32890 * fs/jfs.c (grub_jfs_mount): Likewise.
32891 * fs/ufs.c (grub_ufs_mount): Likewise.
32892
a5477a59 328932004-10-28 Hollis Blanchard <hollis@penguinppc.org>
32894
32895 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
32896 which initialized BAT registers.
32897 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
32898 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
32899 Move from here...
32900 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
32901 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
32902 ... to here.
32903 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
32904 (grub_mapclaim): Likewise.
32905 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
32906 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
32907 hand.
32908
9304c1f8 329092004-10-19 Hollis Blanchard <hollis@penguinppc.org>
32910
32911 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
32912 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
32913 -ffreestanding and -msoft-float.
32914
86f4ae25 329152004-10-15 Hollis Blanchard <hollis@penguinppc.org>
32916
32917 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
32918 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
32919 set in grub_ieee1275_flags.
32920
38912228 329212004-10-14 Hollis Blanchard <hollis@penguinppc.org>
32922
32923 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
32924 prototype.
32925 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
32926 grub_console_init first.
32927 Change the memory range used for grub_ieee1275_claim and
32928 grub_mm_init_region.
32929 Print an error message if the claim fails.
32930 Include <grub/misc.h>.
32931
d1923dc8 329322004-10-13 Hollis Blanchard <hollis@penguinppc.org>
32933
32934 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
32935 Call grub_children_iterate for device nodes of type `scsi',
32936 `ide', or `ata'.
32937 (grub_ofdisk_open): Remove manual device alias resolution.
32938 Fix memory leak when device cannot be opened.
f19dbdb7 32939 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 32940 (grub_children_iterate): New prototype.
32941 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
32942 New function.
32943 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32944 Return -1 if args.size was -1.
32945
4512e4f3 329462004-10-11 Hollis Blanchard <hollis@penguinppc.org>
32947
32948 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
32949 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
32950 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
32951 Open Firmware's memory for it; claim memory from _start to _end.
32952 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
32953 (_end): New extern.
32954 (_start): Zero BSS from __bss_start to _end.
32955 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32956 New extern.
32957 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
32958
4d61feb0 329592004-10-11 Hollis Blanchard <hollis@penguinppc.org>
32960
ad0bd20b 32961 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
32962 -1 if args.base was -1.
4d61feb0 32963
026fa2f9 329642004-10-08 Hollis Blanchard <hollis@penguinppc.org>
32965
32966 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
32967 escape sequence instead of a literal ^L. Also call
32968 grub_ofconsole_gotoxy.
32969
9f2220ef 329702004-10-03 Hollis Blanchard <hollis@penguinppc.org>
32971
32972 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
32973 void * arguments to grub_addr_t. All callers updated. Also make
32974 the `result' argument optional.
32975 (grub_ieee1275_release): change void * arguments to grub_addr_t.
32976 All callers updated.
32977
8a572cd7 329782004-09-22 Hollis Blanchard <hollis@penguinppc.org>
32979
32980 * commands/ls.c (grub_ls_list_files): Use the string following the
32981 initial ')', if present, as the filesystem path.
32982 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
32983
32984 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
32985
18aa81f2 329862004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
32987
32988 Make the source code of the menu interface more readable.
f19dbdb7 32989
18aa81f2 32990 * normal/menu.c: Include grub/mm.h.
32991 (TERM_WIDTH): New macro.
32992 (TERM_HEIGHT): Likewise.
32993 (TERM_INFO_HEIGHT): Likewise.
32994 (TERM_MARGIN): Likewise.
32995 (TERM_SCROLL_WIDTH): Likewise.
32996 (TERM_TOP_BORDER_Y): Likewise.
32997 (TERM_LEFT_BORDER_X): Likewise.
32998 (TERM_BORDER_WIDTH): Likewise.
32999 (TERM_MESSAGE_HEIGHT): Likewise.
33000 (TERM_BORDER_HEIGHT): Likewise.
33001 (TERM_NUM_ENTRIES): Likewise.
33002 (TERM_FIRST_ENTRY_Y): Likewise.
33003 (TERM_ENTRY_WIDTH): Likewise.
33004 (TERM_CURSOR_X): Likewise.
33005 (draw_border): Use macros instead of magic numbers.
33006 (print_entry): Likewise.
33007 (print_entries): Likewise.
33008 (run_menu): Likewise. Also, handle the key 'e'.
33009 (run_menu_entry): Ignore empty command lines.
33010 (print_message): Added a new argument EDIT. If EDIT is true,
33011 print a different message.
33012 (init_page): Likewise.
33013 (edit_menu_entry): New function. Not implemented yet.
33014
b47efe30 330152004-09-17 Marco Gerards <metgerards@student.han.nl>
33016
33017 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
33018 can be loaded from normal mode.
f19dbdb7 33019
b47efe30 33020 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
33021 `multiboot.mod'.
33022 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
33023 (multiboot_mod_CFLAGS): New variables.
33024 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 33025 * loader/i386/pc/multiboot_normal.c: Likewise.
33026
b47efe30 33027 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
33028 attribute `unused'.
f19dbdb7 33029
b47efe30 33030 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
33031 `fdiro' to read the mode information from instead of `diro'.
33032
33033 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
33034 looking up a symlink.
33035
33036 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
33037 macro.
33038 * normal/command.c (grub_command_execute): Don't parse the
33039 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
33040 flags of the command.
33041
33042 * normal/menu.c (grub_menu_run): Fix typo.
33043
da75ac71 330442004-09-14 Hollis Blanchard <hollis@penguinppc.org>
33045
33046 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
33047
33048 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
33049 `y + 1' instead of `y - 1'.
33050
33051 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 33052
062b24c2 330532004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
33054
33055 From Hollis Blanchard <hollis@penguinppc.org>:
33056 * kern/misc.c (memmove): New alias for grub_memmove.
33057 (memcmp): New alias for grub_memcmp.
33058 (memset): New alias for grub_memset.
f19dbdb7 33059 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 33060 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 33061 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 33062 (grub_ieee1275_get_property): Likewise.
f19dbdb7 33063
8ddad845 330642004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
33065
33066 Added normal mode command `chainloader' as module chain.mod, which
33067 depends on normal.mod and _chain.mod.
f19dbdb7 33068
8ddad845 33069 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
33070 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
33071 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
33072 Deleted prototype.
33073 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
33074 but arguments parsing moved to ...
33075 (grub_chainloader_cmd): ... here. New function.
33076 * include/grub/i386/pc/chainloader.h: New file.
33077 * loader/i386/pc/chainloader_normal.c: Likewise.
33078
2c1f4ce3 330792004-09-11 Marco Gerards <metgerards@student.han.nl>
33080
33081 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
33082 (grub_mkimage_LDFLAGS): Likewise.
33083 (grub_emu_SOURCES): Likewise.
33084 (kernel_img_HEADERS): Added fshelp.h.
33085 * fs/ext2.c: Include <grub/fshelp.h>.
33086 (FILETYPE_REG): New macro.
33087 (FILETYPE_INO_REG): Likewise.
33088 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
33089 Changed all users.
33090 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
33091 all users.
33092 (grub_fshelp_node): New struct.
33093 (grub_ext2_data): Added member `diropen'. Changed member `inode'
33094 to a pointer.
33095 (grub_ext2_get_file_block): Removed function.
33096 (grub_ext2_read_block): New function.
33097 (grub_ext2_read_file): Replaced parameter `data' by `node'.
33098 This function was written.
33099 (grub_ext2_mount): Read the root inode. Create a diropen struct.
33100 (grub_ext2_find_file): Removed function.
33101 (grub_ext2_read_symlink): New function.
33102 (grub_ext2_iterate_dir): Likewise.
33103 (grub_ext2_open): Rewritten.
33104 (grub_ext2_dir): Rewritten.
33105 * include/grub/fshelp.h: New file.
33106 * fs/fshelp.c: Likewise.
33107
3c52136a 331082004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
33109
33110 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
33111 (print_message): Add a missing newline.
33112 (run_menu): Added timeout support.
33113 (run_menu_entry): New local function.
33114 (grub_menu_run): Added support for booting.
33115
33116 * kern/loader.c (grub_loader_is_loaded): New function.
33117
33118 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
33119 (grub_get_rtc): Exported.
33120
33121 * include/grub/i386/pc/time.h: Include grub/symbol.h.
33122 (grub_get_rtc): Exported.
33123
33124 * include/grub/normal.h (struct grub_command_list): Remove
33125 constant from the member `command'.
33126
33127 * include/grub/loader.h (grub_loader_is_loaded): Declared.
33128
33129 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
33130
33131 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
33132
aa033560 331332004-08-28 Marco Gerards <metgerards@student.han.nl>
33134
33135 Add support for the JFS filesystem.
33136
33137 * fs/jfs.c: New file.
33138 * include/grub/fs.h (grub_jfs_init): New prototype.
33139 (grub_jfs_fini): New prototype.
33140 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
33141 (grub_emu_SOURCES): Likewise.
33142 (pkgdata_MODULES): Add jfs.mod.
33143 (jfs_mod_SOURCES): New variable.
33144 (jfs_mod_CFLAGS): Likewise.
33145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
33146 (grubof_SOURCES): Likewise.
33147 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
33148
33149 * fs/fat.c (grub_fat_find_dir): Convert the filename little
33150 endian to the host endian.
33151 (grub_fat_utf16_to_utf8): Move function from there...
33152 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 33153 the endianness of the source string anymore.
aa033560 33154 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
33155
94bc45af 331562004-08-24 Marco Gerards <metgerards@student.han.nl>
33157
33158 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
33159 (grub_boot_fini) [GRUB_UTIL]: Likewise.
33160 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
33161 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 33162
94bc45af 33163 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
33164 (grub_hfs_iterate_dir): Make the function static. Add prototypes
33165 for `node_found' and `it_dir'.
33166 (grub_hfs_dir): Add prototype for `dir_hook'.
33167
33168 * fs/minix.c (grub_minix_get_file_block): Add prototype for
33169 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
33170 and `indir32' to silence a gcc warning.
33171
33172 * include/grub/fs.h (grub_hfs_init): New prototype.
33173 (grub_hfs_fini): Likewise.
f19dbdb7 33174
33175
97543f08 331762004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
33177
33178 Each disk device has its own id now. This is useful to make use
33179 of multiple disk devices.
f19dbdb7 33180
97543f08 33181 * include/grub/disk.h (grub_disk_dev_id): New enum.
33182 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
33183 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
33184
33185 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
33186 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33187
33188 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
33189 GRUB_DISK_DEVICE_OFDISK_ID as an id.
33190
33191 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
33192 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33193
33194 * include/grub/disk.h (struct grub_disk_dev): Added a new member
33195 "id" which is used by the cache manager.
33196
33197 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
33198 of just "GRUB".
33199
64372eb4 332002004-08-18 Marco Gerards <metgerards@student.han.nl>
33201
33202 * fs/hfs.c: New file.
33203 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
33204 (grub_emu_SOURCES): Likewise.
33205 (pkgdata_MODULES): Add hfs.mod.
33206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
33207 (grubof_SOURCES): Likewise.
33208 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
33209
33210 * include/grub/misc.h (grub_strncasecmp): Add prototype.
33211 * kern/misc.c (grub_strncasecmp): Add function.
33212
cc61b58f 332132004-08-14 Marco Gerards <metgerards@student.han.nl>
33214
33215 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
33216 with parentheses.
33217
33218 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
33219 (grub_ext2_dir): In case the directory entry type is unknown, read
33220 it from the inode.
33221
0ef123f6 332222004-08-02 Peter Bruin <pjbruin@dds.nl>
33223
33224 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
33225 grub_load_linux instead of grub_rescue_cmd_linux as second
33226 argument of grub_rescue_register_command.
33227
33228 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
33229
a447c5df 332302004-07-27 Marco Gerards <metgerards@student.han.nl>
33231
33232 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
33233 function.
33234 * commands/boot.c: Remove the check for `GRUB_UTIL'.
33235 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33236 `loader/powerpc/ieee1275/linux.c',
33237 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
33238 * include/grub/powerpc/ieee1275/ieee1275.h
33239 (grub_ieee1275_release): New prototype.
33240 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
33241 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
33242 normal, boot, linux and linux_normal.
33243 * loader/powerpc/ieee1275/linux.c: New file.
33244 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33245
5a9e3546 332462004-07-12 Marco Gerards <metgerards@student.han.nl>
33247
33248 * normal/arg.c (grub_arg_parse): Correct error handling after
33249 reallocating the argumentlist (check if `argl' is not null instead
33250 of checking if `args' is not null).
33251 * kern/mm.c (grub_realloc): Return the same pointer when using the
33252 same region, instead of returning the header address.
33253
e15199cb 332542004-07-11 Marco Gerards <metgerards@student.han.nl>
33255
33256 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
33257 one block instead of two when looking for the initial partition.
33258 (grub_partition_probe): Initialize the local variable `p' with 0.
33259 Use base 10 for the grub_strtoul call.
33260 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
33261 need for one local variable.
33262 (grub_strtoul): Don't add the new value to `num', instead of that
33263 just assign it.
33264
020616c2 332652004-07-11 Marco Gerards <metgerards@student.han.nl>
33266
33267 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
33268 (pxeboot_img_SOURCES): New variable.
33269 (pxeboot_img_ASFLAGS): Likewise.
33270 (pxeboot_img_LDFLAGS): Likewise.
33271 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
33272 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
33273 <lode_leroy@hotmail.com>.
33274
6c51eb64 332752004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33276
33277 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
33278 there was no input.
33279
cfb12aff 332802004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33281
33282 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
33283 the history buffer logic.
33284
6eabba74 332852004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33286
33287 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
33288 (FILETYPE_INO_SYMLINK): New macros.
33289 (grub_ext2_find_file): Check if the node is a directory using the
33290 inode stat information instead of using the filetype in the
33291 dirent. Exclude the first character of an absolute symlink.
33292 (grub_ext2_dir): Mask out the filetype part of the mode member of
33293 the inode.
33294
66e19ef8 332952004-05-24 Marco Gerards <metgerards@student.han.nl>
33296
33297 Add support for UFS version 1 and 2. Add support for the minix
33298 filesystem version 1 and 2, both the variants with 14 and 30 long
33299 filenames.
f19dbdb7 33300
66e19ef8 33301 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
33302 fs/minix.c.
33303 (grub_emu_SOURCES): Likewise.
33304 (pkgdata_MODULES): Add ufs.mod and minix.mod.
33305 (ufs_mod_SOURCES): New variable.
33306 (ufs_mod_CFLAGS): Likewise.
33307 (minix_mod_SOURCES): Likewise.
33308 (minix_mod_CFLAGS): Likewise.
33309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
33310 fs/minix.c.
33311 (grubof_SOURCES): Likewise.
33312 * fs/ufs.c: New file.
33313 * fs/minix.c: New file.
33314 * include/grub/fs.h (grub_ufs_init): New prototype.
33315 (grub_ufs_fini): Likewise.
33316 (grub_minix_init): Likewise.
33317 (grub_minix_fini): Likewise.
33318 * util/grub-emu.c (main): Initialize and deinitialize UFS and
33319 minix fs.
33320
cc2e748a 333212004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
33322
33323 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
33324 commands/ls.c, commands/terminal.c, commands/boot.c,
33325 commands/cmp.c and commands/cat.c.
33326 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
33327
33328 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
33329 "env.h"
33330
4b13b216 333312004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33332
33333 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
33334 and grub_, respectively. Because the conversion is trivial and
33335 mechanical, I omit the details here. Please refer to the CVS
33336 if you need more information.
33337
6a142551 333382004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33339
33340 * include/pupa: Renamed to ...
33341 * include/grub: ... this.
33342 * util/i386/pc/pupa-mkimage.c: Renamed to ...
33343 * util/i386/pc/grub-mkimage.c: ... this.
33344 * util/i386/pc/pupa-setup.c: Renamed to ...
33345 * util/i386/pc/grub-setup.c: ... this.
33346 * util/pupa-emu.c: Renamed to ...
33347 * util/grub-emu.c: ... this.
33348
e56cdf21 333492004-03-29 Marco Gerards <metgerards@student.han.nl>
33350
33351 Add support for the newworld apple macintosh (PPC). This has been
33352 tested on the powerbook 2000 only. It only adds support for
33353 generic ieee1275 functions, console and disk support. This should
33354 be easy to port to other architectures with support for Open
33355 Firmware.
f19dbdb7 33356
e56cdf21 33357 * configure.ac: Accept the powerpc as host_cpu. In the case of
33358 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
33359 specific tests are only executed while building for the i386.
33360 Inverse test for crosscompile.
33361 * genmk.rb (Utility): Allow assembler files.
33362 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
33363 * conf/powerpc-ieee1275.rmk: New file.
33364 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
33365 * disk/powerpc/ieee1275/partition.c: Likewise.
33366 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
33367 * include/pupa/powerpc/ieee1275/console.h: Likewise.
33368 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
33369 * include/pupa/powerpc/ieee1275/time.h: Likewise.
33370 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
33371 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
33372 * include/pupa/powerpc/ieee1275/loader.h
33373 * include/pupa/powerpc/setjmp.h: Likewise.
33374 * include/pupa/powerpc/types.h: Likewise.
33375 * kern/powerpc/ieee1275/init.c: Likewise.
33376 * kern/powerpc/ieee1275/openfw.c: Likewise.
33377 * term/powerpc/ieee1275/ofconsole.c: Likewise.
33378
33379 These files were written by Johan Rydberg
33380 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 33381
e56cdf21 33382 * boot/powerpc/ieee1275/cmain.c: New file.
33383 * boot/powerpc/ieee1275/crt0.S: Likewise.
33384 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
33385 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
33386
8c8cc205 333872004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
33388
33389 * Makefile.in: Update copyright.
33390 * genmodsrc.sh: Likewise.
33391 * gensymlist.sh: Likewise.
33392 * term/i386/pc/vga.c: Indent correctly.
33393
33394 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
33395 bugreporting address.
33396 * util/i386/pc/pupa-setup.c (usage): Likewise,
33397 (main): Call pupa_ext2_init and pupa_ext2_fini.
33398
f19dbdb7 33399 * fs/fat.c (log2): Renamed to ...
8c8cc205 33400 (fat_log2): ... this.
33401 All callers changed.
33402 * kern/misc.c (memcpy): Alias to pupa_memmove.
33403 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
33404 lvalue cast.
33405 * util/console.c (pupa_ncurses_fini): Return 0.
33406
33407 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
33408 Move fail label here.
33409 [__GNU__]: Don't warn when using stat.
33410 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
33411 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
33412 long int. Use strtol instead of strtoul.
f19dbdb7 33413
db1771cf 334142004-03-14 Marco Gerards <metgerards@student.han.nl>
33415
33416 * commands/boot.c: New file.
33417 * commands/cat.c: Likewise.
33418 * commands/cmp.c: Likewise.
33419 * commands/ls.c: Likewise.
33420 * commands/terminal.c: Likewise.
33421 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
33422 (pupa_register_command): Changed interface to match the new
33423 argument parser.
33424 (pupa_command_execute): Changed (almost rewritten) so it uses
33425 pupa_split_command. Added support for setting variables using the
33426 syntax `foo=bar'.
33427 (rescue_command): Changed to work with the new argument parser.
33428 (terminal_command): Moved from here to commands/terminal.c.
33429 (set_command): New function.
33430 (unset_command): New function.
33431 (insmod_command): New function.
33432 (rmmod_command): New function.
33433 (lsmod_command): New function.
33434 (pupa_command_init): Don't initialize the command terminal
33435 anymore. Initialize the commands set, unset, insmod, rmmod and
33436 lsmod.
33437 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
33438 (kernel_img_HEADERS): Add arg.h and env.h.
33439 (pupa_mkimage_LDFLAGS): Add kern/env.c.
33440 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
33441 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
33442 normal/arg.c.
33443 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
33444 terminal.mod.
33445 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
33446 (boot_mod_SOURCES): New variable.
33447 (terminal_mod_SOURCES): Likewise.
33448 (ls_mod_SOURCES): Likewise.
33449 (cmp_mod_SOURCES): Likewise.
33450 (cat_mod_SOURCES): Likewise.
33451
33452 * normal/arg.c: New file.
33453 * kern/env.c: Likewise.
33454 * include/pupa/arg.h: Likewise.
33455 * include/pupa/env.h: Likewise.
33456 * font/manager.c (font_command): Changed to match argument parsing
33457 interface changes.
33458 (PUPA_MOD_INIT): Likewise.
33459 * hello/hello.c (pupa_cmd_hello): Likewise.
33460 (PUPA_MOD_INIT): Likewise.
33461 * include/pupa/disk.h: Include <pupa/device.h>.
33462 (pupa_print_partinfo): New prototype.
33463 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
33464 (pupa_dl_get_prefix): Likewise.
33465 * include/pupa/misc.h: Include <pupa/err.h>.
33466 (pupa_isgraph): New prototype.
33467 (pupa_isdigit): Likewise.
33468 (pupa_split_cmdline): Likewise.
33469 * include/pupa/normal.h: Include <pupa/arg.h>.
33470 (pupa_command): Changed the prototype of the member `func' to
33471 match the argument parsing interface. Added member `options'.
33472 (pupa_register_command): Updated to match function.
33473 (pupa_arg_parse): New prototype.
33474 (pupa_hello_init) [PUPA_UTIL]: New prototype.
33475 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
33476 (pupa_ls_init) [PUPA_UTIL]: Likewise.
33477 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
33478 (pupa_cat_init) [PUPA_UTIL]: Likewise.
33479 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
33480 (pupa_boot_init) [PUPA_UTIL]: Likewise.
33481 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
33482 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
33483 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
33484 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
33485 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
33486 * kern/disk.c: Include <pupa/file.h>.
33487 (pupa_print_partinfo): New function.
33488 * kern/dl.c: Include <pupa/env.h>.
33489 (pupa_dl_dir): Variable removed.
33490 (pupa_dl_load): Use the environment variable `prefix' instead of
33491 the variable pupa_dl_dir.
33492 (pupa_dl_set_prefix): Function removed.
33493 (pupa_dl_get_prefix): Likewise.
33494 * kern/i386/pc/init.c: Include <pupa/env.h>.
33495 (pupa_machine_init): Use the environment variable `prefix' instead of
33496 using pupa_dl_set_prefix to set the prefix.
33497 * kern/main.c: Include <pupa/env.h>.
33498 (pupa_set_root_dev): Use the environment variable `prefix' instead of
33499 using pupa_dl_get_prefix to get the prefix.
33500 * kern/misc.c: Include <pupa/env.h>.
33501 (pupa_isdigit): New function.
33502 (pupa_isgraph): Likewise.
33503 (pupa_ftoa): Likewise.
33504 (pupa_vsprintf): Added support for printing values of the type
33505 `double'. Make it possible to format variable output when using
33506 formatting like `%1.2%f'.
33507 (pupa_split_cmdline): New function.
33508 * kern/rescue.c: Include <pupa/env.h>.
33509 (next_word): Removed function.
33510 (pupa_rescue_cmd_prefix): Likewise.
33511 (pupa_rescue_cmd_set): New function.
33512 (pupa_rescue_cmd_unset): New function.
33513 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
33514 split the command line instead of splitting it here. Added
33515 support for setting variables using the syntax `foo=bar'. Don't
33516 initialize the prefix command anymore. Initialized the set and
33517 unset commands.
33518 * normal/cmdline.c: Include <pupa/env.h>.
33519 (pupa_tab_complete): Added prototypes for print_simple_completion,
33520 print_partition_completion, add_completion, iterate_commands,
33521 iterate_dev, iterate_part and iterate_dir. Moved code to print
33522 partition information from here to kern/disk.c.
fe6b695a 33523 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 33524 * normal/main.c: Include <pupa/env.h>.
33525 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
33526 instead of using pupa_dl_get_prefix to get the prefix.
33527 * term/i386/pc/vga.c: Include <pupa/arg.h>.
33528 (check_vga_mem): Cast pointers to `void *' to silence a gcc
33529 warning.
33530 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
33531 (pupa_vga_setcolor): Declare unused variables with `__attribute__
33532 ((unused))' to silence a gcc warning.
33533 (pupa_vga_setcolor): Likewise.
33534 (debug_command): Changed to match argument parsing
33535 interface changes.
33536 * util/pupa-emu.c: Include <pupa/env.h>.
33537 (options): Added 0's for unused fields to silence a gcc warning.
33538 (argp): Likewise.
33539 (main): Use the environment variable `prefix' instead of using
33540 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
33541 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
33542 and terminal.
33543
33544 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
33545 * util/misc.c: Include <malloc.h>.
33546 (pupa_malloc): Rewritten so errors are correctly reported.
33547 (pupa_realloc): Likewise.
33548 (pupa_memalign): Likewise.
33549 (pupa_mm_init_region): Declare unused variables with
33550 `__attribute__ ((unused))' to silence a gcc warning.
33551 * normal/i386/setjmp.S: Remove tab at the end of the file to
33552 silence a gcc warning.
33553 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
33554 variables with `__attribute__ ((unused))' to silence a gcc
33555 warning.
33556 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
33557 local variable i unsigned to silence a gcc warning.
33558
33559 * kern/term.c: Include <pupa/misc.h>.
33560 (pupa_more_lines): New variable.
33561 (pupa_more): Likewise.
33562 (pupa_putcode): When the pager is active pause at the end of every
33563 screen.
33564 (pupa_set_more): New function.
33565 * include/pupa/term.h (pupa_set_more): New prototype.
33566
33567
3b1139cb 335682004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
33569
33570 Now this project is GRUB 2 rather than PUPA. The location of
33571 the CVS repository was moved to GRUB's.
f19dbdb7 33572
3b1139cb 33573 * configure.ac: Use bug-grub as the reporting address.
33574 Use GRUB instead of PUPA.
33575 Change the version number to 1.90.
33576
8367695c 335772004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
33578
33579 * genkernsyms.sh: Updated copyright information.
33580 * genmk.rb: Likewise.
33581 * genmodsrc.sh: Likewise.
33582 * gensymlist.sh: Likewise.
33583 * boot/i386/pc/boot.S: Likewise.
33584 * boot/i386/pc/diskboot.S: Likewise.
33585 * disk/i386/pc/biosdisk.c: Likewise.
33586 * disk/i386/pc/partition.c: Likewise.
33587 * font/manager.c: Likewise.
33588 * fs/ext2.c: Likewise.
33589 * fs/fat.c: Likewise.
33590 * include/pupa/boot.h: Likewise.
33591 * include/pupa/device.h: Likewise.
33592 * include/pupa/disk.h: Likewise.
33593 * include/pupa/dl.h: Likewise.
33594 * include/pupa/elf.h: Likewise.
33595 * include/pupa/err.h: Likewise.
33596 * include/pupa/file.h: Likewise.
33597 * include/pupa/font.h: Likewise.
33598 * include/pupa/fs.h: Likewise.
33599 * include/pupa/kernel.h: Likewise.
33600 * include/pupa/loader.h: Likewise.
33601 * include/pupa/misc.h: Likewise.
33602 * include/pupa/mm.h: Likewise.
33603 * include/pupa/net.h: Likewise.
33604 * include/pupa/normal.h: Likewise.
33605 * include/pupa/rescue.h: Likewise.
33606 * include/pupa/setjmp.h: Likewise.
33607 * include/pupa/symbol.h: Likewise.
33608 * include/pupa/term.h: Likewise.
33609 * include/pupa/types.h: Likewise.
33610 * include/pupa/i386/setjmp.h: Likewise.
33611 * include/pupa/i386/types.h: Likewise.
33612 * include/pupa/i386/pc/biosdisk.h: Likewise.
33613 * include/pupa/i386/pc/boot.h: Likewise.
33614 * include/pupa/i386/pc/console.h: Likewise.
33615 * include/pupa/i386/pc/init.h: Likewise.
33616 * include/pupa/i386/pc/kernel.h: Likewise.
33617 * include/pupa/i386/pc/linux.h: Likewise.
33618 * include/pupa/i386/pc/loader.h: Likewise.
33619 * include/pupa/i386/pc/memory.h: Likewise.
33620 * include/pupa/i386/pc/multiboot.h: Likewise.
33621 * include/pupa/i386/pc/partition.h: Likewise.
33622 * include/pupa/i386/pc/time.h: Likewise.
33623 * include/pupa/i386/pc/vga.h: Likewise.
33624 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
33625 * include/pupa/util/getroot.h: Likewise.
33626 * include/pupa/util/misc.h: Likewise.
33627 * include/pupa/util/resolve.h: Likewise.
33628 * kern/device.c: Likewise.
33629 * kern/disk.c: Likewise.
33630 * kern/dl.c: Likewise.
33631 * kern/err.c: Likewise.
33632 * kern/file.c: Likewise.
33633 * kern/fs.c: Likewise.
33634 * kern/loader.c: Likewise.
33635 * kern/main.c: Likewise.
33636 * kern/misc.c: Likewise.
33637 * kern/mm.c: Likewise.
33638 * kern/rescue.c: Likewise.
33639 * kern/term.c: Likewise.
33640 * kern/i386/dl.c: Likewise.
33641 * kern/i386/pc/init.c: Likewise.
33642 * kern/i386/pc/lzo1x.S: Likewise.
33643 * kern/i386/pc/startup.S: Likewise.
33644 * loader/i386/pc/chainloader.c: Likewise.
33645 * loader/i386/pc/linux.c: Likewise.
33646 * loader/i386/pc/multiboot.c: Likewise.
33647 * normal/cmdline.c: Likewise.
33648 * normal/command.c: Likewise.
33649 * normal/main.c: Likewise.
33650 * normal/menu.c: Likewise.
33651 * normal/i386/setjmp.S: Likewise.
33652 * term/i386/pc/console.c: Likewise.
33653 * term/i386/pc/vga.c: Likewise.
33654 * util/console.c: Likewise.
33655 * util/genmoddep.c: Likewise.
33656 * util/misc.c: Likewise.
33657 * util/pupa-emu.c: Likewise.
33658 * util/resolve.c: Likewise.
33659 * util/unifont2pff.rb: Likewise.
33660 * util/i386/pc/biosdisk.c: Likewise.
33661 * util/i386/pc/getroot.c: Likewise.
33662 * util/i386/pc/pupa-mkimage.c: Likewise.
33663 * util/i386/pc/pupa-setup.c: Likewise.
33664
e6eced71 336652004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
33666
33667 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
33668 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
33669 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
33670 reading and reset it after reading.
33671 (pupa_ext2_close): Return PUPA_ERR_NONE.
33672
33673 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
33674 Correct value.
33675 (struct linux_kernel_header): Add kernel_version and
33676 initrd_addr_max.
33677 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
33678 pupa_file_read succeeds.
33679 (pupa_rescue_cmd_initrd): Implement.
33680
5aded270 336812003-12-03 Marco Gerards <metgerards@student.han.nl>
33682
33683 * fs/ext2.c (pupa_ext2_label): New function.
33684 (pupa_ext2_fs): Added label.
33685 * fs/fat.c (pupa_fat_label): New function.
33686 (pupa_fat_fs): Added label.
33687 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
33688
33689 * kern/misc.c (pupa_strndup): New function.
33690 * include/pupa/misc.h (pupa_strndup): New prototype.
33691
33692 * include/pupa/normal.h: Include <pupa/err.h>.
33693 (pupa_set_history): New prototype.
33694 (pupa_iterate_commands): New prototype.
33695 * normal/cmdline.c: Include <pupa/machine/partition.h>,
33696 <pupa/disk.h>, <pupa/file.h>.
33697 (hist_size): New variable.
33698 (hist_lines): Likewise.
33699 (hist_end): Likewise.
33700 (hist_used): Likewise.
33701 (pupa_set_history): New function.
33702 (pupa_history_get): Likewise.
33703 (pupa_history_add): Likewise.
33704 (pupa_history_replace): Likewise.
33705 (pupa_tab_complete): Likewise.
33706 (pupa_cmdline_run): Added tab completion and history buffer. Tab
33707 completion shows partitionnames while completing partitions, this
33708 feature was suggested by Jeff Bailey.
33709 * normal/command.c (pupa_iterate_commands): New function.
33710 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
33711 (pupa_normal_init): Initialize history buffer.
33712 (PUPA_MOD_INIT): Likewise.
33713 (pupa_normal_fini): Free the history buffer.
33714 (PUPA_MOD_FINI): Likewise.
33715
33716 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
33717 key.
33718
33719 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
33720 * configure.ac [i386]: Check for regparam bug.
33721 (NESTED_FUNC_ATTR) [! i386]: Defined.
33722
1f7315a3 337232003-11-17 Marco Gerards <metgerards@student.han.nl>
33724
33725 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
33726 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
33727 (pupa_emu_SOURCES): New variable.
33728 (pupa_emu_LDFLAGS): Likewise.
33729 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
33730 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
33731 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
33732 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
33733 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
33734 (pupa_jmp_buf): New typedef.
33735 (pupa_setjmp) [PUPA_UTIL]: New macro.
33736 (pupa_longjmp) [PUPA_UTIL]: Likewise.
33737 * include/pupa/term.h (struct pupa_term): New member `refresh'.
33738 (pupa_refresh): New prototype.
33739 * include/pupa/util/getroot.h: New file.
33740 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
33741 it.
33742 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
33743 (pupa_rescue_cmd_cat): Likewise.
33744 (pupa_rescue_cmd_ls): Likewise.
33745 (pupa_rescue_cmd_testload): Likewise.
33746 (pupa_rescue_cmd_lsmod): Likewise.
33747 * normal/cmdline.c (pupa_cmdline_get): Likewise.
33748 * normal/menu.c (run_menu): Likewise.
33749 * kern/term.c (pupa_cls): Likewise.
33750 (pupa_refresh): New function.
33751 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
33752 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
33753 * util/console.c: New file.
f19dbdb7 33754
1f7315a3 33755 * util/i386/pc/getroot.c: New file.
33756 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
33757 (pupa_putchar): New function.
33758 (pupa_refresh): Likewise.
33759 (xgetcwd): Function moved to ...
33760 (strip_extra_slashes): Likewise.
33761 (get_prefix): Likewise.
f19dbdb7 33762 * util/i386/pc/getroot.c: ... here.
1f7315a3 33763 (find_root_device): Function moved and renamed to...
33764 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
33765 Changed all callers.
33766 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
33767 and renamed to...
33768 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
33769 Changed all callers.
33770 * util/misc.c (pupa_memalign): New function.
33771 (pupa_mm_init_region): Likewise.
33772 (pupa_register_exported_symbols): Likewise.
33773 (pupa_putchar): Function removed.
33774 * util/pupa-emu.c: New file.
33775
9a5c1ade 337762003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
33777
33778 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
33779 (_multiboot_mod_SOURCES): New variable.
33780 (_multiboot_mod_CFLAGS): Likewise.
33781 * loader/i386/pc/multiboot.c: New file.
33782 * include/pupa/i386/pc/multiboot.h: Likewise.
33783 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
33784 (pupa_multiboot_real_boot): New function.
33785 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
33786 (pupa_multiboot_real_boot): New prototype.
33787 (pupa_rescue_cmd_multiboot): Likewise
33788 (pupa_rescue_cmd_module): Likewise.
33789
33790 * kern/loader.c (pupa_loader_set): Continue when
33791 pupa_loader_unload_func() fails.
33792 (pupa_loader_unset): New function.
33793 * include/pupa/loader.h (pupa_loader_unset): New prototype.
33794
33795 * kern/misc.c (pupa_stpcpy): New function.
33796 * include/pupa/misc.h (pupa_stpcpy): New prototype.
33797
8e72a9c0 337982003-11-12 Marco Gerards <metgerards@student.han.nl>
33799
33800 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
33801 for available extensions.
33802
33803 * include/pupa/i386/pc/time.h: New file.
33804 * kern/disk.c: Include <pupa/machine/time.h>.
33805 (PUPA_CACHE_TIMEOUT): New macro.
33806 (pupa_last_time): New variable.
33807 (pupa_disk_open): Flush the cache when there was a timeout.
33808 (pupa_disk_close): Reset the timer.
33809 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
33810 pupa_currticks.
33811 * util/misc.c: Include <sys/times.h>
33812 (pupa_get_rtc): New function.
33813
c4adbd32 338142003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33815
33816 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
33817 as blocks.
33818 (pupa_ext2_get_file_block): Use blocks member.
33819
33820 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
33821 first block. Return -1 instead of pupa_errno on error.
33822
bfd30f06 338232003-10-27 Marco Gerards <metgerards@student.han.nl>
33824
33825 * README: In the pupa-mkimage example use _chain instead of chain
33826 and ext2 instead of fat.
33827 * TODO: Replace ext2fs with jfs as an example. Add an item for
33828 adding journal playback for ext2fs.
33829 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
33830 (pkgdata_MODULES): Added ext2.mod.
33831 (ext2_mod_SOURCES): New variable.
33832 (ext2_mod_CFLAGS): Likewise.
33833 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
33834 * include/pupa/misc.h (pupa_strncpy): New prototype.
33835 (pupa_strcat): Likewise.
33836 (pupa_strncmp): Likewise.
33837 * kern/misc.c (pupa_strcat): Enable function.
33838 (pupa_strncpy): New function.
33839 (pupa_strncmp): Likewise.
33840 * fs/ext2.c: New file.
f19dbdb7 33841
bfd30f06 33842 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
33843 when the read failed before retrying.
33844 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
33845 (_FILE_OFFSET_BITS): Likewise.
33846 * configure.ac: Added AC_SYS_LARGEFILE.
33847
98d15063 338482003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
33849
33850 * genmk.rb (PModule#rule): Make sure to get only symbol names
33851 from the output of nm.
59cad637 33852 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 33853
18d9c7cd 338542003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
33855
33856 I forgot to check in these changes for a long time. This adds
33857 incomplete support for VGA console, and this is still very
33858 buggy. Also, a lot of consideration is required for I18N,
33859 UNICODE, and VGA font issues. Therefore, assume that this is
33860 such that "better than nothing".
f19dbdb7 33861
18d9c7cd 33862 * font/manager.c: New file.
33863 * include/pupa/font.h: Likewise.
33864 * include/pupa/i386/pc/vga.h: Likewise.
33865 * term/i386/pc/vga.c: Likewise.
33866 * util/unifont2pff.rb: Likewise.
33867
33868 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
33869 (pkgdata_MODULES): Added vga.mod and font.mod.
33870 (vga_mod_SOURCES): New variables.
33871 (vga_mod_CFLAGS): Likewise.
33872 (font_mod_SOURCES): Likewise.
33873 (font_mod_CFLAGS): Likewise.
33874
33875 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
33876
33877 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 33878 (struct pupa_term): Added init and fini.
18d9c7cd 33879 Changed the argument of putchar to pupa_uint32_t.
33880
33881 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
33882 (pupa_console_real_putchar): New prototype.
33883 (pupa_console_putchar): Removed.
33884 (pupa_console_checkkey): Exported.
33885 (pupa_console_getkey): Likewise.
33886
33887 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
33888 characters.
33889
33890 * kern/term.c (pupa_term_set_current): Rewritten.
33891 (pupa_putchar): Likewise.
33892 (pupa_putcode): New function.
33893
33894 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
33895 (pupa_console_real_putchar): ... this.
33896 (pupa_vga_set_mode): New function.
33897 (pupa_vga_get_font): Likewise.
33898
33899 * normal/command.c: Include pupa/term.h.
33900 (terminal_command): New function.
33901 (pupa_command_init): Register the command "terminal".
33902
33903 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
33904 (DISP_UP): Likewise.
33905 (DISP_RIGHT): Likewise.
33906 (DISP_DOWN): Likewise.
33907 (DISP_HLINE): Likewise.
33908 (DISP_VLINE): Likewise.
33909 (DISP_UL): Likewise.
33910 (DISP_UR): Likewise.
33911 (DISP_LL): Likewise.
33912 (DISP_LR): Likewise.
33913
33914 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 33915
977329f5 339162003-02-08 NIIBE Yutaka <gniibe@m17n.org>
33917
33918 * util/resolve.c (pupa_util_resolve_dependencies): BUG
33919 FIX. Reverse the path_list.
33920
33921 * include/pupa/normal.h: Export pupa_register_command and
33922 pupa_unregister_command.
33923
33924 * hello/hello.c (pupa_cmd_hello): New module.
33925 * conf/i386-pc.rmk: Added hello.mod.
33926
1f5ab428 339272003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
33928
33929 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 33930
1f5ab428 33931 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
33932 (compress_kernel): New variable.
33933 (generate_image): Heavily modified to support compressing a
33934 large part of the core image.
33935
33936 * util/misc.c (pupa_util_read_image): Fix a file descriptor
33937 leak.
33938 (pupa_util_load_image): New function.
33939
33940 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
33941 (pupa_compressed_size): New variable.
33942 (codestart): Enable Gate A20 here.
33943 Decompress the compressed part of the core image.
33944 Rearrange the code to put functions and variables which are
33945 required for initialization in the non-compressed part.
33946 Include lzo1x.S.
33947
33948 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
33949 here.
33950
33951 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
33952
f19dbdb7 33953 * include/pupa/i386/pc/kernel.h
1f5ab428 33954 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
33955 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
33956 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
33957 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
33958 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
33959
33960 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
33961
33962 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
33963 (Utility#rule): Likewise.
33964
33965 * configure.ac: Check if LZO is available.
33966
ce5bf700 339672003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
33968
33969 * include/pupa/normal.h: New file.
33970 * include/pupa/setjmp.h: Likewise.
33971 * include/pupa/i386/setjmp.h: Likewise.
33972 * normal/cmdline.c: Likewise.
33973 * normal/command.c: Likewise.
33974 * normal/main.c: Likewise.
33975 * normal/menu.c: Likewise.
33976 * normal/i386/setjmp.S: Likewise.
f19dbdb7 33977
ce5bf700 33978 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
33979 (pupa_rescue_cmd_initrd): Likewise.
33980
33981 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
33982 Likewise.
33983
33984 * kern/i386/pc/startup.S (translation_table): New variable.
33985 (translate_keycode): New function.
33986 (pupa_console_getkey): Call translate_keycode.
33987
33988 * kern/rescue.c (attempt_normal_mode): New function.
33989 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
33990 it failed, print a message.
33991
33992 * kern/mm.c (pupa_real_malloc): Print more information when a
33993 free magic is broken.
33994 (pupa_free): If the first free header is not free actually, set
33995 it to P.
33996
33997 * kern/main.c (pupa_load_normal_mode): Just load the module
33998 "normal".
33999 (pupa_main): Don't print the message
34000 "Entering into rescue mode..." here.
34001
34002 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
34003 Declared.
34004 (pupa_rescue_cmd_initrd): Likewise.
34005 (pupa_rescue_cmd_initrd): Likewise.
34006
34007 * include/pupa/symbol.h (FUNCTION): Specify the type.
34008 (VARIABLE): Likewise.
34009
34010 * include/pupa/err.h (pupa_err_t): Added
34011 PUPA_ERR_UNKNOWN_COMMAND.
34012
34013 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
34014 (pupa_dl_get_prefix): Likewise.
34015
34016 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
34017 Added _chain.mod and _linux.mod instead of chain.mod and
34018 linux.mod.
34019 (chain_mod_SOURCES): Renamed to ...
34020 (_chain_mod_SOURCES): ... this.
34021 (chain_mod_CFLAGS): Renamed to ...
34022 (_chain_mod_CFLAGS): ... this.
34023 (linux_mod_SOURCES): Renamed to ...
34024 (_linux_mod_SOURCES): ... this.
34025 (linux_mod_CFLAGS): Renamed to ...
34026 (_linux_mod_CFLAGS): ... this.
34027 (normal_mod_SOURCES): New variable.
34028 (normal_mod_CFLAGS): Likewise.
34029 (normal_mod_ASFLAGS): Likewise.
34030
340312003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
34032
34033 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
34034 possible.
34035
fe6b695a 34036 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 34037 recursively.
34038 (pupa_dl_unref): Unrefer depending modules recursively.
34039 Don't call pupa_dl_unload implicitly, because PUPA can crash if
34040 a module is unloaded before one depending on that module is
34041 unloaded.
34042 (pupa_dl_unload): Unload depending modules explicitly,
34043 if possible.
34044
c04da074 340452003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
34046
34047 * include/pupa/i386/pc/linux.h: New file.
34048 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 34049
c04da074 34050 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
34051 Removed.
34052 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
34053 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
34054 of PUPA_CHAINLOADER_BOOT_SECTOR.
34055
34056 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
34057 (pupa_linux_prot_size): New variable.
34058 (pupa_linux_tmp_addr): Likewise.
34059 (pupa_linux_real_addr): Likewise.
34060 (pupa_linux_boot_zimage): New function.
34061 (pupa_linux_boot_bzimage): Likewise.
34062
34063 * kern/i386/pc/init.c (struct mem_region): New structure.
34064 (MAX_REGIONS): New macro.
34065 (mem_regions): New variable.
34066 (num_regions): Likewise.
34067 (pupa_os_area_addr): Likewise.
34068 (pupa_os_area_size): Likewise.
34069 (pupa_lower_mem): Likewise.
34070 (pupa_upper_mem): Likewise.
34071 (add_mem_region): New function.
34072 (compact_mem_regions): Likewise.
34073 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
34074 the size of the conventional memory and that of so-called upper
34075 memory (before the first memory hole).
34076 Instead of adding each found region to free memory, use
34077 add_mem_region and add them after removing overlaps.
34078 Also, add only 1/4 of the upper memory to free memory. The rest
34079 is used for loading OS images. Maybe this is ad hoc, but this
34080 makes it much easier to relocate OS images when booting.
34081
34082 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
34083 (pupa_enter_rescue_mode): Don't register initrd and module.
34084
34085 * kern/mm.c: Include pupa/dl.h.
34086
34087 * kern/main.c: Include pupa/file.h and pupa/device.h.
34088
34089 * kern/loader.c (pupa_loader_load_module_func): Removed.
34090 (pupa_loader_load_module): Likewise.
34091
34092 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
34093 ``.o''.
34094
34095 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
34096 (pupa_linux_tmp_addr): Likewise.
34097 (pupa_linux_real_addr): Likewise.
34098 (pupa_linux_boot_zimage): Likewise.
34099 (pupa_linux_boot_bzimage): Likewise.
34100
34101 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
34102 (pupa_upper_mem): Likewise.
34103 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
34104 module is too dangerous.
34105
34106 * include/pupa/loader.h (pupa_os_area_addr): Declared.
34107 (pupa_os_area_size): Likewise.
34108 (pupa_loader_set): Remove the first argument. Loader doesn't
34109 manage modules or initrd any longer.
34110 (pupa_loader_load_module): Removed.
34111
34112 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
34113 (linux_mod_SOURCES): New variable.
34114 (linux_mod_CFLAGS): Likewise.
34115
a13f9237 341162003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
34117
34118 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
34119 the length of a blocklist correctly.
34120
34121 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
34122 Use ioctl only if the OS file is a block device.
34123 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
34124 not very useful for normal files.
34125
34126 * kern/main.c (pupa_set_root_dev): New function.
34127 (pupa_load_normal_mode): Likewise.
34128 (pupa_main): Call those above.
34129
34130 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
34131 pupa_uint16_t.
34132
34133 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
34134
a5ffe966 341352003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34136
34137 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
34138 (setup): Configure the installed partition information and the
34139 dl prefix.
34140
34141 * loader/i386/pc/chainloader.c (my_mod): New variable.
34142 (pupa_chainloader_unload): New function.
34143 (pupa_rescue_cmd_chainloader): Refer itself.
34144 (PUPA_MOD_INIT): Save its own module in MY_MOD.
34145
34146 * kern/i386/pc/startup.S (install_partition): Removed.
34147 (version_string): Likewise.
34148 (config_file): Likewise.
34149 (pupa_install_dos_part): New variable.
34150 (pupa_install_bsd_part): Likewise.
34151 (pupa_prefix): Likewise.
34152 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
34153
34154 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
34155 and pupa/misc.h.
34156 (make_install_device): New function.
34157 (pupa_machine_init): Set the dl prefix.
34158
34159 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
34160 (buf): Renamed to ...
34161 (linebuf): ... this.
34162 (pupa_rescue_cmd_prefix): New function.
34163 (pupa_rescue_cmd_insmod): Likewise.
34164 (pupa_rescue_cmd_rmmod): Likewise.
34165 (pupa_rescue_cmd_lsmod): Likewise.
34166 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
34167 rmmod and lsmod.
34168
34169 * kern/mm.c (pupa_memalign): If failed even after invalidating
34170 disk caches, unload unneeded modules and retry.
34171
34172 * kern/misc.c (pupa_memmove): New function.
34173 (pupa_memcpy): Removed.
34174 (pupa_strcpy): New function.
34175 (pupa_itoa): Made static.
34176
34177 * kern/dl.c (pupa_dl_iterate): New function.
34178 (pupa_dl_ref): Likewise.
34179 (pupa_dl_unref): Likewise.
34180 (pupa_dl_unload): Return if succeeded or not.
34181 (pupa_dl_unload_unneeded): New function.
34182 (pupa_dl_unload_all): Likewise.
34183 (pupa_dl_init): Renamed to ...
34184 (pupa_dl_set_prefix): ... this.
34185 (pupa_dl_get_prefix): New function.
34186
34187 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
34188 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
34189 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34190 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34191 (pupa_install_dos_part): Declared.
34192 (pupa_install_bsd_part): Likewise.
34193 (pupa_prefix): Likewise.
34194 (pupa_boot_drive): Likewise.
34195
34196 * include/pupa/types.h: Fix a typo.
34197
34198 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
34199 pupa_memmove.
34200 (pupa_memmove): Declared.
34201 (pupa_strcpy): Likewise.
34202
34203 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
34204 pupa_mod_init takes one argument, its own module.
34205 (pupa_dl_unload_unneeded): Declared.
34206 (pupa_dl_unload_all): Likewise.
34207 (pupa_dl_ref): Likewise.
34208 (pupa_dl_unref): Likewise.
34209 (pupa_dl_iterate): Likewise.
34210 (pupa_dl_init): Renamed to ...
34211 (pupa_dl_set_prefix): ... this.
34212 (pupa_dl_get_prefix): Declared.
34213
34214 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 34215 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 34216 unloaded.
34217 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
34218 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
34219
34220 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
34221 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
34222
012d7999 342232003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34224
34225 * util/i386/pc/pupa-setup.c (setup): Define the internal
34226 function find_first_partition_start at the top level, because GCC
34227 3.0.x cannot compile internal functions in deeper scopes
34228 correctly.
34229 (find_root_device): Use lstat instead of stat.
34230 Don't follow symbolic links.
34231 Fix the path-constructing code.
34232
34233 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
34234 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
34235 by a BLKGETSIZE ioctl first, because block devices don't fill
34236 the member st_mode of the structure stat on Linux.
34237 [__linux__] (linux_find_partition): Use a temporary buffer
34238 REAL_DEV for the working space. Copy it to DEV before returning.
34239 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
34240 buffer cache consistent.
34241 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
34242 strncmp. The previous value was merely wrong.
34243 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
34244
34245 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
34246 FAT size is 12. The previous value was merely wrong.
34247
34248 * kern/main.c (pupa_main): Don't split the starting message from
34249 newlines.
34250
34251 * kern/term.c (pupa_putchar): Put CR after LF instead of before
34252 LF, because BIOS goes crazy about character attributes in this
34253 case.
34254
1cc73a62 342552003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34256
34257 * include/i386/pc/util/biosdisk.h: New file.
34258 * util/i386/pc/biosdisk.c: Likewise.
34259 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 34260
1cc73a62 34261 * Makefile.in (INCLUDE_DISTFILES): Added
34262 include/pupa/i386/pc/util/biosdisk.h.
34263 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
34264 directory util/i386/pc.
34265 (install-local): Added a rule for sbin_UTILITIES.
34266 (uninstall): Likewise.
34267
34268 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
34269
34270 * util/misc.c (xrealloc): New function.
34271 (pupa_malloc): Likewise.
34272 (pupa_free): Likewise.
34273 (pupa_realloc): Likewise.
34274 (pupa_stop): Likewise.
34275 (pupa_putchar): Likewise.
34276
34277 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
34278
34279 * include/pupa/util/misc.h (xrealloc): Declared.
34280
34281 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
34282 macro.
34283 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
34284 (PUPA_BOOT_MACHINE_BPB_END): ... this.
34285
34286 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
34287 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34288
34289 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
34290 way should be implemented.
34291 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34292
34293 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
34294 the size of NAME for safety.
34295 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
34296 0x88.
34297
34298 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
34299 (pupa_setup_SOURCES): Likewise.
34300
34301 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
34302
08b70fe8 343032002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34304
34305 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
34306 bunch of pushl's from pusha, because this destroys the return
34307 value.
34308
62ddcc8f 343092002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34310
34311 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
34312 This means that any missing prototypes could be fatal. Also, you
34313 must take care when writing assembly code. See the comments at
34314 the beginning of startup.S, for more details.
f19dbdb7 34315
62ddcc8f 34316 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
34317 compilation mechanism.
34318 (pupa_chainloader_real_boot): Likewise.
34319 (pupa_biosdisk_rw_int13_extensions): Likewise.
34320 (pupa_biosdisk_rw_standard): Likewise.
34321 (pupa_biosdisk_check_int13_extensions): Likewise.
34322 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
34323 (pupa_biosdisk_get_diskinfo_standard): Likewise.
34324 (pupa_get_memsize): Likewise.
34325 (pupa_get_mmap_entry): Likewise.
34326 (pupa_console_putchar): Likewise.
34327 (pupa_console_setcursor): Likewise.
34328 (pupa_getrtsecs): Use pushl instead of push.
34329
34330 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
34331 memory instead of the stack for a mmap entry, because some
34332 BIOSes may ignore the maximum size and overflow.
34333
34334 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
34335
34336 * genmk.rb (PModule#rule): Compile automatically generated
34337 sources with module-specific CFLAGS as well as other sources.
34338
9962ed99 343392002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34340
34341 * configure.ac: Check ld.
34342 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
34343 respectively, before checking endianness and sizes.
34344
34345 * Makefile.in (LD): New variable.
f19dbdb7 34346
abdfc3c5 343472002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34348
34349 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
34350
6a161fa9 343512002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34352
34353 * Changelog: New file.
34354